diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b263e4a..36227fe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,6 @@ jobs: - name: Build Electron run: | pnpm install - pnpm run build pnpm run build:electron --${{ matrix.platform }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README-EN.md b/README-EN.md index 64cb53b..7dd4843 100644 --- a/README-EN.md +++ b/README-EN.md @@ -53,23 +53,23 @@ OGame Vue TS is a single-player, browser-based space strategy game inspired by t #### Server version -[Windows](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-windows-amd64.exe) +[Windows](/releases/latest/download/ogame-windows-amd64.exe) -[Linux amd64](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-linux-amd64) +[Linux amd64](/releases/latest/download/ogame-linux-amd64) -[Linux arm64](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-linux-arm64) +[Linux arm64](/releases/latest/download/ogame-linux-arm64) -[MacOS Intel](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-macos-amd64) +[MacOS Intel](/releases/latest/download/ogame-macos-amd64) -[MacOS](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-macos-arm64) +[MacOS](/releases/latest/download/ogame-macos-arm64) #### Desktop version -[Windows](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame.Setup.exe) +[Windows](/releases/latest/download/OGame.Setup.exe) -[Ubuntu](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame.AppImage) +[Ubuntu](/releases/latest/download/OGame.AppImage) -[MacOS](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame-mac.dmg) +[MacOS](/releases/latest/download/OGame-mac.dmg) ### Prerequisites diff --git a/README.md b/README.md index 7841b52..a7d82de 100644 --- a/README.md +++ b/README.md @@ -53,23 +53,23 @@ OGame Vue TS 是一款受经典 OGame 游戏启发的单机版、基于浏览器 #### 服务端 -[Windows](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-windows-amd64.exe) +[Windows](/releases/latest/download/ogame-windows-amd64.exe) -[Linux amd64](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-linux-amd64) +[Linux amd64](/releases/latest/download/ogame-linux-amd64) -[Linux arm64](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-linux-arm64) +[Linux arm64](/releases/latest/download/ogame-linux-arm64) -[MacOS Intel](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-macos-amd64) +[MacOS Intel](/releases/latest/download/ogame-macos-amd64) -[MacOS](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/ogame-macos-arm64) +[MacOS](/releases/latest/download/ogame-macos-arm64) #### 桌面版 -[Windows](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame.Setup.exe) +[Windows](/releases/latest/download/OGame.Setup.exe) -[Ubuntu](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame.AppImage) +[Ubuntu](/releases/latest/download/OGame.AppImage) -[MacOS](https://github.com/coolxitech/ogame-vue-ts/releases/latest/download/OGame-mac.dmg) +[MacOS](/releases/latest/download/OGame-mac.dmg) ### 环境要求 diff --git a/docs/assets/AlertDialog-CiXBEnQ0.js b/docs/assets/AlertDialog-CiXBEnQ0.js deleted file mode 100644 index 74c8e5e..0000000 --- a/docs/assets/AlertDialog-CiXBEnQ0.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Dt as n,Kt as r,Mt as i,Nt as a,On as o,Ot as s,hn as c,in as l,jt as u,kt as d,wt as f}from"./game-logic-CfBcTF_c.js";import{M as p,P as m}from"./index-DWmvUlvu.js";var h={key:0,class:`fixed inset-0 z-50 flex items-center justify-center`},g={class:`relative bg-card border rounded-lg shadow-lg p-6 max-w-md w-full mx-4 z-10`},_={class:`text-lg font-semibold mb-2`},v={class:`text-sm text-muted-foreground mb-6 whitespace-pre-line`},y={class:`flex justify-end gap-2`},b=a({__name:`AlertDialog`,setup(a,{expose:b}){let{t:x}=m(),S=c(!1),C=c(null),w=e=>{C.value=e,S.value=!0},T=()=>{C.value?.onConfirm&&C.value.onConfirm(),S.value=!1},E=()=>{S.value=!1};return b({show:w}),(a,c)=>(r(),s(f,{to:`body`},[S.value?(r(),e(`div`,h,[n(`div`,{class:`fixed inset-0 bg-black/50`,onClick:E}),n(`div`,g,[n(`h2`,_,o(C.value?.title),1),n(`p`,v,o(C.value?.message),1),n(`div`,y,[C.value?.onConfirm?(r(),s(t(p),{key:0,onClick:E,variant:`outline`},{default:l(()=>[u(o(t(x)(`common.cancel`)),1)]),_:1})):d(``,!0),i(t(p),{onClick:T,variant:`default`},{default:l(()=>[u(o(t(x)(`common.confirm`)),1)]),_:1})])])])):d(``,!0)]))}});export{b as t}; \ No newline at end of file diff --git a/docs/assets/BattleReportDialog-CGjL16c6.js b/docs/assets/BattleReportDialog-CGjL16c6.js new file mode 100644 index 0000000..e9a81df --- /dev/null +++ b/docs/assets/BattleReportDialog-CGjL16c6.js @@ -0,0 +1 @@ +import{$t as e,Cn as t,En as n,Gn as r,Gt as i,Jt as a,Ln as o,Qt as s,Xn as c,Xt as l,Yt as u,Zt as d,en as f,gn as p,mn as m,qn as ee,tn as h}from"./game-logic-Bi1l7y4K.js";import{a as te,c as ne,p as re}from"./vendor-icons-z9V6Jdbh.js";import{t as ie}from"./TooltipProvider-BwjgS8_x.js";import{A as ae,F as g,I as _,K as oe,M as se,N as v,O as ce,P as y,W as le,d as ue,f as b,j as de,k as x,n as S,q as C}from"./index-BT5w6et-.js";import{t as w}from"./useGameConfig-b98LOtBY.js";var T={key:0,class:`space-y-4`},E={class:`grid grid-cols-1 md:grid-cols-2 gap-4 text-sm`},D={class:`p-3 bg-blue-50 dark:bg-blue-950/20 rounded-lg`},O={class:`font-medium text-blue-600 dark:text-blue-400 mb-1`},k={key:0,class:`text-xs text-muted-foreground`},A={key:1,class:`text-xs text-muted-foreground`},j={class:`p-3 bg-red-50 dark:bg-red-950/20 rounded-lg`},M={class:`font-medium text-red-600 dark:text-red-400 mb-1`},N={key:0,class:`text-xs text-muted-foreground`},P={key:1,class:`text-xs text-muted-foreground`},F={class:`text-lg font-bold`},I={key:0,class:`text-sm mt-1`},L={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},R={class:`space-y-2`},z={class:`text-sm font-medium text-red-600 dark:text-red-400`},B={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},V={class:`text-muted-foreground`},H={class:`ml-2 font-medium`},fe={key:0,class:`text-muted-foreground`},pe={class:`space-y-2`},me={class:`text-sm font-medium text-red-600 dark:text-red-400`},he={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},ge={class:`text-muted-foreground`},_e={class:`ml-2 font-medium`},ve={class:`text-muted-foreground`},ye={class:`ml-2 font-medium`},be={key:0,class:`text-muted-foreground`},xe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Se={key:0,class:`space-y-2`},Ce={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},we={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Te={class:`text-muted-foreground`},Ee={class:`ml-2 font-medium`},De={key:1,class:`space-y-2`},Oe={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},ke={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Ae={class:`text-muted-foreground`},je={class:`ml-2 font-medium`},Me={class:`text-muted-foreground`},Ne={class:`ml-2 font-medium`},Pe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Fe={key:0,class:`p-3 bg-green-50 dark:bg-green-950 rounded-lg`},Ie={class:`text-sm font-medium mb-2 text-green-600 dark:text-green-400`},Le={class:`flex flex-wrap gap-3 text-xs`},Re={key:0,class:`flex items-center gap-1`},ze={key:1,class:`flex items-center gap-1`},Be={key:2,class:`flex items-center gap-1`},Ve={key:1,class:`p-3 bg-muted rounded-lg`},He={class:`text-sm font-medium mb-2`},Ue={class:`flex flex-wrap gap-3 text-xs`},We={key:0,class:`flex items-center gap-1`},Ge={key:1,class:`flex items-center gap-1`},Ke={key:0,class:`text-xs text-muted-foreground mt-2`},qe={key:1,class:`space-y-2`},Je={key:0,class:`relative pl-6 space-y-4`},Ye={class:`border rounded-lg p-3 bg-card hover:shadow-md transition-shadow`},Xe={class:`flex items-center justify-between mb-3`},Ze={class:`text-sm font-semibold`},Qe={class:`flex gap-3 text-xs text-muted-foreground`},$e={class:`flex items-center gap-1`},et={class:`flex items-center gap-1`},tt={class:`grid grid-cols-1 md:grid-cols-2 gap-3`},nt={class:`bg-red-50 dark:bg-red-950/20 rounded p-2`},rt={class:`text-xs font-medium text-red-600 dark:text-red-400 mb-1.5`},it={class:`text-xs space-y-0.5`},at={class:`text-muted-foreground`},ot={class:`font-medium`},st={key:0,class:`text-muted-foreground italic`},ct={class:`bg-blue-50 dark:bg-blue-950/20 rounded p-2`},lt={class:`text-xs font-medium text-blue-600 dark:text-blue-400 mb-1.5`},ut={class:`text-xs space-y-0.5`},dt={class:`text-muted-foreground`},U={class:`font-medium`},ft={class:`text-muted-foreground`},pt={class:`font-medium`},mt={key:0,class:`text-muted-foreground italic`},W=h({__name:`BattleReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(h,{emit:W}){let G=h,ht=W,K=C(),gt=S(),{t:q}=oe(),{SHIPS:J,DEFENSES:Y}=w(),X=o(G.open),Z=o(!1),Q=a(()=>G.report?K.player.planets.find(e=>e.id===G.report.attackerPlanetId):null),$=a(()=>G.report?K.player.planets.find(e=>e.id===G.report.defenderPlanetId)||Object.values(gt.planets).find(e=>e.id===G.report.defenderPlanetId):null);t(()=>G.open,e=>{X.value=e,e&&(Z.value=!1)}),t(X,e=>{ht(`update:open`,e)});let _t=e=>e===`attacker`?`bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-300`:e===`defender`?`bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300`:`bg-gray-50 dark:bg-gray-950 text-gray-700 dark:text-gray-300`;return(t,a)=>(m(),l(r(se),{open:X.value,"onUpdate:open":a[1]||=e=>X.value=e},{default:n(()=>[f(r(x),{"container-class":`sm:max-w-4xl max-h-[90vh]`},{header:n(()=>[f(r(ae),null,{default:n(()=>[f(r(ce),{class:`flex items-center gap-2`},{default:n(()=>[f(r(te),{class:`h-5 w-5`}),e(` `+c(r(q)(`messagesView.battleReport`)),1)]),_:1}),h.report?(m(),l(r(de),{key:0},{default:n(()=>[e(c(r(ue)(h.report.timestamp)),1)]),_:1})):d(``,!0)]),_:1})]),default:n(()=>[h.report?(m(),s(`div`,T,[u(`div`,E,[u(`div`,D,[u(`p`,O,c(r(q)(`simulatorView.attacker`)),1),Q.value?(m(),s(`p`,k,c(Q.value.name)+` [`+c(Q.value.position.galaxy)+`:`+c(Q.value.position.system)+`:`+c(Q.value.position.position)+`] `,1)):(m(),s(`p`,A,c(h.report.attackerPlanetId),1))]),u(`div`,j,[u(`p`,M,c(r(q)(`simulatorView.defender`)),1),$.value?(m(),s(`p`,N,c($.value.name)+` [`+c($.value.position.galaxy)+`:`+c($.value.position.system)+`:`+c($.value.position.position)+`] `,1)):(m(),s(`p`,P,c(h.report.defenderPlanetId),1))])]),u(`div`,{class:ee([`text-center p-4 rounded-lg`,_t(h.report.winner)])},[u(`p`,F,c(h.report.winner===`attacker`?r(q)(`messagesView.victory`):h.report.winner===`defender`?r(q)(`messagesView.defeat`):r(q)(`messagesView.draw`)),1),h.report.rounds?(m(),s(`p`,I,c(r(q)(`simulatorView.afterRounds`).replace(`{rounds}`,String(h.report.rounds))),1)):d(``,!0)],2),u(`div`,L,[u(`div`,R,[u(`p`,z,c(r(q)(`messagesView.attackerLosses`)),1),u(`div`,B,[(m(!0),s(i,null,p(h.report.attackerLosses,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,V,c(r(J)[t].name)+`:`,1),u(`span`,H,c(e),1)]))),128)),Object.keys(h.report.attackerLosses).length===0?(m(),s(`p`,fe,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])]),u(`div`,pe,[u(`p`,me,c(r(q)(`messagesView.defenderLosses`)),1),u(`div`,he,[(m(!0),s(i,null,p(h.report.defenderLosses.fleet,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,ge,c(r(J)[t].name)+`:`,1),u(`span`,_e,c(e),1)]))),128)),(m(!0),s(i,null,p(h.report.defenderLosses.defense,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,ve,c(r(Y)[t].name)+`:`,1),u(`span`,ye,c(e),1)]))),128)),Object.keys(h.report.defenderLosses.fleet).length===0&&Object.keys(h.report.defenderLosses.defense).length===0?(m(),s(`p`,be,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])])]),h.report.attackerRemaining||h.report.defenderRemaining?(m(),s(`div`,xe,[h.report.attackerRemaining&&Object.keys(h.report.attackerRemaining).length>0?(m(),s(`div`,Se,[u(`p`,Ce,c(r(q)(`messagesView.attackerRemaining`)),1),u(`div`,we,[(m(!0),s(i,null,p(h.report.attackerRemaining,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Te,c(r(J)[t].name)+`:`,1),u(`span`,Ee,c(e),1)]))),128))])])):d(``,!0),h.report.defenderRemaining&&(Object.keys(h.report.defenderRemaining.fleet||{}).length>0||Object.keys(h.report.defenderRemaining.defense||{}).length>0)?(m(),s(`div`,De,[u(`p`,Oe,c(r(q)(`messagesView.defenderRemaining`)),1),u(`div`,ke,[(m(!0),s(i,null,p(h.report.defenderRemaining.fleet,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Ae,c(r(J)[t].name)+`:`,1),u(`span`,je,c(e),1)]))),128)),(m(!0),s(i,null,p(h.report.defenderRemaining.defense,(e,t)=>(m(),s(`div`,{key:t},[u(`span`,Me,c(r(Y)[t].name)+`:`,1),u(`span`,Ne,c(e),1)]))),128))])])):d(``,!0)])):d(``,!0),u(`div`,Pe,[h.report.plunder&&(h.report.plunder.metal>0||h.report.plunder.crystal>0||h.report.plunder.deuterium>0)?(m(),s(`div`,Fe,[u(`p`,Ie,c(r(q)(`messagesView.plunder`)),1),u(`div`,Le,[h.report.plunder.metal>0?(m(),s(`span`,Re,[f(v,{type:`metal`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.metal)),1)])):d(``,!0),h.report.plunder.crystal>0?(m(),s(`span`,ze,[f(v,{type:`crystal`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.crystal)),1)])):d(``,!0),h.report.plunder.deuterium>0?(m(),s(`span`,Be,[f(v,{type:`deuterium`,size:`sm`}),e(` `+c(r(b)(h.report.plunder.deuterium)),1)])):d(``,!0)])])):d(``,!0),h.report.debrisField&&(h.report.debrisField.metal>0||h.report.debrisField.crystal>0)?(m(),s(`div`,Ve,[u(`p`,He,c(r(q)(`messagesView.debrisField`)),1),u(`div`,Ue,[h.report.debrisField.metal>0?(m(),s(`span`,We,[f(v,{type:`metal`,size:`sm`}),e(` `+c(r(b)(h.report.debrisField.metal)),1)])):d(``,!0),h.report.debrisField.crystal>0?(m(),s(`span`,Ge,[f(v,{type:`crystal`,size:`sm`}),e(` `+c(r(b)(h.report.debrisField.crystal)),1)])):d(``,!0)]),h.report.moonChance&&h.report.moonChance>0?(m(),s(`p`,Ke,c(r(q)(`messagesView.moonChance`))+`: `+c((h.report.moonChance*100).toFixed(1))+`% `,1)):d(``,!0)])):d(``,!0)]),h.report.roundDetails&&h.report.roundDetails.length>0?(m(),s(`div`,qe,[f(r(le),{onClick:a[0]||=e=>Z.value=!Z.value,variant:`outline`,size:`sm`,class:`w-full`},{default:n(()=>[e(c(Z.value?r(q)(`messagesView.hideRoundDetails`):r(q)(`messagesView.showRoundDetails`)),1)]),_:1}),Z.value?(m(),s(`div`,Je,[a[3]||=u(`div`,{class:`absolute left-2 top-0 bottom-0 w-0.5 bg-border`},null,-1),(m(!0),s(i,null,p(h.report.roundDetails,t=>(m(),s(`div`,{key:t.round,class:`relative`},[a[2]||=u(`div`,{class:`absolute -left-6 top-3 w-4 h-4 rounded-full bg-primary border-2 border-background`},null,-1),u(`div`,Ye,[u(`div`,Xe,[u(`p`,Ze,c(r(q)(`messagesView.round`).replace(`{round}`,String(t.round))),1),f(r(ie),{"delay-duration":300},{default:n(()=>[u(`div`,Qe,[f(r(_),null,{default:n(()=>[f(r(y),{"as-child":``},{default:n(()=>[u(`span`,$e,[f(r(ne),{class:`h-3 w-3`}),e(` `+c(r(b)(t.attackerRemainingPower)),1)])]),_:2},1024),f(r(g),null,{default:n(()=>[u(`p`,null,c(r(q)(`messagesView.attackerRemainingPower`)),1)]),_:1})]),_:2},1024),f(r(_),null,{default:n(()=>[f(r(y),{"as-child":``},{default:n(()=>[u(`span`,et,[f(r(re),{class:`h-3 w-3`}),e(` `+c(r(b)(t.defenderRemainingPower)),1)])]),_:2},1024),f(r(g),null,{default:n(()=>[u(`p`,null,c(r(q)(`messagesView.defenderRemainingPower`)),1)]),_:1})]),_:2},1024)])]),_:2},1024)]),u(`div`,tt,[u(`div`,nt,[u(`p`,rt,c(r(q)(`messagesView.attackerLosses`)),1),u(`div`,it,[(m(!0),s(i,null,p(t.attackerLosses,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,at,c(r(J)[t].name),1),u(`span`,ot,`-`+c(e),1)]))),128)),Object.keys(t.attackerLosses).length===0?(m(),s(`p`,st,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])]),u(`div`,ct,[u(`p`,lt,c(r(q)(`messagesView.defenderLosses`)),1),u(`div`,ut,[(m(!0),s(i,null,p(t.defenderLosses.fleet,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,dt,c(r(J)[t].name),1),u(`span`,U,`-`+c(e),1)]))),128)),(m(!0),s(i,null,p(t.defenderLosses.defense,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[u(`span`,ft,c(r(Y)[t].name),1),u(`span`,pt,`-`+c(e),1)]))),128)),Object.keys(t.defenderLosses.fleet).length===0&&Object.keys(t.defenderLosses.defense).length===0?(m(),s(`p`,mt,c(r(q)(`messagesView.noLosses`)),1)):d(``,!0)])])])])]))),128))])):d(``,!0)])):d(``,!0)])):d(``,!0)]),_:1})]),_:1},8,[`open`]))}});export{W as t}; \ No newline at end of file diff --git a/docs/assets/BattleReportDialog-CWBu6H63.js b/docs/assets/BattleReportDialog-CWBu6H63.js deleted file mode 100644 index c7539a7..0000000 --- a/docs/assets/BattleReportDialog-CWBu6H63.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as i,Jt as a,Kt as o,Mt as s,Nt as c,On as l,Ot as u,Tn as ee,hn as d,in as f,jt as p,kt as m,tn as h}from"./game-logic-CfBcTF_c.js";import{a as te,c as ne,p as re}from"./vendor-icons-W6Ny__75.js";import{t as g}from"./TooltipProvider-BAp4BAXy.js";import{D as _,E as v,F as ie,I as ae,M as oe,P as se,S as ce,T as y,b as le,n as ue,r as b,v as de,w as x,x as S,y as C}from"./index-DWmvUlvu.js";import{t as w}from"./useGameConfig-B5wf1i8i.js";var T={key:0,class:`space-y-4`},E={class:`grid grid-cols-1 md:grid-cols-2 gap-4 text-sm`},D={class:`p-3 bg-blue-50 dark:bg-blue-950/20 rounded-lg`},O={class:`font-medium text-blue-600 dark:text-blue-400 mb-1`},k={key:0,class:`text-xs text-muted-foreground`},A={key:1,class:`text-xs text-muted-foreground`},j={class:`p-3 bg-red-50 dark:bg-red-950/20 rounded-lg`},M={class:`font-medium text-red-600 dark:text-red-400 mb-1`},N={key:0,class:`text-xs text-muted-foreground`},P={key:1,class:`text-xs text-muted-foreground`},F={class:`text-lg font-bold`},I={key:0,class:`text-sm mt-1`},L={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},R={class:`space-y-2`},z={class:`text-sm font-medium text-red-600 dark:text-red-400`},B={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},V={class:`text-muted-foreground`},H={class:`ml-2 font-medium`},fe={key:0,class:`text-muted-foreground`},pe={class:`space-y-2`},me={class:`text-sm font-medium text-red-600 dark:text-red-400`},he={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},ge={class:`text-muted-foreground`},_e={class:`ml-2 font-medium`},ve={class:`text-muted-foreground`},ye={class:`ml-2 font-medium`},be={key:0,class:`text-muted-foreground`},xe={key:0,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Se={key:0,class:`space-y-2`},Ce={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},we={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Te={class:`text-muted-foreground`},Ee={class:`ml-2 font-medium`},De={key:1,class:`space-y-2`},Oe={class:`text-sm font-medium text-blue-600 dark:text-blue-400`},ke={class:`p-3 bg-muted rounded-lg space-y-1 text-xs`},Ae={class:`text-muted-foreground`},je={class:`ml-2 font-medium`},Me={class:`text-muted-foreground`},Ne={class:`ml-2 font-medium`},Pe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Fe={key:0,class:`p-3 bg-green-50 dark:bg-green-950 rounded-lg`},Ie={class:`text-sm font-medium mb-2 text-green-600 dark:text-green-400`},Le={class:`flex flex-wrap gap-3 text-xs`},Re={key:0,class:`flex items-center gap-1`},ze={key:1,class:`flex items-center gap-1`},Be={key:2,class:`flex items-center gap-1`},Ve={key:1,class:`p-3 bg-muted rounded-lg`},He={class:`text-sm font-medium mb-2`},Ue={class:`flex flex-wrap gap-3 text-xs`},We={key:0,class:`flex items-center gap-1`},Ge={key:1,class:`flex items-center gap-1`},Ke={key:0,class:`text-xs text-muted-foreground mt-2`},qe={key:1,class:`space-y-2`},Je={key:0,class:`relative pl-6 space-y-4`},Ye={class:`border rounded-lg p-3 bg-card hover:shadow-md transition-shadow`},Xe={class:`flex items-center justify-between mb-3`},Ze={class:`text-sm font-semibold`},Qe={class:`flex gap-3 text-xs text-muted-foreground`},$e={class:`flex items-center gap-1`},et={class:`flex items-center gap-1`},tt={class:`grid grid-cols-1 md:grid-cols-2 gap-3`},nt={class:`bg-red-50 dark:bg-red-950/20 rounded p-2`},rt={class:`text-xs font-medium text-red-600 dark:text-red-400 mb-1.5`},it={class:`text-xs space-y-0.5`},at={class:`text-muted-foreground`},ot={class:`font-medium`},st={key:0,class:`text-muted-foreground italic`},ct={class:`bg-blue-50 dark:bg-blue-950/20 rounded p-2`},lt={class:`text-xs font-medium text-blue-600 dark:text-blue-400 mb-1.5`},ut={class:`text-xs space-y-0.5`},dt={class:`text-muted-foreground`},U={class:`font-medium`},ft={class:`text-muted-foreground`},pt={class:`font-medium`},mt={key:0,class:`text-muted-foreground italic`},W=c({__name:`BattleReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(c,{emit:W}){let G=c,ht=W,K=ae(),gt=ie(),{t:q}=se(),{SHIPS:J,DEFENSES:Y}=w(),X=d(G.open),Z=d(!1),Q=i(()=>G.report?K.player.planets.find(e=>e.id===G.report.attackerPlanetId):null),$=i(()=>G.report?K.player.planets.find(e=>e.id===G.report.defenderPlanetId)||Object.values(gt.planets).find(e=>e.id===G.report.defenderPlanetId):null);h(()=>G.open,e=>{X.value=e,e&&(Z.value=!1)}),h(X,e=>{ht(`update:open`,e)});let _t=e=>e===`attacker`?`bg-green-50 dark:bg-green-950 text-green-700 dark:text-green-300`:e===`defender`?`bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300`:`bg-gray-50 dark:bg-gray-950 text-gray-700 dark:text-gray-300`;return(i,d)=>(o(),u(t(ce),{open:X.value,"onUpdate:open":d[1]||=e=>X.value=e},{default:f(()=>[s(t(S),{class:`max-w-4xl max-h-[90vh] overflow-y-auto`},{default:f(()=>[s(t(C),null,{default:f(()=>[s(t(de),{class:`flex items-center gap-2`},{default:f(()=>[s(t(te),{class:`h-5 w-5`}),p(` `+l(t(q)(`messagesView.battleReport`)),1)]),_:1}),c.report?(o(),u(t(le),{key:0},{default:f(()=>[p(l(t(ue)(c.report.timestamp)),1)]),_:1})):m(``,!0)]),_:1}),c.report?(o(),e(`div`,T,[r(`div`,E,[r(`div`,D,[r(`p`,O,l(t(q)(`simulatorView.attacker`)),1),Q.value?(o(),e(`p`,k,l(Q.value.name)+` [`+l(Q.value.position.galaxy)+`:`+l(Q.value.position.system)+`:`+l(Q.value.position.position)+`] `,1)):(o(),e(`p`,A,l(c.report.attackerPlanetId),1))]),r(`div`,j,[r(`p`,M,l(t(q)(`simulatorView.defender`)),1),$.value?(o(),e(`p`,N,l($.value.name)+` [`+l($.value.position.galaxy)+`:`+l($.value.position.system)+`:`+l($.value.position.position)+`] `,1)):(o(),e(`p`,P,l(c.report.defenderPlanetId),1))])]),r(`div`,{class:ee([`text-center p-4 rounded-lg`,_t(c.report.winner)])},[r(`p`,F,l(c.report.winner===`attacker`?t(q)(`messagesView.victory`):c.report.winner===`defender`?t(q)(`messagesView.defeat`):t(q)(`messagesView.draw`)),1),c.report.rounds?(o(),e(`p`,I,l(t(q)(`simulatorView.afterRounds`).replace(`{rounds}`,String(c.report.rounds))),1)):m(``,!0)],2),r(`div`,L,[r(`div`,R,[r(`p`,z,l(t(q)(`messagesView.attackerLosses`)),1),r(`div`,B,[(o(!0),e(n,null,a(c.report.attackerLosses,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,V,l(t(J)[i].name)+`:`,1),r(`span`,H,l(n),1)]))),128)),Object.keys(c.report.attackerLosses).length===0?(o(),e(`p`,fe,l(t(q)(`messagesView.noLosses`)),1)):m(``,!0)])]),r(`div`,pe,[r(`p`,me,l(t(q)(`messagesView.defenderLosses`)),1),r(`div`,he,[(o(!0),e(n,null,a(c.report.defenderLosses.fleet,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,ge,l(t(J)[i].name)+`:`,1),r(`span`,_e,l(n),1)]))),128)),(o(!0),e(n,null,a(c.report.defenderLosses.defense,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,ve,l(t(Y)[i].name)+`:`,1),r(`span`,ye,l(n),1)]))),128)),Object.keys(c.report.defenderLosses.fleet).length===0&&Object.keys(c.report.defenderLosses.defense).length===0?(o(),e(`p`,be,l(t(q)(`messagesView.noLosses`)),1)):m(``,!0)])])]),c.report.attackerRemaining||c.report.defenderRemaining?(o(),e(`div`,xe,[c.report.attackerRemaining&&Object.keys(c.report.attackerRemaining).length>0?(o(),e(`div`,Se,[r(`p`,Ce,l(t(q)(`messagesView.attackerRemaining`)),1),r(`div`,we,[(o(!0),e(n,null,a(c.report.attackerRemaining,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,Te,l(t(J)[i].name)+`:`,1),r(`span`,Ee,l(n),1)]))),128))])])):m(``,!0),c.report.defenderRemaining&&(Object.keys(c.report.defenderRemaining.fleet||{}).length>0||Object.keys(c.report.defenderRemaining.defense||{}).length>0)?(o(),e(`div`,De,[r(`p`,Oe,l(t(q)(`messagesView.defenderRemaining`)),1),r(`div`,ke,[(o(!0),e(n,null,a(c.report.defenderRemaining.fleet,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,Ae,l(t(J)[i].name)+`:`,1),r(`span`,je,l(n),1)]))),128)),(o(!0),e(n,null,a(c.report.defenderRemaining.defense,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,Me,l(t(Y)[i].name)+`:`,1),r(`span`,Ne,l(n),1)]))),128))])])):m(``,!0)])):m(``,!0),r(`div`,Pe,[c.report.plunder&&(c.report.plunder.metal>0||c.report.plunder.crystal>0||c.report.plunder.deuterium>0)?(o(),e(`div`,Fe,[r(`p`,Ie,l(t(q)(`messagesView.plunder`)),1),r(`div`,Le,[c.report.plunder.metal>0?(o(),e(`span`,Re,[s(x,{type:`metal`,size:`sm`}),p(` `+l(t(b)(c.report.plunder.metal)),1)])):m(``,!0),c.report.plunder.crystal>0?(o(),e(`span`,ze,[s(x,{type:`crystal`,size:`sm`}),p(` `+l(t(b)(c.report.plunder.crystal)),1)])):m(``,!0),c.report.plunder.deuterium>0?(o(),e(`span`,Be,[s(x,{type:`deuterium`,size:`sm`}),p(` `+l(t(b)(c.report.plunder.deuterium)),1)])):m(``,!0)])])):m(``,!0),c.report.debrisField&&(c.report.debrisField.metal>0||c.report.debrisField.crystal>0)?(o(),e(`div`,Ve,[r(`p`,He,l(t(q)(`messagesView.debrisField`)),1),r(`div`,Ue,[c.report.debrisField.metal>0?(o(),e(`span`,We,[s(x,{type:`metal`,size:`sm`}),p(` `+l(t(b)(c.report.debrisField.metal)),1)])):m(``,!0),c.report.debrisField.crystal>0?(o(),e(`span`,Ge,[s(x,{type:`crystal`,size:`sm`}),p(` `+l(t(b)(c.report.debrisField.crystal)),1)])):m(``,!0)]),c.report.moonChance&&c.report.moonChance>0?(o(),e(`p`,Ke,l(t(q)(`messagesView.moonChance`))+`: `+l((c.report.moonChance*100).toFixed(1))+`% `,1)):m(``,!0)])):m(``,!0)]),c.report.roundDetails&&c.report.roundDetails.length>0?(o(),e(`div`,qe,[s(t(oe),{onClick:d[0]||=e=>Z.value=!Z.value,variant:`outline`,size:`sm`,class:`w-full`},{default:f(()=>[p(l(Z.value?t(q)(`messagesView.hideRoundDetails`):t(q)(`messagesView.showRoundDetails`)),1)]),_:1}),Z.value?(o(),e(`div`,Je,[d[3]||=r(`div`,{class:`absolute left-2 top-0 bottom-0 w-0.5 bg-border`},null,-1),(o(!0),e(n,null,a(c.report.roundDetails,i=>(o(),e(`div`,{key:i.round,class:`relative`},[d[2]||=r(`div`,{class:`absolute -left-6 top-3 w-4 h-4 rounded-full bg-primary border-2 border-background`},null,-1),r(`div`,Ye,[r(`div`,Xe,[r(`p`,Ze,l(t(q)(`messagesView.round`).replace(`{round}`,String(i.round))),1),s(t(g),{"delay-duration":300},{default:f(()=>[r(`div`,Qe,[s(t(_),null,{default:f(()=>[s(t(y),{"as-child":``},{default:f(()=>[r(`span`,$e,[s(t(ne),{class:`h-3 w-3`}),p(` `+l(t(b)(i.attackerRemainingPower)),1)])]),_:2},1024),s(t(v),null,{default:f(()=>[r(`p`,null,l(t(q)(`messagesView.attackerRemainingPower`)),1)]),_:1})]),_:2},1024),s(t(_),null,{default:f(()=>[s(t(y),{"as-child":``},{default:f(()=>[r(`span`,et,[s(t(re),{class:`h-3 w-3`}),p(` `+l(t(b)(i.defenderRemainingPower)),1)])]),_:2},1024),s(t(v),null,{default:f(()=>[r(`p`,null,l(t(q)(`messagesView.defenderRemainingPower`)),1)]),_:1})]),_:2},1024)])]),_:2},1024)]),r(`div`,tt,[r(`div`,nt,[r(`p`,rt,l(t(q)(`messagesView.attackerLosses`)),1),r(`div`,it,[(o(!0),e(n,null,a(i.attackerLosses,(n,i)=>(o(),e(`div`,{key:i,class:`flex justify-between`},[r(`span`,at,l(t(J)[i].name),1),r(`span`,ot,`-`+l(n),1)]))),128)),Object.keys(i.attackerLosses).length===0?(o(),e(`p`,st,l(t(q)(`messagesView.noLosses`)),1)):m(``,!0)])]),r(`div`,ct,[r(`p`,lt,l(t(q)(`messagesView.defenderLosses`)),1),r(`div`,ut,[(o(!0),e(n,null,a(i.defenderLosses.fleet,(n,i)=>(o(),e(`div`,{key:i,class:`flex justify-between`},[r(`span`,dt,l(t(J)[i].name),1),r(`span`,U,`-`+l(n),1)]))),128)),(o(!0),e(n,null,a(i.defenderLosses.defense,(n,i)=>(o(),e(`div`,{key:i,class:`flex justify-between`},[r(`span`,ft,l(t(Y)[i].name),1),r(`span`,pt,`-`+l(n),1)]))),128)),Object.keys(i.defenderLosses.fleet).length===0&&Object.keys(i.defenderLosses.defense).length===0?(o(),e(`p`,mt,l(t(q)(`messagesView.noLosses`)),1)):m(``,!0)])])])])]))),128))])):m(``,!0)])):m(``,!0)])):m(``,!0)]),_:1})]),_:1},8,[`open`]))}});export{W as t}; \ No newline at end of file diff --git a/docs/assets/BattleSimulatorView-BDzc1XdU.js b/docs/assets/BattleSimulatorView-BDzc1XdU.js deleted file mode 100644 index 83b0491..0000000 --- a/docs/assets/BattleSimulatorView-BDzc1XdU.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,C as t,Cn as n,Ct as r,Dt as i,Jt as a,Kt as o,Mt as s,Nt as c,On as l,Ot as u,et as d,hn as f,in as p,jt as m,yn as h}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{c as ee,g as te,p as ne,t as re}from"./vendor-icons-W6Ny__75.js";import"./TooltipProvider-BAp4BAXy.js";import{t as g}from"./CardDescription-D2AN1hhX.js";import{d as _,m as v}from"./game-config-D-D7cMgJ.js";import{M as y,O as b,P as x,c as S,l as C,s as w,t as T,u as E,w as D}from"./index-DWmvUlvu.js";import{t as ie}from"./useGameConfig-B5wf1i8i.js";import{t as ae}from"./BattleReportDialog-CWBu6H63.js";var oe={class:`container mx-auto p-4 sm:p-6 space-y-6`},se={class:`text-2xl sm:text-3xl font-bold`},ce={class:`flex gap-2 border-b`},le={class:`text-sm font-medium mb-3`},ue={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},O={class:`text-sm font-medium mb-3`},k={class:`grid grid-cols-3 gap-3`},A={class:`space-y-1`},j={class:`space-y-1`},M={class:`space-y-1`},N={class:`text-sm font-medium mb-3`},P={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},F={class:`text-sm font-medium mb-3`},I={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},L={class:`text-sm font-medium mb-3`},R={class:`grid grid-cols-3 gap-3`},z={class:`space-y-1`},B={class:`space-y-1`},V={class:`space-y-1`},H={class:`text-sm font-medium mb-3`},de={class:`grid grid-cols-3 gap-3`},fe={class:`space-y-1`},pe={class:`space-y-1`},me={class:`space-y-1`},he={class:`flex gap-2`},U=c({__name:`BattleSimulatorView`,setup(c){let{t:U}=x(),{SHIPS:W,DEFENSES:ge}=ie(),G=f({[v.LightFighter]:0,[v.HeavyFighter]:0,[v.Cruiser]:0,[v.Battleship]:0,[v.SmallCargo]:0,[v.LargeCargo]:0,[v.ColonyShip]:0,[v.Recycler]:0,[v.EspionageProbe]:0,[v.DarkMatterHarvester]:0}),K=f(`attacker`),q=f({weapon:0,shield:0,armor:0}),J=f({[v.LightFighter]:0,[v.HeavyFighter]:0,[v.Cruiser]:0,[v.Battleship]:0,[v.SmallCargo]:0,[v.LargeCargo]:0,[v.ColonyShip]:0,[v.Recycler]:0,[v.EspionageProbe]:0,[v.DarkMatterHarvester]:0}),Y=f({[_.RocketLauncher]:0,[_.LightLaser]:0,[_.HeavyLaser]:0,[_.GaussCannon]:0,[_.IonCannon]:0,[_.PlasmaTurret]:0,[_.SmallShieldDome]:0,[_.LargeShieldDome]:0}),X=f({weapon:0,shield:0,armor:0}),Z=f({metal:1e5,crystal:5e4,deuterium:25e3,darkMatter:100,energy:0}),Q=f(null),$=f(!1),_e=async()=>{let e={ships:h(G.value),weaponTech:q.value.weapon,shieldTech:q.value.shield,armorTech:q.value.armor},n={ships:h(J.value),defense:h(Y.value),weaponTech:X.value.weapon,shieldTech:X.value.shield,armorTech:X.value.armor},r=await t.simulateBattle({attacker:e,defender:n}),i=r.winner===`attacker`?await t.calculatePlunder({defenderResources:h(Z.value),attackerFleet:r.attackerRemaining}):{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},a=await t.calculateDebris({attackerLosses:r.attackerLosses,defenderLosses:r.defenderLosses}),o=d(a)/100;Q.value={id:`sim_${Date.now()}`,timestamp:Date.now(),attackerId:`simulator_attacker`,defenderId:`simulator_defender`,attackerPlanetId:`sim_attacker`,defenderPlanetId:`sim_defender`,attackerFleet:G.value,defenderFleet:J.value,defenderDefense:Y.value,attackerLosses:r.attackerLosses,defenderLosses:r.defenderLosses,winner:r.winner,plunder:i,debrisField:a,rounds:r.rounds,attackerRemaining:r.attackerRemaining,defenderRemaining:r.defenderRemaining,roundDetails:r.roundDetails,moonChance:o},$.value=!0},ve=()=>{Object.keys(G.value).forEach(e=>{G.value[e]=0}),Object.keys(J.value).forEach(e=>{J.value[e]=0}),Object.keys(Y.value).forEach(e=>{Y.value[e]=0}),q.value={weapon:0,shield:0,armor:0},X.value={weapon:0,shield:0,armor:0},Q.value=null,$.value=!1};return(t,c)=>(o(),e(`div`,oe,[i(`h1`,se,l(n(U)(`simulatorView.title`)),1),i(`div`,ce,[s(n(y),{onClick:c[0]||=e=>K.value=`attacker`,variant:K.value===`attacker`?`default`:`ghost`,class:`rounded-b-none`},{default:p(()=>[s(n(ee)),m(` `+l(n(U)(`simulatorView.attacker`)),1)]),_:1},8,[`variant`]),s(n(y),{onClick:c[1]||=e=>K.value=`defender`,variant:K.value===`defender`?`default`:`ghost`,class:`rounded-b-none`},{default:p(()=>[s(n(ne)),m(` `+l(n(U)(`simulatorView.defender`)),1)]),_:1},8,[`variant`])]),K.value===`attacker`?(o(),u(n(E),{key:0},{default:p(()=>[s(n(S),null,{default:p(()=>[s(n(w),null,{default:p(()=>[m(l(n(U)(`simulatorView.attackerConfig`)),1)]),_:1}),s(n(g),null,{default:p(()=>[m(l(n(U)(`simulatorView.attackerConfigDesc`)),1)]),_:1})]),_:1}),s(n(C),{class:`space-y-4`},{default:p(()=>[i(`div`,null,[i(`h3`,le,l(n(U)(`simulatorView.fleet`)),1),i(`div`,ue,[(o(!0),e(r,null,a(Object.values(n(v)),t=>(o(),e(`div`,{key:t,class:`space-y-1`},[s(n(T),{for:`attacker-${t}`,class:`text-xs`},{default:p(()=>[m(l(n(W)[t].name),1)]),_:2},1032,[`for`]),s(n(b),{id:`attacker-${t}`,modelValue:G.value[t],"onUpdate:modelValue":e=>G.value[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]))),128))])]),i(`div`,null,[i(`h3`,O,l(n(U)(`simulatorView.techLevels`)),1),i(`div`,k,[i(`div`,A,[s(n(T),{for:`attacker-weapon`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.weapon`)),1)]),_:1}),s(n(b),{id:`attacker-weapon`,modelValue:q.value.weapon,"onUpdate:modelValue":c[2]||=e=>q.value.weapon=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,j,[s(n(T),{for:`attacker-shield`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.shield`)),1)]),_:1}),s(n(b),{id:`attacker-shield`,modelValue:q.value.shield,"onUpdate:modelValue":c[3]||=e=>q.value.shield=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,M,[s(n(T),{for:`attacker-armor`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.armor`)),1)]),_:1}),s(n(b),{id:`attacker-armor`,modelValue:q.value.armor,"onUpdate:modelValue":c[4]||=e=>q.value.armor=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])])])])]),_:1})]),_:1})):(o(),u(n(E),{key:1},{default:p(()=>[s(n(S),null,{default:p(()=>[s(n(w),null,{default:p(()=>[m(l(n(U)(`simulatorView.defenderConfig`)),1)]),_:1}),s(n(g),null,{default:p(()=>[m(l(n(U)(`simulatorView.defenderConfigDesc`)),1)]),_:1})]),_:1}),s(n(C),{class:`space-y-4`},{default:p(()=>[i(`div`,null,[i(`h3`,N,l(n(U)(`simulatorView.fleet`)),1),i(`div`,P,[(o(!0),e(r,null,a(Object.values(n(v)),t=>(o(),e(`div`,{key:t,class:`space-y-1`},[s(n(T),{for:`defender-${t}`,class:`text-xs`},{default:p(()=>[m(l(n(W)[t].name),1)]),_:2},1032,[`for`]),s(n(b),{id:`defender-${t}`,modelValue:J.value[t],"onUpdate:modelValue":e=>J.value[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]))),128))])]),i(`div`,null,[i(`h3`,F,l(n(U)(`simulatorView.defenseStructures`)),1),i(`div`,I,[(o(!0),e(r,null,a(Object.values(n(_)),t=>(o(),e(`div`,{key:t,class:`space-y-1`},[s(n(T),{for:`defense-${t}`,class:`text-xs`},{default:p(()=>[m(l(n(ge)[t].name),1)]),_:2},1032,[`for`]),s(n(b),{id:`defense-${t}`,modelValue:Y.value[t],"onUpdate:modelValue":e=>Y.value[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]))),128))])]),i(`div`,null,[i(`h3`,L,l(n(U)(`simulatorView.techLevels`)),1),i(`div`,R,[i(`div`,z,[s(n(T),{for:`defender-weapon`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.weapon`)),1)]),_:1}),s(n(b),{id:`defender-weapon`,modelValue:X.value.weapon,"onUpdate:modelValue":c[5]||=e=>X.value.weapon=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,B,[s(n(T),{for:`defender-shield`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.shield`)),1)]),_:1}),s(n(b),{id:`defender-shield`,modelValue:X.value.shield,"onUpdate:modelValue":c[6]||=e=>X.value.shield=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,V,[s(n(T),{for:`defender-armor`,class:`text-xs`},{default:p(()=>[m(l(n(U)(`simulatorView.armor`)),1)]),_:1}),s(n(b),{id:`defender-armor`,modelValue:X.value.armor,"onUpdate:modelValue":c[7]||=e=>X.value.armor=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])])])]),i(`div`,null,[i(`h3`,H,l(n(U)(`simulatorView.defenderResources`)),1),i(`div`,de,[i(`div`,fe,[s(n(T),{for:`defender-metal`,class:`text-xs flex items-center gap-1`},{default:p(()=>[s(D,{type:`metal`,size:`sm`}),m(` `+l(n(U)(`resources.metal`)),1)]),_:1}),s(n(b),{id:`defender-metal`,modelValue:Z.value.metal,"onUpdate:modelValue":c[8]||=e=>Z.value.metal=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,pe,[s(n(T),{for:`defender-crystal`,class:`text-xs flex items-center gap-1`},{default:p(()=>[s(D,{type:`crystal`,size:`sm`}),m(` `+l(n(U)(`resources.crystal`)),1)]),_:1}),s(n(b),{id:`defender-crystal`,modelValue:Z.value.crystal,"onUpdate:modelValue":c[9]||=e=>Z.value.crystal=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])]),i(`div`,me,[s(n(T),{for:`defender-deuterium`,class:`text-xs flex items-center gap-1`},{default:p(()=>[s(D,{type:`deuterium`,size:`sm`}),m(` `+l(n(U)(`resources.deuterium`)),1)]),_:1}),s(n(b),{id:`defender-deuterium`,modelValue:Z.value.deuterium,"onUpdate:modelValue":c[10]||=e=>Z.value.deuterium=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`modelValue`])])])])]),_:1})]),_:1})),i(`div`,he,[s(n(y),{onClick:_e,class:`flex-1`,size:`lg`},{default:p(()=>[s(n(re),{class:`h-4 w-4 mr-2`}),m(` `+l(n(U)(`simulatorView.startSimulation`)),1)]),_:1}),s(n(y),{onClick:ve,variant:`outline`,size:`lg`},{default:p(()=>[s(n(te),{class:`h-4 w-4 mr-2`}),m(` `+l(n(U)(`simulatorView.reset`)),1)]),_:1})]),s(ae,{open:$.value,"onUpdate:open":c[11]||=e=>$.value=e,report:Q.value},null,8,[`open`,`report`])]))}});export{U as default}; \ No newline at end of file diff --git a/docs/assets/BattleSimulatorView-C7D7Sz5R.js b/docs/assets/BattleSimulatorView-C7D7Sz5R.js new file mode 100644 index 0000000..1a2f26b --- /dev/null +++ b/docs/assets/BattleSimulatorView-C7D7Sz5R.js @@ -0,0 +1 @@ +import{$t as e,En as t,Gn as n,Gt as r,Ln as i,Q as a,Qt as o,Vn as s,Xn as c,Yt as l,en as u,gn as d,mn as f,ot as p,tn as ee}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{c as te,g as ne,p as m,t as h}from"./vendor-icons-z9V6Jdbh.js";import"./TooltipProvider-BwjgS8_x.js";import{t as g}from"./CardDescription-BSLS07AU.js";import{_,f as v}from"./game-config-CG6z6nnH.js";import{K as re,L as y,N as ie,W as b,_ as x,b as S,g as C,v as w,y as T}from"./index-BT5w6et-.js";import{t as E}from"./useGameConfig-b98LOtBY.js";import{i as ae,n as oe,r as D,t as O}from"./TabsTrigger-DrosU7aN.js";import{t as se}from"./BattleReportDialog-CGjL16c6.js";var ce={class:`container mx-auto p-4 sm:p-6 space-y-6`},le={class:`text-2xl sm:text-3xl font-bold`},ue={class:`text-sm font-medium mb-3`},de={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},k={class:`text-sm font-medium mb-3`},A={class:`grid grid-cols-3 gap-3`},j={class:`text-sm font-medium mb-3`},M={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},N={class:`text-sm font-medium mb-3`},P={class:`grid grid-cols-2 md:grid-cols-3 gap-3`},F={class:`text-sm font-medium mb-3`},I={class:`grid grid-cols-3 gap-3`},L={class:`text-sm font-medium mb-3`},R={class:`grid grid-cols-3 gap-3`},z={class:`flex gap-2`},B=ee({__name:`BattleSimulatorView`,setup(ee){let{t:B}=re(),{SHIPS:V,DEFENSES:fe}=E(),H=[`weapon`,`shield`,`armor`],pe=[{key:`metal`},{key:`crystal`},{key:`deuterium`}],U=()=>{let e={};return Object.values(_).forEach(t=>{e[t]=0}),e},W=i(U()),G=i(`attacker`),K=i({weapon:0,shield:0,armor:0}),q=i(U()),J=()=>{let e={};return Object.values(v).forEach(t=>{e[t]=0}),e},Y=i(J()),X=i({weapon:0,shield:0,armor:0}),Z=i({metal:1e5,crystal:5e4,deuterium:25e3,darkMatter:100,energy:0}),Q=i(null),$=i(!1),me=async()=>{let e={ships:s(W.value),weaponTech:K.value.weapon,shieldTech:K.value.shield,armorTech:K.value.armor},t={ships:s(q.value),defense:s(Y.value),weaponTech:X.value.weapon,shieldTech:X.value.shield,armorTech:X.value.armor},n=await a.simulateBattle({attacker:e,defender:t}),r=n.winner===`attacker`?await a.calculatePlunder({defenderResources:s(Z.value),attackerFleet:n.attackerRemaining}):{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},i=await a.calculateDebris({attackerLosses:n.attackerLosses,defenderLosses:n.defenderLosses}),o=p(i)/100;Q.value={id:`sim_${Date.now()}`,timestamp:Date.now(),attackerId:`simulator_attacker`,defenderId:`simulator_defender`,attackerPlanetId:`sim_attacker`,defenderPlanetId:`sim_defender`,attackerFleet:W.value,defenderFleet:q.value,defenderDefense:Y.value,attackerLosses:n.attackerLosses,defenderLosses:n.defenderLosses,winner:n.winner,plunder:r,debrisField:i,rounds:n.rounds,attackerRemaining:n.attackerRemaining,defenderRemaining:n.defenderRemaining,roundDetails:n.roundDetails,moonChance:o},$.value=!0},he=()=>{W.value=U(),q.value=U(),Y.value=J(),K.value={weapon:0,shield:0,armor:0},X.value={weapon:0,shield:0,armor:0},Q.value=null,$.value=!1};return(i,a)=>(f(),o(`div`,ce,[l(`h1`,le,c(n(B)(`simulatorView.title`)),1),u(n(ae),{modelValue:G.value,"onUpdate:modelValue":a[0]||=e=>G.value=e,class:`w-full`},{default:t(()=>[u(n(oe),{class:`grid w-full grid-cols-2`},{default:t(()=>[u(n(O),{value:`attacker`},{default:t(()=>[u(n(te),{class:`h-4 w-4 mr-2`}),e(` `+c(n(B)(`simulatorView.attacker`)),1)]),_:1}),u(n(O),{value:`defender`},{default:t(()=>[u(n(m),{class:`h-4 w-4 mr-2`}),e(` `+c(n(B)(`simulatorView.defender`)),1)]),_:1})]),_:1}),u(n(D),{value:`attacker`,class:`mt-4`},{default:t(()=>[u(n(S),null,{default:t(()=>[u(n(w),null,{default:t(()=>[u(n(x),null,{default:t(()=>[e(c(n(B)(`simulatorView.attackerConfig`)),1)]),_:1}),u(n(g),null,{default:t(()=>[e(c(n(B)(`simulatorView.attackerConfigDesc`)),1)]),_:1})]),_:1}),u(n(T),{class:`space-y-4`},{default:t(()=>[l(`div`,null,[l(`h3`,ue,c(n(B)(`simulatorView.fleet`)),1),l(`div`,de,[(f(!0),o(r,null,d(Object.values(n(_)),r=>(f(),o(`div`,{key:r,class:`space-y-1`},[u(n(C),{for:`attacker-${r}`,class:`text-xs`},{default:t(()=>[e(c(n(V)[r].name),1)]),_:2},1032,[`for`]),u(n(y),{id:`attacker-${r}`,"model-value":W.value[r]??0,"onUpdate:modelValue":e=>W.value[r]=typeof e==`number`?e:0,type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`model-value`,`onUpdate:modelValue`])]))),128))])]),l(`div`,null,[l(`h3`,k,c(n(B)(`simulatorView.techLevels`)),1),l(`div`,A,[(f(),o(r,null,d(H,r=>l(`div`,{key:r,class:`space-y-1`},[u(n(C),{for:`attacker-${r}`,class:`text-xs`},{default:t(()=>[e(c(n(B)(`simulatorView.${r}`)),1)]),_:2},1032,[`for`]),u(n(y),{id:`attacker-${r}`,modelValue:K.value[r],"onUpdate:modelValue":e=>K.value[r]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])),64))])])]),_:1})]),_:1})]),_:1}),u(n(D),{value:`defender`,class:`mt-4`},{default:t(()=>[u(n(S),null,{default:t(()=>[u(n(w),null,{default:t(()=>[u(n(x),null,{default:t(()=>[e(c(n(B)(`simulatorView.defenderConfig`)),1)]),_:1}),u(n(g),null,{default:t(()=>[e(c(n(B)(`simulatorView.defenderConfigDesc`)),1)]),_:1})]),_:1}),u(n(T),{class:`space-y-4`},{default:t(()=>[l(`div`,null,[l(`h3`,j,c(n(B)(`simulatorView.fleet`)),1),l(`div`,M,[(f(!0),o(r,null,d(Object.values(n(_)),r=>(f(),o(`div`,{key:r,class:`space-y-1`},[u(n(C),{for:`defender-${r}`,class:`text-xs`},{default:t(()=>[e(c(n(V)[r].name),1)]),_:2},1032,[`for`]),u(n(y),{id:`defender-${r}`,"model-value":q.value[r]??0,"onUpdate:modelValue":e=>q.value[r]=typeof e==`number`?e:0,type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`model-value`,`onUpdate:modelValue`])]))),128))])]),l(`div`,null,[l(`h3`,N,c(n(B)(`simulatorView.defenseStructures`)),1),l(`div`,P,[(f(!0),o(r,null,d(Object.values(n(v)),r=>(f(),o(`div`,{key:r,class:`space-y-1`},[u(n(C),{for:`defense-${r}`,class:`text-xs`},{default:t(()=>[e(c(n(fe)[r].name),1)]),_:2},1032,[`for`]),u(n(y),{id:`defense-${r}`,"model-value":Y.value[r]??0,"onUpdate:modelValue":e=>Y.value[r]=typeof e==`number`?e:0,type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`model-value`,`onUpdate:modelValue`])]))),128))])]),l(`div`,null,[l(`h3`,F,c(n(B)(`simulatorView.techLevels`)),1),l(`div`,I,[(f(),o(r,null,d(H,r=>l(`div`,{key:r,class:`space-y-1`},[u(n(C),{for:`defender-${r}`,class:`text-xs`},{default:t(()=>[e(c(n(B)(`simulatorView.${r}`)),1)]),_:2},1032,[`for`]),u(n(y),{id:`defender-${r}`,modelValue:X.value[r],"onUpdate:modelValue":e=>X.value[r]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])),64))])]),l(`div`,null,[l(`h3`,L,c(n(B)(`simulatorView.defenderResources`)),1),l(`div`,R,[(f(),o(r,null,d(pe,r=>l(`div`,{key:r.key,class:`space-y-1`},[u(n(C),{for:`defender-${r.key}`,class:`text-xs flex items-center gap-1`},{default:t(()=>[u(ie,{type:r.key,size:`sm`},null,8,[`type`]),e(` `+c(n(B)(`resources.${r.key}`)),1)]),_:2},1032,[`for`]),u(n(y),{id:`defender-${r.key}`,modelValue:Z.value[r.key],"onUpdate:modelValue":e=>Z.value[r.key]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`h-8`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])),64))])])]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),l(`div`,z,[u(n(b),{onClick:me,class:`flex-1`,size:`lg`},{default:t(()=>[u(n(h),{class:`h-4 w-4 mr-2`}),e(` `+c(n(B)(`simulatorView.startSimulation`)),1)]),_:1}),u(n(b),{onClick:he,variant:`outline`,size:`lg`},{default:t(()=>[u(n(ne),{class:`h-4 w-4 mr-2`}),e(` `+c(n(B)(`simulatorView.reset`)),1)]),_:1})]),u(se,{open:$.value,"onUpdate:open":a[1]||=e=>$.value=e,report:Q.value},null,8,[`open`,`report`])]))}});export{B as default}; \ No newline at end of file diff --git a/docs/assets/BuildingsView-4mX0ZiqE.js b/docs/assets/BuildingsView-4mX0ZiqE.js new file mode 100644 index 0000000..d0f2dd1 --- /dev/null +++ b/docs/assets/BuildingsView-4mX0ZiqE.js @@ -0,0 +1,7 @@ +import{$t as e,At as t,Ct as n,Dn as r,En as i,Gn as a,Gt as o,Jt as s,Ln as c,Ot as ee,Qt as l,Vt as te,Xn as u,Xt as d,Yn as ne,Yt as f,Zt as p,_ as m,b as h,en as g,g as re,gn as _,jt as ie,kt as ae,m as oe,mn as v,p as se,qn as y,tn as ce,v as le,y as b}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{B as ue,M as x}from"./vendor-icons-z9V6Jdbh.js";import{t as S}from"./CardDescription-BSLS07AU.js";import{d as C,v as de}from"./game-config-CG6z6nnH.js";import{D as fe,H as pe,K as w,N as T,W as E,_ as D,a as O,b as me,c as he,f as k,h as ge,i as A,l as j,o as M,p as N,q as P,r as F,s as I,u as L,v as _e,y as ve}from"./index-BT5w6et-.js";import{t as ye}from"./useGameConfig-b98LOtBY.js";import{t as be}from"./CardUnlockOverlay-DYfgGY6J.js";var xe={key:0,class:`container mx-auto p-4 sm:p-6`},Se={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},Ce={class:`mb-4 sm:mb-6 p-3 sm:p-4 bg-muted/50 rounded-lg border`},we={class:`flex items-center justify-between`},Te={class:`text-sm sm:text-base font-medium flex items-center gap-2`},Ee={class:`text-sm sm:text-base font-bold`},De={class:`mt-2`},Oe={class:`w-full bg-background rounded-full h-2.5 sm:h-3 overflow-hidden`},ke={class:`grid grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4`},Ae={class:`mb-2`},je={class:`flex flex-col sm:flex-row sm:justify-between sm:items-start gap-2`},Me={class:`space-y-3`},R={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},Ne={class:`text-muted-foreground mb-1 sm:mb-2`},Pe={class:`space-y-1 sm:space-y-1.5`},Fe={class:`text-xs`},Ie={class:`text-xs sm:text-sm space-y-0.5 sm:space-y-1`},Le={class:`flex items-center gap-1.5 text-muted-foreground`},Re={class:`flex items-center gap-1.5 text-muted-foreground`},ze={key:1,class:`text-xs text-muted-foreground`},Be={class:`flex gap-2 flex-wrap`},Ve={key:0},z=ce({__name:`BuildingsView`,setup(ce){let z=P(),He=fe(),{t:B}=w(),{BUILDINGS:V,TECHNOLOGIES:Ue}=ye(),H=s(()=>z.currentPlanet),U=c(!1),W=c(``),G=c(``),K=c(!1),q=c(``),J=c(null),We=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`}],Ge=s(()=>H.value?Object.values(C).filter(e=>{let t=V.value[e];return H.value.isMoon?t.moonOnly===!0:t.moonOnly!==!0}):[]),Ke=e=>{if(!z.currentPlanet||!m(z.currentPlanet,e,z.player.technologies,z.player.officers).valid)return!1;let t=oe(z.currentPlanet,e,z.player.officers);return z.currentPlanet.buildQueue.push(t),!0},Y=e=>ie(e),qe=e=>{if(!Z(e)){W.value=B(`common.requirementsNotMet`),G.value=Ye(e),U.value=!0;return}Ke(e)||(W.value=B(`buildingsView.upgradeFailed`),G.value=B(`buildingsView.upgradeFailedMessage`),U.value=!0)},X=e=>H.value?.buildings[e]||0,Z=e=>{if(!H.value)return!1;let t=V.value[e],n=b(t,X(e)+1);return!n||Object.keys(n).length===0?!0:le(H.value,z.player.technologies,n)},Je=e=>{if(!H.value)return B(`buildingsView.upgrade`);let t=V.value[e],n=X(e);return t.maxLevel!==void 0&&n>=t.maxLevel?B(`buildingsView.maxLevelReached`):H.value.buildQueue.length>0||Z(e)?B(`buildingsView.upgrade`):B(`buildingsView.requirementsNotMet`)},Ye=e=>{let t=V.value[e],n=b(t,X(e)+1);if(!n||!H.value)return``;let r=[];for(let[e,t]of Object.entries(n))if(Object.values(C).includes(e)){let n=e,i=H.value.buildings[n]||0,a=V.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${B(`common.current`)}: Lv ${i})`)}else if(Object.values(de).includes(e)){let n=e,i=z.player.technologies[n]||0,a=Ue.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${B(`common.current`)}: Lv ${i})`)}return r.join(` +`)},Xe=e=>{if(!H.value)return!1;let t=V.value[e],r=X(e);if(t.maxLevel!==void 0&&r>=t.maxLevel)return!1;let i=n(z.player.officers,Date.now()),a=h(H.value,i.additionalBuildQueue);if(H.value.buildQueue.filter(e=>e.type===`building`||e.type===`demolish`).length>=a||!m(H.value,e,z.player.technologies,z.player.officers).valid)return!1;let o=Q(e,r+1);return H.value.resources.metal>=o.metal&&H.value.resources.crystal>=o.crystal&&H.value.resources.deuterium>=o.deuterium&&H.value.resources.darkMatter>=o.darkMatter},Q=(e,t)=>ee(e,t),Ze=(e,t)=>{if(!H.value)return 0;let r=n(z.player.officers,Date.now()),i=H.value.buildings[C.RoboticsFactory]||0,a=H.value.buildings[C.NaniteFactory]||0;return ae(e,t,r.buildingSpeedBonus,i,a)},Qe=e=>{if(!z.currentPlanet||!re(z.currentPlanet,e,z.player.officers).valid)return!1;let t=se(z.currentPlanet,e,z.player.officers);return z.currentPlanet.buildQueue.push(t),!0},$e=e=>{let t=V.value[e].name,n=$(e);q.value=`${B(`buildingsView.confirmDemolishMessage`)}: ${t} + +${B(`buildingsView.demolishRefund`)}: +${B(`resources.metal`)}: ${k(n.metal)} +${B(`resources.crystal`)}: ${k(n.crystal)} +${B(`resources.deuterium`)}: ${k(n.deuterium)}${n.darkMatter>0?`\n${B(`resources.darkMatter`)}: ${k(n.darkMatter)}`:``}`,J.value=e,K.value=!0},et=()=>{J.value&&(Qe(J.value)||(W.value=B(`buildingsView.demolishFailed`),G.value=B(`buildingsView.demolishFailedMessage`),U.value=!0)),K.value=!1,J.value=null},tt=e=>{if(!H.value||X(e)<=0)return!1;let t=n(z.player.officers,Date.now()),r=h(H.value,t.additionalBuildQueue);return!(H.value.buildQueue.filter(e=>e.type===`building`||e.type===`demolish`).length>=r)},$=e=>t(e,X(e));return(t,n)=>H.value?(v(),l(`div`,xe,[f(`h1`,Se,u(a(B)(`buildingsView.title`)),1),f(`div`,Ce,[f(`div`,we,[f(`div`,Te,[g(a(x),{size:16}),e(` `+u(a(B)(`buildingsView.spaceUsage`))+`: `,1)]),f(`div`,Ee,[f(`span`,{class:y(Y(H.value)>H.value.maxSpace?`text-destructive`:`text-primary`)},u(a(k)(Y(H.value))),3),n[2]||=f(`span`,{class:`text-muted-foreground mx-1`},`/`,-1),f(`span`,null,u(a(k)(H.value.maxSpace)),1)])]),f(`div`,De,[f(`div`,Oe,[f(`div`,{class:y([`h-full transition-all duration-300`,Y(H.value)>H.value.maxSpace?`bg-destructive`:`bg-primary`]),style:ne({width:`${Math.min(Y(H.value)/H.value.maxSpace*100,100)}%`})},null,6)])])]),f(`div`,ke,[(v(!0),l(o,null,_(Ge.value,t=>(v(),d(a(me),{key:t,class:`relative`},{default:i(()=>[g(be,{requirements:a(V)[t].requirements,currentLevel:X(t)},null,8,[`requirements`,`currentLevel`]),g(a(_e),null,{default:i(()=>[f(`div`,Ae,[f(`div`,je,[g(a(D),{class:`text-sm sm:text-base lg:text-lg cursor-pointer hover:text-primary transition-colors underline decoration-dotted underline-offset-4 order-2 sm:order-1`,onClick:e=>a(He).openBuilding(t,X(t))},{default:i(()=>[e(u(a(V)[t].name),1)]),_:2},1032,[`onClick`]),g(a(pe),{variant:`secondary`,class:`text-xs whitespace-nowrap self-start order-1 sm:order-2`},{default:i(()=>[e(` Lv `+u(X(t)),1)]),_:2},1024)])]),g(a(S),{class:`text-xs sm:text-sm`},{default:i(()=>[e(u(a(V)[t].description),1)]),_:2},1024)]),_:2},1024),g(a(ve),null,{default:i(()=>[f(`div`,Me,[f(`div`,R,[f(`p`,Ne,u(a(B)(`buildingsView.upgradeCost`))+`:`,1),f(`div`,Pe,[(v(),l(o,null,_(We,e=>r(f(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[g(T,{type:e.key,size:`sm`},null,8,[`type`]),f(`span`,Fe,u(a(B)(`resources.${e.key}`))+`:`,1),f(`span`,{class:y([`font-medium text-xs sm:text-sm`,a(ge)(H.value.resources[e.key],Q(t,X(t)+1)[e.key])])},u(a(k)(Q(t,X(t)+1)[e.key])),3)]),[[te,e.key!==`darkMatter`||Q(t,X(t)+1).darkMatter>0]])),64))])]),f(`div`,Ie,[f(`div`,Le,[g(a(ue),{size:14,class:`flex-shrink-0`}),f(`span`,null,u(a(N)(Ze(t,X(t)+1))),1)]),f(`div`,Re,[g(a(x),{size:14,class:`flex-shrink-0`}),f(`span`,null,u(a(V)[t].spaceUsage),1)])]),g(a(E),{onClick:e=>qe(t),disabled:!Xe(t),class:`w-full`},{default:i(()=>[e(u(Je(t)),1)]),_:2},1032,[`onClick`,`disabled`]),X(t)>0?(v(),d(a(E),{key:0,onClick:e=>$e(t),disabled:!tt(t),variant:`destructive`,class:`w-full`},{default:i(()=>[e(u(a(B)(`buildingsView.demolish`)),1)]),_:1},8,[`onClick`,`disabled`])):p(``,!0),X(t)>0?(v(),l(`div`,ze,[f(`p`,null,u(a(B)(`buildingsView.demolishRefund`))+`:`,1),f(`div`,Be,[f(`span`,null,u(a(k)($(t).metal))+` `+u(a(B)(`resources.metal`)),1),f(`span`,null,u(a(k)($(t).crystal))+` `+u(a(B)(`resources.crystal`)),1),f(`span`,null,u(a(k)($(t).deuterium))+` `+u(a(B)(`resources.deuterium`)),1),$(t).darkMatter>0?(v(),l(`span`,Ve,u(a(k)($(t).darkMatter))+` `+u(a(B)(`resources.darkMatter`)),1)):p(``,!0)])])):p(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),g(a(L),{open:U.value,"onUpdate:open":n[0]||=e=>U.value=e},{default:i(()=>[g(a(I),null,{default:i(()=>[g(a(A),null,{default:i(()=>[g(a(F),null,{default:i(()=>[e(u(W.value),1)]),_:1}),g(a(M),{class:`whitespace-pre-line`},{default:i(()=>[e(u(G.value),1)]),_:1})]),_:1}),g(a(O),null,{default:i(()=>[g(a(j),null,{default:i(()=>[e(u(a(B)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),g(a(L),{open:K.value,"onUpdate:open":n[1]||=e=>K.value=e},{default:i(()=>[g(a(I),null,{default:i(()=>[g(a(A),null,{default:i(()=>[g(a(F),null,{default:i(()=>[e(u(a(B)(`buildingsView.confirmDemolish`)),1)]),_:1}),g(a(M),{class:`whitespace-pre-line`},{default:i(()=>[e(u(q.value),1)]),_:1})]),_:1}),g(a(O),null,{default:i(()=>[g(a(he),null,{default:i(()=>[e(u(a(B)(`common.cancel`)),1)]),_:1}),g(a(j),{onClick:et},{default:i(()=>[e(u(a(B)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])):p(``,!0)}});export{z as default}; \ No newline at end of file diff --git a/docs/assets/BuildingsView-BQvU9Qow.js b/docs/assets/BuildingsView-BQvU9Qow.js deleted file mode 100644 index 01e0808..0000000 --- a/docs/assets/BuildingsView-BQvU9Qow.js +++ /dev/null @@ -1,2 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as i,Jt as a,Kt as o,M as s,Mt as c,N as ee,Nt as l,O as u,On as d,Ot as f,P as p,Tn as m,ct as te,dt as ne,hn as h,in as g,j as _,jt as v,k as re,kt as y,lt as ie,ut as ae}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{M as b,z as oe}from"./vendor-icons-W6Ny__75.js";import{t as se}from"./CardDescription-D2AN1hhX.js";import{h as ce,u as x}from"./game-config-D-D7cMgJ.js";import{A as le,I as ue,M as S,P as C,_ as w,c as T,i as E,l as D,o as O,r as k,s as A,u as j,w as M}from"./index-DWmvUlvu.js";import{t as N}from"./useGameConfig-B5wf1i8i.js";import{t as P}from"./AlertDialog-CiXBEnQ0.js";import{t as F}from"./CardUnlockOverlay-BA1LyGjd.js";var I={key:0,class:`container mx-auto p-4 sm:p-6`},L={class:`flex justify-between items-center mb-4 sm:mb-6 gap-2`},R={class:`text-2xl sm:text-3xl font-bold`},z={class:`text-xs sm:text-sm`},B={class:`flex items-center gap-1.5 text-muted-foreground`},V={class:`grid grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4`},H={class:`flex justify-between items-start gap-2`},U={class:`min-w-0 flex-1`},de={class:`space-y-3`},fe={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},pe={class:`text-muted-foreground mb-1 sm:mb-2`},me={class:`space-y-1 sm:space-y-1.5`},he={class:`flex items-center gap-1.5 sm:gap-2`},ge={class:`text-xs`},_e={class:`flex items-center gap-1.5 sm:gap-2`},ve={class:`text-xs`},ye={class:`flex items-center gap-1.5 sm:gap-2`},be={class:`text-xs`},xe={class:`text-xs sm:text-sm space-y-0.5 sm:space-y-1`},Se={class:`flex items-center gap-1.5 text-muted-foreground`},Ce={class:`flex items-center gap-1.5 text-muted-foreground`},we={key:1,class:`text-xs text-muted-foreground`},Te={class:`flex gap-2 flex-wrap`},W=l({__name:`BuildingsView`,setup(l){let W=ue(),Ee=w(),{t:G}=C(),{BUILDINGS:K,TECHNOLOGIES:De}=N(),q=i(()=>W.currentPlanet),J=h(null),Oe=i(()=>q.value?Object.values(x).filter(e=>{let t=K.value[e];return q.value.isMoon?t.moonOnly===!0:t.moonOnly!==!0}):[]),ke=e=>{if(!W.currentPlanet||!s(W.currentPlanet,e,W.player.technologies,W.player.officers).valid)return!1;let t=re(W.currentPlanet,e,W.player.officers);return W.currentPlanet.buildQueue.push(t),!0},Ae=e=>ne(e),je=e=>{if(!X(e)){J.value?.show({title:G(`common.requirementsNotMet`),message:Z(e)});return}ke(e)||J.value?.show({title:G(`buildingsView.upgradeFailed`),message:G(`buildingsView.upgradeFailedMessage`)})},Y=e=>q.value?.buildings[e]||0,X=e=>{if(!q.value)return!1;let t=K.value[e],n=p(t,Y(e)+1);return!n||Object.keys(n).length===0?!0:ee(q.value,W.player.technologies,n)},Me=e=>{if(!q.value)return G(`buildingsView.upgrade`);let t=K.value[e],n=Y(e);return t.maxLevel!==void 0&&n>=t.maxLevel?G(`buildingsView.maxLevelReached`):q.value.buildQueue.length>0||X(e)?G(`buildingsView.upgrade`):G(`buildingsView.requirementsNotMet`)},Z=e=>{let t=K.value[e],n=p(t,Y(e)+1);if(!n||!q.value)return``;let r=[];for(let[e,t]of Object.entries(n))if(Object.values(x).includes(e)){let n=e,i=q.value.buildings[n]||0,a=K.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${G(`common.current`)}: Lv ${i})`)}else if(Object.values(ce).includes(e)){let n=e,i=W.player.technologies[n]||0,a=De.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${G(`common.current`)}: Lv ${i})`)}return r.join(` -`)},Ne=e=>{if(!q.value)return!1;let t=K.value[e],n=Y(e);if(t.maxLevel!==void 0&&n>=t.maxLevel||q.value.buildQueue.length>0||!s(q.value,e,W.player.technologies,W.player.officers).valid)return!1;let r=Q(e,n+1);return q.value.resources.metal>=r.metal&&q.value.resources.crystal>=r.crystal&&q.value.resources.deuterium>=r.deuterium},Q=(e,t)=>te(e,t),Pe=(e,t)=>ie(e,t),Fe=e=>{if(!W.currentPlanet||!_(W.currentPlanet,e,W.player.officers).valid)return!1;let t=u(W.currentPlanet,e,W.player.officers);return W.currentPlanet.buildQueue.push(t),!0},Ie=e=>{Fe(e)||J.value?.show({title:G(`buildingsView.demolishFailed`),message:G(`buildingsView.demolishFailedMessage`)})},Le=e=>!q.value||q.value.buildQueue.length>0?!1:Y(e)>0,$=e=>ae(e,Y(e));return(i,s)=>q.value?(o(),e(`div`,I,[r(`div`,L,[r(`h1`,R,d(t(G)(`buildingsView.title`)),1),r(`div`,z,[r(`span`,B,[c(t(b),{size:14}),v(` `+d(Ae(q.value))+` / `+d(q.value.maxSpace),1)])])]),r(`div`,V,[(o(!0),e(n,null,a(Oe.value,n=>(o(),f(t(j),{key:n,class:`relative`},{default:g(()=>[c(F,{requirements:t(K)[n].requirements,currentLevel:Y(n)},null,8,[`requirements`,`currentLevel`]),c(t(T),null,{default:g(()=>[r(`div`,H,[r(`div`,U,[c(t(A),{class:`text-base sm:text-lg cursor-pointer hover:text-primary transition-colors`,onClick:e=>t(Ee).openBuilding(n,Y(n))},{default:g(()=>[v(d(t(K)[n].name),1)]),_:2},1032,[`onClick`]),c(t(se),{class:`text-xs sm:text-sm`},{default:g(()=>[v(d(t(K)[n].description),1)]),_:2},1024)]),c(t(le),{variant:`secondary`,class:`text-xs whitespace-nowrap flex-shrink-0`},{default:g(()=>[v(`Lv `+d(Y(n)),1)]),_:2},1024)])]),_:2},1024),c(t(D),null,{default:g(()=>[r(`div`,de,[r(`div`,fe,[r(`p`,pe,d(t(G)(`buildingsView.upgradeCost`))+`:`,1),r(`div`,me,[r(`div`,he,[c(M,{type:`metal`,size:`sm`}),r(`span`,ge,d(t(G)(`resources.metal`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(O)(q.value.resources.metal,Q(n,Y(n)+1).metal)])},d(t(k)(Q(n,Y(n)+1).metal)),3)]),r(`div`,_e,[c(M,{type:`crystal`,size:`sm`}),r(`span`,ve,d(t(G)(`resources.crystal`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(O)(q.value.resources.crystal,Q(n,Y(n)+1).crystal)])},d(t(k)(Q(n,Y(n)+1).crystal)),3)]),r(`div`,ye,[c(M,{type:`deuterium`,size:`sm`}),r(`span`,be,d(t(G)(`resources.deuterium`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(O)(q.value.resources.deuterium,Q(n,Y(n)+1).deuterium)])},d(t(k)(Q(n,Y(n)+1).deuterium)),3)])])]),r(`div`,xe,[r(`div`,Se,[c(t(oe),{size:14,class:`flex-shrink-0`}),r(`span`,null,d(t(E)(Pe(n,Y(n)+1))),1)]),r(`div`,Ce,[c(t(b),{size:14,class:`flex-shrink-0`}),r(`span`,null,d(t(K)[n].spaceUsage),1)])]),c(t(S),{onClick:e=>je(n),disabled:!Ne(n),class:`w-full`},{default:g(()=>[v(d(Me(n)),1)]),_:2},1032,[`onClick`,`disabled`]),Y(n)>0?(o(),f(t(S),{key:0,onClick:e=>Ie(n),disabled:!Le(n),variant:`destructive`,class:`w-full`},{default:g(()=>[v(d(t(G)(`buildingsView.demolish`)),1)]),_:1},8,[`onClick`,`disabled`])):y(``,!0),Y(n)>0?(o(),e(`div`,we,[r(`p`,null,d(t(G)(`buildingsView.demolishRefund`))+`:`,1),r(`div`,Te,[r(`span`,null,d(t(k)($(n).metal))+` `+d(t(G)(`resources.metal`)),1),r(`span`,null,d(t(k)($(n).crystal))+` `+d(t(G)(`resources.crystal`)),1),r(`span`,null,d(t(k)($(n).deuterium))+` `+d(t(G)(`resources.deuterium`)),1)])])):y(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),c(P,{ref_key:`alertDialog`,ref:J},null,512)])):y(``,!0)}});export{W as default}; \ No newline at end of file diff --git a/docs/assets/CardDescription-BSLS07AU.js b/docs/assets/CardDescription-BSLS07AU.js new file mode 100644 index 0000000..5e32ba2 --- /dev/null +++ b/docs/assets/CardDescription-BSLS07AU.js @@ -0,0 +1 @@ +import{Gn as e,Qt as t,_n as n,mn as r,qn as i,tn as a}from"./game-logic-Bi1l7y4K.js";import{G as o}from"./index-BT5w6et-.js";var s=a({__name:`CardDescription`,props:{class:{}},setup(a){let s=a;return(a,c)=>(r(),t(`p`,{"data-slot":`card-description`,class:i(e(o)(`text-muted-foreground text-sm`,s.class))},[n(a.$slots,`default`)],2))}});export{s as t}; \ No newline at end of file diff --git a/docs/assets/CardDescription-D2AN1hhX.js b/docs/assets/CardDescription-D2AN1hhX.js deleted file mode 100644 index 65bc2f2..0000000 --- a/docs/assets/CardDescription-D2AN1hhX.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Kt as n,Nt as r,Tn as i,Yt as a}from"./game-logic-CfBcTF_c.js";import{N as o}from"./index-DWmvUlvu.js";var s=r({__name:`CardDescription`,props:{class:{}},setup(r){let s=r;return(r,c)=>(n(),e(`p`,{"data-slot":`card-description`,class:i(t(o)(`text-muted-foreground text-sm`,s.class))},[a(r.$slots,`default`)],2))}});export{s as t}; \ No newline at end of file diff --git a/docs/assets/CardUnlockOverlay-BA1LyGjd.js b/docs/assets/CardUnlockOverlay-BA1LyGjd.js deleted file mode 100644 index 5441a7c..0000000 --- a/docs/assets/CardUnlockOverlay-BA1LyGjd.js +++ /dev/null @@ -1,2 +0,0 @@ -import{At as e,Cn as t,Dt as n,Et as r,Kt as i,Mt as a,N as o,Nt as s,On as c,hn as l,in as u,jt as d,kt as f}from"./game-logic-CfBcTF_c.js";import{D as p}from"./vendor-icons-W6Ny__75.js";import{h as m,u as h}from"./game-config-D-D7cMgJ.js";import{I as g,M as _,P as v}from"./index-DWmvUlvu.js";import{t as y}from"./useGameConfig-B5wf1i8i.js";import{t as b}from"./AlertDialog-CiXBEnQ0.js";var x={key:0,class:`absolute inset-0 z-10 bg-background/70 backdrop-blur-[2px] rounded-lg flex items-center justify-center`},S={class:`text-center p-4 space-y-2`},C={class:`flex justify-center`},w={class:`rounded-full bg-muted p-2`},T={class:`text-xs font-medium text-muted-foreground`},E=s({__name:`CardUnlockOverlay`,props:{requirements:{},currentLevel:{}},setup(s){let E=s,D=g(),{t:O}=v(),{BUILDINGS:k,TECHNOLOGIES:A}=y(),j=l(null),M=r(()=>E.currentLevel!==void 0&&E.currentLevel>0||!E.requirements||!D.currentPlanet?!0:o(D.currentPlanet,D.player.technologies,E.requirements)),N=()=>{if(!E.requirements||!D.currentPlanet)return``;let e=[];for(let[t,n]of Object.entries(E.requirements))if(Object.values(h).includes(t)){let r=t,i=D.currentPlanet.buildings[r]||0,a=k.value[r]?.name||r,o=i>=n?`✓`:`✗`;e.push(`${o} ${a}: Lv ${n} (${O(`common.current`)}: Lv ${i})`)}else if(Object.values(m).includes(t)){let r=t,i=D.player.technologies[r]||0,a=A.value[r]?.name||r,o=i>=n?`✓`:`✗`;e.push(`${o} ${a}: Lv ${n} (${O(`common.current`)}: Lv ${i})`)}return e.join(` -`)},P=()=>{j.value?.show({title:O(`common.requirementsNotMet`),message:N()})};return(r,o)=>M.value?f(``,!0):(i(),e(`div`,x,[n(`div`,S,[n(`div`,C,[n(`div`,w,[a(t(p),{size:20,class:`text-muted-foreground`})])]),n(`p`,T,c(t(O)(`common.locked`)),1),a(t(_),{variant:`outline`,size:`sm`,onClick:P,class:`text-xs`},{default:u(()=>[d(c(t(O)(`common.viewRequirements`)),1)]),_:1})]),a(b,{ref_key:`requirementsDialog`,ref:j},null,512)]))}});export{E as t}; \ No newline at end of file diff --git a/docs/assets/CardUnlockOverlay-DYfgGY6J.js b/docs/assets/CardUnlockOverlay-DYfgGY6J.js new file mode 100644 index 0000000..a4cc0ab --- /dev/null +++ b/docs/assets/CardUnlockOverlay-DYfgGY6J.js @@ -0,0 +1,2 @@ +import{$t as e,En as t,Gn as n,Jt as r,Ln as i,Qt as a,Xn as o,Yt as s,Zt as c,en as l,mn as u,tn as d,v as f}from"./game-logic-Bi1l7y4K.js";import{D as p}from"./vendor-icons-z9V6Jdbh.js";import{d as m,v as h}from"./game-config-CG6z6nnH.js";import{K as g,W as _,a as v,i as y,l as b,o as x,q as S,r as C,s as w,u as T}from"./index-BT5w6et-.js";import{t as E}from"./useGameConfig-b98LOtBY.js";var D={key:0,class:`absolute inset-0 z-10 bg-background/70 backdrop-blur-[2px] rounded-lg flex items-center justify-center`},O={class:`text-center p-4 space-y-2`},k={class:`flex justify-center`},A={class:`rounded-full bg-muted p-2`},j={class:`text-xs font-medium text-muted-foreground`},M=d({__name:`CardUnlockOverlay`,props:{requirements:{},currentLevel:{}},setup(d){let M=d,N=S(),{t:P}=g(),{BUILDINGS:F,TECHNOLOGIES:I}=E(),L=i(!1),R=i(``),z=i(``),B=r(()=>M.currentLevel!==void 0&&M.currentLevel>0||!M.requirements||!N.currentPlanet?!0:f(N.currentPlanet,N.player.technologies,M.requirements)),V=()=>{if(!M.requirements||!N.currentPlanet)return``;let e=[];for(let[t,n]of Object.entries(M.requirements))if(Object.values(m).includes(t)){let r=t,i=N.currentPlanet.buildings[r]||0,a=F.value[r]?.name||r,o=i>=n?`✓`:`✗`;e.push(`${o} ${a}: Lv ${n} (${P(`common.current`)}: Lv ${i})`)}else if(Object.values(h).includes(t)){let r=t,i=N.player.technologies[r]||0,a=I.value[r]?.name||r,o=i>=n?`✓`:`✗`;e.push(`${o} ${a}: Lv ${n} (${P(`common.current`)}: Lv ${i})`)}return e.join(` +`)},H=()=>{R.value=P(`common.requirementsNotMet`),z.value=V(),L.value=!0};return(r,i)=>B.value?c(``,!0):(u(),a(`div`,D,[s(`div`,O,[s(`div`,k,[s(`div`,A,[l(n(p),{size:20,class:`text-muted-foreground`})])]),s(`p`,j,o(n(P)(`common.locked`)),1),l(n(_),{variant:`outline`,size:`sm`,onClick:H,class:`text-xs`},{default:t(()=>[e(o(n(P)(`common.viewRequirements`)),1)]),_:1})]),l(n(T),{open:L.value,"onUpdate:open":i[0]||=e=>L.value=e},{default:t(()=>[l(n(w),null,{default:t(()=>[l(n(y),null,{default:t(()=>[l(n(C),null,{default:t(()=>[e(o(R.value),1)]),_:1}),l(n(x),{class:`whitespace-pre-line`},{default:t(()=>[e(o(z.value),1)]),_:1})]),_:1}),l(n(v),null,{default:t(()=>[l(n(b),null,{default:t(()=>[e(o(n(P)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{M as t}; \ No newline at end of file diff --git a/docs/assets/DefenseView-BuYOjWBp.js b/docs/assets/DefenseView-BuYOjWBp.js new file mode 100644 index 0000000..8c9a7b1 --- /dev/null +++ b/docs/assets/DefenseView-BuYOjWBp.js @@ -0,0 +1 @@ +import{$t as e,Dn as t,En as n,Gn as r,Gt as i,Jt as a,Ln as o,Qt as s,Vt as c,Xn as l,Xt as ee,Yt as u,Zt as d,en as f,gn as p,i as te,mn as m,qn as h,t as ne,tn as re,v as ie}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import"./vendor-icons-z9V6Jdbh.js";import{t as ae}from"./CardDescription-BSLS07AU.js";import{d as oe,f as g}from"./game-config-CG6z6nnH.js";import{D as se,H as ce,K as _,L as le,N as v,W as y,_ as b,a as ue,b as de,f as x,g as S,h as C,i as w,l as T,o as E,q as D,r as O,s as k,u as A,v as j,y as M}from"./index-BT5w6et-.js";import{t as N}from"./useGameConfig-b98LOtBY.js";import{t as P}from"./CardUnlockOverlay-DYfgGY6J.js";import{t as F}from"./UnlockRequirement-CoWPiUl8.js";var I={key:0,class:`container mx-auto p-4 sm:p-6`},L={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},R={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},z={class:`mb-2`},B={class:`flex flex-col sm:flex-row sm:justify-between sm:items-start gap-2`},V={class:`space-y-3 sm:space-y-4`},H={class:`grid grid-cols-2 gap-2 text-xs sm:text-sm`},fe={class:`text-muted-foreground`},pe={class:`font-medium`},me={class:`text-muted-foreground`},he={class:`font-medium`},ge={class:`text-muted-foreground`},_e={class:`font-medium`},ve={class:`text-muted-foreground`},ye={class:`font-medium`},be={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},xe={class:`text-muted-foreground mb-1 sm:mb-2`},Se={class:`space-y-1 sm:space-y-1.5`},Ce={class:`text-xs`},we={class:`space-y-2`},Te={key:0,class:`text-xs text-muted-foreground`},Ee={key:0,class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2 p-2.5 sm:p-3 bg-muted rounded-lg`},De={class:`font-medium text-muted-foreground`},Oe={class:`space-y-1 sm:space-y-1.5`},ke={class:`text-xs`},U=re({__name:`DefenseView`,setup(re){let U=D(),Ae=se(),{t:W}=_(),{DEFENSES:G}=N(),K=a(()=>U.currentPlanet),q=o(!1),J=o(``),Y=o(``),X=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`}],Z=o({[g.RocketLauncher]:0,[g.LightLaser]:0,[g.HeavyLaser]:0,[g.GaussCannon]:0,[g.IonCannon]:0,[g.PlasmaTurret]:0,[g.SmallShieldDome]:0,[g.LargeShieldDome]:0,[g.AntiBallisticMissile]:0,[g.InterplanetaryMissile]:0,[g.PlanetaryShield]:0}),Q=e=>e===g.SmallShieldDome||e===g.LargeShieldDome,je=(e,t)=>{if(!U.currentPlanet||!te(U.currentPlanet,e,t,U.player.technologies).valid)return!1;let n=ne(U.currentPlanet,e,t,U.player.officers);return U.currentPlanet.buildQueue.push(n),!0},Me=e=>{let t=Z.value[e];if(t<=0){J.value=W(`defenseView.inputError`),Y.value=W(`defenseView.inputErrorMessage`),q.value=!0;return}je(e,t)?Z.value[e]=0:(J.value=W(`defenseView.buildFailed`),Y.value=W(`defenseView.buildFailedMessage`),q.value=!0)},Ne=e=>{if(!K.value)return!1;let t=Z.value[e];if(t<=0||Q(e)&&(K.value.defense[e]>0||t>1))return!1;let n=G.value[e],r={metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t};return ie(K.value,U.player.technologies,n.requirements)&&K.value.resources.metal>=r.metal&&K.value.resources.crystal>=r.crystal&&K.value.resources.deuterium>=r.deuterium&&K.value.resources.darkMatter>=r.darkMatter},$=e=>{let t=Z.value[e],n=G.value[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t}};return(a,o)=>K.value?(m(),s(`div`,I,[f(F,{"required-building":r(oe).Shipyard,"required-level":1},null,8,[`required-building`]),u(`h1`,L,l(r(W)(`defenseView.title`)),1),u(`div`,R,[(m(!0),s(i,null,p(Object.values(r(g)),a=>(m(),ee(r(de),{key:a,class:`relative`},{default:n(()=>[f(P,{requirements:r(G)[a].requirements},null,8,[`requirements`]),f(r(j),null,{default:n(()=>[u(`div`,z,[u(`div`,B,[f(r(b),{class:`text-sm sm:text-base lg:text-lg cursor-pointer hover:text-primary transition-colors underline decoration-dotted underline-offset-4 order-2 sm:order-1`,onClick:e=>r(Ae).openDefense(a)},{default:n(()=>[e(l(r(G)[a].name),1)]),_:2},1032,[`onClick`]),f(r(ce),{variant:`secondary`,class:`text-xs whitespace-nowrap self-start order-1 sm:order-2`},{default:n(()=>[e(l(K.value.defense[a]),1)]),_:2},1024)])]),f(r(ae),{class:`text-xs sm:text-sm`},{default:n(()=>[e(l(r(G)[a].description),1)]),_:2},1024)]),_:2},1024),f(r(M),null,{default:n(()=>[u(`div`,V,[u(`div`,H,[u(`div`,null,[u(`p`,fe,l(r(W)(`defenseView.attack`)),1),u(`p`,pe,l(r(G)[a].attack),1)]),u(`div`,null,[u(`p`,me,l(r(W)(`defenseView.shield`)),1),u(`p`,he,l(r(G)[a].shield),1)]),u(`div`,null,[u(`p`,ge,l(r(W)(`defenseView.armor`)),1),u(`p`,_e,l(r(G)[a].armor),1)]),u(`div`,null,[u(`p`,ve,l(r(W)(`defenseView.buildTime`)),1),u(`p`,ye,l(r(G)[a].buildTime)+l(r(W)(`defenseView.seconds`)),1)])]),u(`div`,be,[u(`p`,xe,l(r(W)(`defenseView.unitCost`))+`:`,1),u(`div`,Se,[(m(),s(i,null,p(X,e=>t(u(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[f(v,{type:e.key,size:`sm`},null,8,[`type`]),u(`span`,Ce,l(r(W)(`resources.${e.key}`))+`:`,1),u(`span`,{class:h([`font-medium text-xs sm:text-sm`,r(C)(K.value.resources[e.key],r(G)[a].cost[e.key])])},l(r(x)(r(G)[a].cost[e.key])),3)]),[[c,e.key!==`darkMatter`||r(G)[a].cost.darkMatter>0]])),64))])]),u(`div`,we,[f(r(S),{for:`quantity-${a}`,class:`text-xs sm:text-sm`},{default:n(()=>[e(l(r(W)(`defenseView.buildQuantity`)),1)]),_:1},8,[`for`]),f(r(le),{id:`quantity-${a}`,modelValue:Z.value[a],"onUpdate:modelValue":e=>Z.value[a]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:Q(a)&&K.value.defense[a]>0?0:void 0,disabled:Q(a)&&K.value.defense[a]>0,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`max`,`disabled`]),Q(a)&&K.value.defense[a]>0?(m(),s(`p`,Te,l(r(W)(`defenseView.shieldDomeBuilt`)),1)):d(``,!0)]),Z.value[a]>0?(m(),s(`div`,Ee,[u(`p`,De,l(r(W)(`defenseView.totalCost`))+`:`,1),u(`div`,Oe,[(m(),s(i,null,p(X,e=>t(u(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[f(v,{type:e.key,size:`sm`},null,8,[`type`]),u(`span`,ke,l(r(W)(`resources.${e.key}`))+`:`,1),u(`span`,{class:h([`font-medium text-xs sm:text-sm`,r(C)(K.value.resources[e.key],$(a)[e.key])])},l(r(x)($(a)[e.key])),3)]),[[c,e.key!==`darkMatter`||$(a).darkMatter>0]])),64))])])):d(``,!0),f(r(y),{onClick:e=>Me(a),disabled:!Ne(a),class:`w-full`},{default:n(()=>[e(l(r(W)(`defenseView.build`)),1)]),_:1},8,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),f(r(A),{open:q.value,"onUpdate:open":o[0]||=e=>q.value=e},{default:n(()=>[f(r(k),null,{default:n(()=>[f(r(w),null,{default:n(()=>[f(r(O),null,{default:n(()=>[e(l(J.value),1)]),_:1}),f(r(E),{class:`whitespace-pre-line`},{default:n(()=>[e(l(Y.value),1)]),_:1})]),_:1}),f(r(ue),null,{default:n(()=>[f(r(T),null,{default:n(()=>[e(l(r(W)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])):d(``,!0)}});export{U as default}; \ No newline at end of file diff --git a/docs/assets/DefenseView-DuI03pUa.js b/docs/assets/DefenseView-DuI03pUa.js deleted file mode 100644 index 60709fa..0000000 --- a/docs/assets/DefenseView-DuI03pUa.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as ee,Jt as te,Kt as i,Mt as a,N as o,Nt as s,On as c,Ot as ne,Tn as l,hn as u,i as d,in as f,jt as p,kt as m,t as re}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-vue-router-CWDMmE-U.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import"./vendor-icons-W6Ny__75.js";import{t as ie}from"./CardDescription-D2AN1hhX.js";import{d as h,u as ae}from"./game-config-D-D7cMgJ.js";import{A as oe,I as se,M as ce,O as g,P as _,_ as v,c as y,l as b,o as x,r as S,s as C,t as w,u as T,w as E}from"./index-DWmvUlvu.js";import{t as D}from"./useGameConfig-B5wf1i8i.js";import{t as O}from"./AlertDialog-CiXBEnQ0.js";import{t as k}from"./CardUnlockOverlay-BA1LyGjd.js";import{t as A}from"./UnlockRequirement-c2kDZKZ0.js";var j={key:0,class:`container mx-auto p-4 sm:p-6`},M={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},N={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},P={class:`flex justify-between items-start gap-2`},F={class:`min-w-0 flex-1`},I={class:`space-y-3 sm:space-y-4`},L={class:`grid grid-cols-2 gap-2 text-xs sm:text-sm`},R={class:`text-muted-foreground`},z={class:`font-medium`},B={class:`text-muted-foreground`},V={class:`font-medium`},H={class:`text-muted-foreground`},U={class:`font-medium`},le={class:`text-muted-foreground`},W={class:`font-medium`},ue={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},de={class:`text-muted-foreground mb-1 sm:mb-2`},fe={class:`space-y-1 sm:space-y-1.5`},pe={class:`flex items-center gap-1.5 sm:gap-2`},me={class:`text-xs`},he={class:`flex items-center gap-1.5 sm:gap-2`},ge={class:`text-xs`},_e={class:`flex items-center gap-1.5 sm:gap-2`},ve={class:`text-xs`},ye={class:`space-y-2`},be={key:0,class:`text-xs text-muted-foreground`},xe={key:0,class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2 p-2.5 sm:p-3 bg-muted rounded-lg`},Se={class:`font-medium text-muted-foreground`},Ce={class:`space-y-1 sm:space-y-1.5`},we={class:`flex items-center gap-1.5 sm:gap-2`},Te={class:`text-xs`},Ee={class:`flex items-center gap-1.5 sm:gap-2`},De={class:`text-xs`},Oe={class:`flex items-center gap-1.5 sm:gap-2`},G={class:`text-xs`},K=s({__name:`DefenseView`,setup(s){let K=se(),ke=v(),{t:q}=_(),{DEFENSES:J}=D(),Y=ee(()=>K.currentPlanet),X=u(null),Z=u({[h.RocketLauncher]:0,[h.LightLaser]:0,[h.HeavyLaser]:0,[h.GaussCannon]:0,[h.IonCannon]:0,[h.PlasmaTurret]:0,[h.SmallShieldDome]:0,[h.LargeShieldDome]:0,[h.PlanetaryShield]:0}),Q=e=>e===h.SmallShieldDome||e===h.LargeShieldDome,Ae=(e,t)=>{if(!K.currentPlanet||!d(K.currentPlanet,e,t,K.player.technologies).valid)return!1;let n=re(K.currentPlanet,e,t,K.player.officers);return K.currentPlanet.buildQueue.push(n),!0},je=e=>{let t=Z.value[e];if(t<=0){X.value?.show({title:q(`defenseView.inputError`),message:q(`defenseView.inputErrorMessage`)});return}Ae(e,t)?Z.value[e]=0:X.value?.show({title:q(`defenseView.buildFailed`),message:q(`defenseView.buildFailedMessage`)})},Me=e=>{if(!Y.value)return!1;let t=Z.value[e];if(t<=0||Q(e)&&(Y.value.defense[e]>0||t>1))return!1;let n=J.value[e],r={metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t};return o(Y.value,K.player.technologies,n.requirements)&&Y.value.resources.metal>=r.metal&&Y.value.resources.crystal>=r.crystal&&Y.value.resources.deuterium>=r.deuterium},$=e=>{let t=Z.value[e],n=J.value[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t}};return(ee,o)=>Y.value?(i(),e(`div`,j,[a(A,{"required-building":t(ae).Shipyard,"required-level":1},null,8,[`required-building`]),r(`h1`,M,c(t(q)(`defenseView.title`)),1),r(`div`,N,[(i(!0),e(n,null,te(Object.values(t(h)),n=>(i(),ne(t(T),{key:n,class:`relative`},{default:f(()=>[a(k,{requirements:t(J)[n].requirements},null,8,[`requirements`]),a(t(y),null,{default:f(()=>[r(`div`,P,[r(`div`,F,[a(t(C),{class:`text-base sm:text-lg cursor-pointer hover:text-primary transition-colors`,onClick:e=>t(ke).openDefense(n)},{default:f(()=>[p(c(t(J)[n].name),1)]),_:2},1032,[`onClick`]),a(t(ie),{class:`text-xs sm:text-sm`},{default:f(()=>[p(c(t(J)[n].description),1)]),_:2},1024)]),a(t(oe),{variant:`secondary`,class:`text-xs whitespace-nowrap flex-shrink-0`},{default:f(()=>[p(c(Y.value.defense[n]),1)]),_:2},1024)])]),_:2},1024),a(t(b),null,{default:f(()=>[r(`div`,I,[r(`div`,L,[r(`div`,null,[r(`p`,R,c(t(q)(`defenseView.attack`)),1),r(`p`,z,c(t(J)[n].attack),1)]),r(`div`,null,[r(`p`,B,c(t(q)(`defenseView.shield`)),1),r(`p`,V,c(t(J)[n].shield),1)]),r(`div`,null,[r(`p`,H,c(t(q)(`defenseView.armor`)),1),r(`p`,U,c(t(J)[n].armor),1)]),r(`div`,null,[r(`p`,le,c(t(q)(`defenseView.buildTime`)),1),r(`p`,W,c(t(J)[n].buildTime)+c(t(q)(`defenseView.seconds`)),1)])]),r(`div`,ue,[r(`p`,de,c(t(q)(`defenseView.unitCost`))+`:`,1),r(`div`,fe,[r(`div`,pe,[a(E,{type:`metal`,size:`sm`}),r(`span`,me,c(t(q)(`resources.metal`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.metal,t(J)[n].cost.metal)])},c(t(S)(t(J)[n].cost.metal)),3)]),r(`div`,he,[a(E,{type:`crystal`,size:`sm`}),r(`span`,ge,c(t(q)(`resources.crystal`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.crystal,t(J)[n].cost.crystal)])},c(t(S)(t(J)[n].cost.crystal)),3)]),r(`div`,_e,[a(E,{type:`deuterium`,size:`sm`}),r(`span`,ve,c(t(q)(`resources.deuterium`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.deuterium,t(J)[n].cost.deuterium)])},c(t(S)(t(J)[n].cost.deuterium)),3)])])]),r(`div`,ye,[a(t(w),{for:`quantity-${n}`,class:`text-xs sm:text-sm`},{default:f(()=>[p(c(t(q)(`defenseView.buildQuantity`)),1)]),_:1},8,[`for`]),a(t(g),{id:`quantity-${n}`,modelValue:Z.value[n],"onUpdate:modelValue":e=>Z.value[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:Q(n)&&Y.value.defense[n]>0?0:void 0,disabled:Q(n)&&Y.value.defense[n]>0,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`max`,`disabled`]),Q(n)&&Y.value.defense[n]>0?(i(),e(`p`,be,c(t(q)(`defenseView.shieldDomeBuilt`)),1)):m(``,!0)]),Z.value[n]>0?(i(),e(`div`,xe,[r(`p`,Se,c(t(q)(`defenseView.totalCost`))+`:`,1),r(`div`,Ce,[r(`div`,we,[a(E,{type:`metal`,size:`sm`}),r(`span`,Te,c(t(q)(`resources.metal`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.metal,$(n).metal)])},c(t(S)($(n).metal)),3)]),r(`div`,Ee,[a(E,{type:`crystal`,size:`sm`}),r(`span`,De,c(t(q)(`resources.crystal`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.crystal,$(n).crystal)])},c(t(S)($(n).crystal)),3)]),r(`div`,Oe,[a(E,{type:`deuterium`,size:`sm`}),r(`span`,G,c(t(q)(`resources.deuterium`))+`:`,1),r(`span`,{class:l([`font-medium text-xs sm:text-sm`,t(x)(Y.value.resources.deuterium,$(n).deuterium)])},c(t(S)($(n).deuterium)),3)])])])):m(``,!0),a(t(ce),{onClick:e=>je(n),disabled:!Me(n),class:`w-full`},{default:f(()=>[p(c(t(q)(`defenseView.build`)),1)]),_:1},8,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),a(O,{ref_key:`alertDialog`,ref:X},null,512)])):m(``,!0)}});export{K as default}; \ No newline at end of file diff --git a/docs/assets/DiplomacyView-Bz3CIKaK.js b/docs/assets/DiplomacyView-Bz3CIKaK.js new file mode 100644 index 0000000..c7f0e17 --- /dev/null +++ b/docs/assets/DiplomacyView-Bz3CIKaK.js @@ -0,0 +1 @@ +import{$t as e,En as t,Gn as n,Gt as r,Jn as i,Jt as a,Ln as o,Qt as s,Xn as c,Xt as l,Yn as u,Yt as d,Zt as f,_n as p,en as m,gn as h,ln as g,mn as _,qn as ee,rn as v,tn as y,vn as b}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import{o as x}from"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import{c as S}from"./vendor-others-DTUzJ7S-.js";import{$ as C,D as w,E as T,O as E,T as D,et as O,k}from"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{G as A,L as j,N as te,P as M,W as N,c as ne,s as re}from"./vendor-icons-z9V6Jdbh.js";import{t as ie}from"./CardDescription-BSLS07AU.js";import{g as P,p as F}from"./game-config-CG6z6nnH.js";import{G as I,H as L,K as ae,U as R,W as z,_ as oe,b as se,p as ce,q as le,t as ue,v as B,y as V}from"./index-BT5w6et-.js";import{i as de,n as fe,r as H,t as U}from"./TabsTrigger-DrosU7aN.js";var W=y({__name:`Pagination`,props:{page:{},defaultPage:{},itemsPerPage:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`update:page`],setup(e,{emit:r}){let a=e,o=r,s=C(S(a,`class`),o);return(e,r)=>(_(),l(n(k),g({"data-slot":`pagination`},n(s),{class:n(I)(`mx-auto flex w-full justify-center`,a.class)}),{default:t(t=>[p(e.$slots,`default`,i(v(t)))]),_:3},16,[`class`]))}}),G=y({__name:`PaginationContent`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let r=e,a=S(r,`class`);return(e,o)=>(_(),l(n(E),g({"data-slot":`pagination-content`},n(a),{class:n(I)(`flex flex-row items-center gap-1`,r.class)}),{default:t(t=>[p(e.$slots,`default`,i(v(t)))]),_:3},16,[`class`]))}}),K=y({__name:`PaginationItem`,props:{value:{},asChild:{type:Boolean},as:{},size:{default:`icon`},class:{},isActive:{type:Boolean}},setup(e){let r=e,i=S(r,`class`,`size`,`isActive`);return(a,o)=>(_(),l(n(w),g({"data-slot":`pagination-item`},n(i),{class:n(I)(n(R)({variant:e.isActive?`outline`:`ghost`,size:e.size}),r.class)}),{default:t(()=>[p(a.$slots,`default`)]),_:3},16,[`class`]))}}),q=y({__name:`PaginationNext`,props:{asChild:{type:Boolean},as:{},size:{default:`default`},class:{}},setup(e){let r=e,i=O(S(r,`class`,`size`));return(a,o)=>(_(),l(n(T),g({"data-slot":`pagination-next`,class:n(I)(n(R)({variant:`ghost`,size:e.size}),`gap-1 px-2.5 sm:pr-2.5`,r.class)},n(i)),{default:t(()=>[p(a.$slots,`default`,{},()=>[o[0]||=d(`span`,{class:`hidden sm:block`},`Next`,-1),m(n(N))])]),_:3},16,[`class`]))}}),J=y({__name:`PaginationPrevious`,props:{asChild:{type:Boolean},as:{},size:{default:`default`},class:{}},setup(e){let r=e,i=O(S(r,`class`,`size`));return(a,o)=>(_(),l(n(D),g({"data-slot":`pagination-previous`,class:n(I)(n(R)({variant:`ghost`,size:e.size}),`gap-1 px-2.5 sm:pr-2.5`,r.class)},n(i)),{default:t(()=>[p(a.$slots,`default`,{},()=>[m(n(A)),o[0]||=d(`span`,{class:`hidden sm:block`},`Previous`,-1)])]),_:3},16,[`class`]))}}),Y={class:`flex items-start justify-between`},pe={class:`flex-1`},me={key:0,class:`ml-2`},he={class:`space-y-2`},ge={class:`flex items-center justify-between text-sm`},X={class:`text-muted-foreground`},_e={class:`relative`},ve={class:`h-2 bg-muted rounded-full overflow-hidden`},ye={key:0,class:`pt-2 border-t`},Z={class:`text-sm text-muted-foreground mb-2`},be={class:`flex flex-wrap gap-1`},xe={class:`flex gap-2 pt-2`},Se={key:1,class:`pt-2 border-t`},Ce={class:`text-xs text-muted-foreground mb-1`},we={class:`flex items-center gap-2 text-xs`},Te={class:`text-muted-foreground`},Q=y({__name:`NpcRelationCard`,props:{npc:{},relation:{}},setup(i){let o=i,p=x(),g=ue(),{t:v}=ae(),y=a(()=>o.relation?.reputation||0),S=a(()=>o.relation?.status||P.Neutral),C=a(()=>{switch(S.value){case P.Friendly:return v(`diplomacy.status.friendly`);case P.Hostile:return v(`diplomacy.status.hostile`);default:return v(`diplomacy.status.neutral`)}}),w=a(()=>{switch(S.value){case P.Friendly:return`default`;case P.Hostile:return`destructive`;default:return`secondary`}}),T=a(()=>y.value>=20?`text-green-600 dark:text-green-400`:y.value<=-20?`text-red-600 dark:text-red-400`:`text-muted-foreground`),E=a(()=>!o.relation?.history||o.relation.history.length===0?null:o.relation.history[o.relation.history.length-1]),D=e=>g.npcs.find(t=>t.id===e)?.name||e.substring(0,8),O=e=>{switch(e){case F.GiftResources:return M;case F.Attack:case F.AllyAttacked:return ne;case F.Spy:return j;case F.StealDebris:return re;default:return M}},k=e=>{switch(e){case F.GiftResources:return v(`diplomacy.events.gift`);case F.Attack:return v(`diplomacy.events.attack`);case F.AllyAttacked:return v(`diplomacy.events.allyAttacked`);case F.Spy:return v(`diplomacy.events.spy`);case F.StealDebris:return v(`diplomacy.events.stealDebris`);default:return e}},A=()=>{if(o.npc.planets.length>0){let e=o.npc.planets[0];if(!e)return;p.push({path:`/fleet`,query:{galaxy:e.position.galaxy,system:e.position.system,position:e.position.position,gift:`1`}})}},N=()=>{if(o.npc.planets.length>0){let e=o.npc.planets[0];if(!e)return;p.push({path:`/galaxy`,query:{galaxy:e.position.galaxy,system:e.position.system,highlightNpc:o.npc.id}})}};return(a,o)=>(_(),l(n(se),null,{default:t(()=>[m(n(B),null,{default:t(()=>[d(`div`,Y,[d(`div`,pe,[m(n(oe),{class:`flex items-center gap-2`},{default:t(()=>[e(c(i.npc.name)+` `,1),m(n(L),{variant:w.value},{default:t(()=>[e(c(C.value),1)]),_:1},8,[`variant`])]),_:1}),m(n(ie),{class:`mt-1`},{default:t(()=>[e(c(i.npc.planets.length)+` `+c(n(v)(`diplomacy.planets`))+` `,1),i.npc.allies&&i.npc.allies.length>0?(_(),s(`span`,me,`· `+c(i.npc.allies.length)+` `+c(n(v)(`diplomacy.allies`)),1)):f(``,!0)]),_:1})])])]),_:1}),m(n(V),{class:`space-y-4`},{default:t(()=>[d(`div`,he,[d(`div`,ge,[d(`span`,X,c(n(v)(`diplomacy.reputation`)),1),d(`span`,{class:ee([`font-semibold`,T.value])},c(y.value>0?`+`:``)+c(y.value),3)]),d(`div`,_e,[d(`div`,ve,[y.value<0?(_(),s(`div`,{key:0,class:`h-full bg-red-500 dark:bg-red-600 absolute right-1/2`,style:u({width:`${Math.abs(y.value)/2}%`})},null,4)):f(``,!0),y.value>0?(_(),s(`div`,{key:1,class:`h-full bg-green-500 dark:bg-green-600 absolute left-1/2`,style:u({width:`${y.value/2}%`})},null,4)):f(``,!0)]),o[0]||=d(`div`,{class:`absolute left-1/2 top-0 bottom-0 w-px bg-border`},null,-1)]),o[1]||=d(`div`,{class:`flex justify-between text-xs text-muted-foreground`},[d(`span`,null,`-100`),d(`span`,null,`0`),d(`span`,null,`+100`)],-1)]),i.npc.allies&&i.npc.allies.length>0?(_(),s(`div`,ye,[d(`p`,Z,c(n(v)(`diplomacy.alliedWith`))+`:`,1),d(`div`,be,[(_(!0),s(r,null,h(i.npc.allies.slice(0,3),r=>(_(),l(n(L),{key:r,variant:`outline`,class:`text-xs`},{default:t(()=>[e(c(D(r)),1)]),_:2},1024))),128)),i.npc.allies.length>3?(_(),l(n(L),{key:0,variant:`outline`,class:`text-xs`},{default:t(()=>[e(` +`+c(i.npc.allies.length-3)+` `+c(n(v)(`diplomacy.more`)),1)]),_:1})):f(``,!0)])])):f(``,!0),d(`div`,xe,[m(n(z),{size:`sm`,variant:`outline`,class:`flex-1`,onClick:A},{default:t(()=>[m(n(M),{class:`h-4 w-4 mr-2`}),e(` `+c(n(v)(`diplomacy.actions.gift`)),1)]),_:1}),m(n(z),{size:`sm`,variant:`outline`,class:`flex-1`,onClick:N},{default:t(()=>[m(n(te),{class:`h-4 w-4 mr-2`}),e(` `+c(n(v)(`diplomacy.actions.viewPlanets`)),1)]),_:1})]),E.value?(_(),s(`div`,Se,[d(`p`,Ce,c(n(v)(`diplomacy.lastEvent`))+`:`,1),d(`div`,we,[(_(),l(b(O(E.value.reason)),{class:`h-3 w-3`})),d(`span`,null,c(k(E.value.reason)),1),d(`span`,Te,c(n(ce)(Date.now()-E.value.timestamp))+` `+c(n(v)(`diplomacy.ago`)),1)])])):f(``,!0)]),_:1})]),_:1}))}}),Ee={class:`container mx-auto p-4 sm:p-6 space-y-6`},De={class:`flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4`},Oe={class:`text-2xl sm:text-3xl font-bold`},ke={class:`text-sm text-muted-foreground mt-1`},Ae={key:0,class:`text-center py-12 text-muted-foreground`},je={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Me={key:1,class:`px-2 text-muted-foreground`},Ne={key:0,class:`text-center py-12 text-muted-foreground`},Pe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Fe={key:1,class:`px-2 text-muted-foreground`},Ie={key:0,class:`text-center py-12 text-muted-foreground`},Le={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Re={key:1,class:`px-2 text-muted-foreground`},ze={key:0,class:`text-center py-12 text-muted-foreground`},Be={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Ve={key:1,class:`px-2 text-muted-foreground`},He={class:`space-y-2 max-h-96 overflow-y-auto`},Ue={class:`flex-shrink-0 mt-0.5`},We={class:`flex-1 min-w-0`},Ge={class:`flex items-center gap-2 mb-1`},Ke={class:`font-medium`},qe={class:`text-sm text-muted-foreground`},Je={class:`text-xs text-muted-foreground mt-1`},$=20,Ye=y({__name:`DiplomacyView`,setup(i){let u=le(),p=ue(),{t:g}=ae(),v=o(`all`),y=o({all:1,friendly:1,neutral:1,hostile:1}),x=e=>u.player.diplomaticRelations?.[e],S=a(()=>p.npcs),C=a(()=>p.npcs.filter(e=>x(e.id)?.status===P.Friendly)),w=a(()=>p.npcs.filter(e=>{let t=x(e.id);return!t||t.status===P.Neutral})),T=a(()=>p.npcs.filter(e=>x(e.id)?.status===P.Hostile)),E=(e,t)=>{let n=((y.value[t]||1)-1)*$,r=n+$;return e.slice(n,r)},D=e=>Math.ceil(e.length/$),O=a(()=>E(S.value,`all`)),k=a(()=>E(C.value,`friendly`)),A=a(()=>E(w.value,`neutral`)),te=a(()=>E(T.value,`hostile`)),N=a(()=>D(S.value)),I=a(()=>D(C.value)),R=a(()=>D(w.value)),z=a(()=>D(T.value)),Y=(e,t)=>{let n=[];if(t<=5)for(let e=1;e<=t;e++)n.push(e);else{n.push(1),e>3&&n.push(`...`);let r=Math.max(2,e-1),i=Math.min(t-1,e+1);for(let e=r;e<=i;e++)n.push(e);eY(y.value.all||1,N.value)),me=a(()=>Y(y.value.friendly||1,I.value)),he=a(()=>Y(y.value.neutral||1,R.value)),ge=a(()=>Y(y.value.hostile||1,z.value)),X=a(()=>[...u.player.diplomaticReports||[]].sort((e,t)=>t.timestamp-e.timestamp).slice(0,20)),_e=e=>{switch(e){case F.GiftResources:return M;case F.Attack:case F.AllyAttacked:return ne;case F.Spy:return j;case F.StealDebris:return re;default:return M}},ve=e=>e>0?`text-green-600 dark:text-green-400`:e<0?`text-red-600 dark:text-red-400`:`text-muted-foreground`,ye=e=>e>0?`default`:e<0?`destructive`:`secondary`,Z=e=>{switch(e){case P.Friendly:return`default`;case P.Hostile:return`destructive`;default:return`secondary`}},be=e=>{switch(e){case P.Friendly:return g(`diplomacy.status.friendly`);case P.Hostile:return g(`diplomacy.status.hostile`);default:return g(`diplomacy.status.neutral`)}};return(i,a)=>(_(),s(`div`,Ee,[d(`div`,De,[d(`div`,null,[d(`h1`,Oe,c(n(g)(`diplomacy.title`)),1),d(`p`,ke,c(n(g)(`diplomacy.description`)),1)])]),m(n(de),{modelValue:v.value,"onUpdate:modelValue":a[4]||=e=>v.value=e,class:`w-full`},{default:t(()=>[m(n(fe),{class:`grid w-full grid-cols-4`},{default:t(()=>[m(n(U),{value:`all`},{default:t(()=>[e(c(n(g)(`diplomacy.tabs.all`))+` `,1),m(n(L),{variant:`secondary`,class:`ml-2`},{default:t(()=>[e(c(S.value.length),1)]),_:1})]),_:1}),m(n(U),{value:`friendly`},{default:t(()=>[e(c(n(g)(`diplomacy.tabs.friendly`))+` `,1),m(n(L),{variant:`secondary`,class:`ml-2`},{default:t(()=>[e(c(C.value.length),1)]),_:1})]),_:1}),m(n(U),{value:`neutral`},{default:t(()=>[e(c(n(g)(`diplomacy.tabs.neutral`))+` `,1),m(n(L),{variant:`secondary`,class:`ml-2`},{default:t(()=>[e(c(w.value.length),1)]),_:1})]),_:1}),m(n(U),{value:`hostile`},{default:t(()=>[e(c(n(g)(`diplomacy.tabs.hostile`))+` `,1),m(n(L),{variant:`secondary`,class:`ml-2`},{default:t(()=>[e(c(T.value.length),1)]),_:1})]),_:1})]),_:1}),m(n(H),{value:`all`,class:`space-y-4 mt-6`},{default:t(()=>[S.value.length===0?(_(),s(`div`,Ae,c(n(g)(`diplomacy.noNpcs`)),1)):(_(),s(r,{key:1},[d(`div`,je,[(_(!0),s(r,null,h(O.value,e=>(_(),l(Q,{key:e.id,npc:e,relation:x(e.id)},null,8,[`npc`,`relation`]))),128))]),N.value>1?(_(),l(n(W),{key:0,page:y.value.all,"onUpdate:page":a[0]||=e=>y.value.all=e,total:S.value.length,"items-per-page":$,"sibling-count":1,"show-edges":``,class:`mt-6`},{default:t(()=>[m(n(G),null,{default:t(()=>[m(n(J),null,{default:t(()=>[e(c(n(g)(`pagination.previous`)),1)]),_:1}),(_(!0),s(r,null,h(pe.value,(i,a)=>(_(),s(r,{key:a},[typeof i==`number`?(_(),l(n(K),{key:0,value:i,"is-active":i===y.value.all},{default:t(()=>[e(c(i),1)]),_:2},1032,[`value`,`is-active`])):(_(),s(`span`,Me,c(i),1))],64))),128)),m(n(q),null,{default:t(()=>[e(c(n(g)(`pagination.next`)),1)]),_:1})]),_:1})]),_:1},8,[`page`,`total`])):f(``,!0)],64))]),_:1}),m(n(H),{value:`friendly`,class:`space-y-4 mt-6`},{default:t(()=>[C.value.length===0?(_(),s(`div`,Ne,c(n(g)(`diplomacy.noFriendlyNpcs`)),1)):(_(),s(r,{key:1},[d(`div`,Pe,[(_(!0),s(r,null,h(k.value,e=>(_(),l(Q,{key:e.id,npc:e,relation:x(e.id)},null,8,[`npc`,`relation`]))),128))]),I.value>1?(_(),l(n(W),{key:0,page:y.value.friendly,"onUpdate:page":a[1]||=e=>y.value.friendly=e,total:C.value.length,"items-per-page":$,"sibling-count":1,"show-edges":``,class:`mt-6`},{default:t(()=>[m(n(G),null,{default:t(()=>[m(n(J),null,{default:t(()=>[e(c(n(g)(`pagination.previous`)),1)]),_:1}),(_(!0),s(r,null,h(me.value,(i,a)=>(_(),s(r,{key:a},[typeof i==`number`?(_(),l(n(K),{key:0,value:i,"is-active":i===y.value.friendly},{default:t(()=>[e(c(i),1)]),_:2},1032,[`value`,`is-active`])):(_(),s(`span`,Fe,c(i),1))],64))),128)),m(n(q),null,{default:t(()=>[e(c(n(g)(`pagination.next`)),1)]),_:1})]),_:1})]),_:1},8,[`page`,`total`])):f(``,!0)],64))]),_:1}),m(n(H),{value:`neutral`,class:`space-y-4 mt-6`},{default:t(()=>[w.value.length===0?(_(),s(`div`,Ie,c(n(g)(`diplomacy.noNeutralNpcs`)),1)):(_(),s(r,{key:1},[d(`div`,Le,[(_(!0),s(r,null,h(A.value,e=>(_(),l(Q,{key:e.id,npc:e,relation:x(e.id)},null,8,[`npc`,`relation`]))),128))]),R.value>1?(_(),l(n(W),{key:0,page:y.value.neutral,"onUpdate:page":a[2]||=e=>y.value.neutral=e,total:w.value.length,"items-per-page":$,"sibling-count":1,"show-edges":``,class:`mt-6`},{default:t(()=>[m(n(G),null,{default:t(()=>[m(n(J),null,{default:t(()=>[e(c(n(g)(`pagination.previous`)),1)]),_:1}),(_(!0),s(r,null,h(he.value,(i,a)=>(_(),s(r,{key:a},[typeof i==`number`?(_(),l(n(K),{key:0,value:i,"is-active":i===y.value.neutral},{default:t(()=>[e(c(i),1)]),_:2},1032,[`value`,`is-active`])):(_(),s(`span`,Re,c(i),1))],64))),128)),m(n(q),null,{default:t(()=>[e(c(n(g)(`pagination.next`)),1)]),_:1})]),_:1})]),_:1},8,[`page`,`total`])):f(``,!0)],64))]),_:1}),m(n(H),{value:`hostile`,class:`space-y-4 mt-6`},{default:t(()=>[T.value.length===0?(_(),s(`div`,ze,c(n(g)(`diplomacy.noHostileNpcs`)),1)):(_(),s(r,{key:1},[d(`div`,Be,[(_(!0),s(r,null,h(te.value,e=>(_(),l(Q,{key:e.id,npc:e,relation:x(e.id)},null,8,[`npc`,`relation`]))),128))]),z.value>1?(_(),l(n(W),{key:0,page:y.value.hostile,"onUpdate:page":a[3]||=e=>y.value.hostile=e,total:T.value.length,"items-per-page":$,"sibling-count":1,"show-edges":``,class:`mt-6`},{default:t(()=>[m(n(G),null,{default:t(()=>[m(n(J),null,{default:t(()=>[e(c(n(g)(`pagination.previous`)),1)]),_:1}),(_(!0),s(r,null,h(ge.value,(i,a)=>(_(),s(r,{key:a},[typeof i==`number`?(_(),l(n(K),{key:0,value:i,"is-active":i===y.value.hostile},{default:t(()=>[e(c(i),1)]),_:2},1032,[`value`,`is-active`])):(_(),s(`span`,Ve,c(i),1))],64))),128)),m(n(q),null,{default:t(()=>[e(c(n(g)(`pagination.next`)),1)]),_:1})]),_:1})]),_:1},8,[`page`,`total`])):f(``,!0)],64))]),_:1})]),_:1},8,[`modelValue`]),X.value.length>0?(_(),l(n(se),{key:0},{default:t(()=>[m(n(B),null,{default:t(()=>[m(n(oe),null,{default:t(()=>[e(c(n(g)(`diplomacy.recentEvents`)),1)]),_:1}),m(n(ie),null,{default:t(()=>[e(c(n(g)(`diplomacy.recentEventsDescription`)),1)]),_:1})]),_:1}),m(n(V),null,{default:t(()=>[d(`div`,He,[(_(!0),s(r,null,h(X.value,r=>(_(),s(`div`,{key:r.id,class:`flex items-start gap-3 p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors`},[d(`div`,Ue,[(_(),l(b(_e(r.eventType)),{class:ee([`h-5 w-5`,ve(r.reputationChange)])},null,8,[`class`]))]),d(`div`,We,[d(`div`,Ge,[d(`span`,Ke,c(r.npcName),1),m(n(L),{variant:ye(r.reputationChange),class:`text-xs`},{default:t(()=>[e(c(r.reputationChange>0?`+`:``)+c(r.reputationChange),1)]),_:2},1032,[`variant`]),m(n(L),{variant:Z(r.newStatus),class:`text-xs`},{default:t(()=>[e(c(be(r.newStatus)),1)]),_:2},1032,[`variant`])]),d(`p`,qe,c(r.message),1),d(`p`,Je,c(n(ce)(Date.now()-r.timestamp))+` `+c(n(g)(`diplomacy.ago`)),1)])]))),128))])]),_:1})]),_:1})):f(``,!0)]))}});export{Ye as default}; \ No newline at end of file diff --git a/docs/assets/FleetView-BBGER_SR.js b/docs/assets/FleetView-BBGER_SR.js deleted file mode 100644 index fcf914a..0000000 --- a/docs/assets/FleetView-BBGER_SR.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as i,F as a,Gt as o,Jt as s,Kt as c,Mt as l,Nt as ee,On as u,Ot as d,S as te,Tn as f,Wt as ne,Xt as re,a as ie,d as p,f as m,hn as h,in as g,jt as _,kt as v,m as ae,n as oe,p as y,rt as b,u as se}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import{a as ce,o as le}from"./vendor-vue-router-CWDMmE-U.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{I as ue,S as de,_ as fe,c as pe,d as me,r as he,v as ge}from"./vendor-icons-W6Ny__75.js";import{t as x}from"./CardDescription-D2AN1hhX.js";import{f as S,m as C,u as _e}from"./game-config-D-D7cMgJ.js";import{A as w,F as ve,I as ye,M as T,O as E,P as be,c as D,i as O,k as xe,l as k,r as A,s as j,t as M,u as N,w as P}from"./index-DWmvUlvu.js";import{t as Se}from"./useGameConfig-B5wf1i8i.js";import{t as Ce}from"./AlertDialog-CiXBEnQ0.js";import{t as we}from"./UnlockRequirement-c2kDZKZ0.js";var Te={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},Ee={class:`text-2xl sm:text-3xl font-bold`},De={class:`flex gap-2 border-b`},Oe={key:0},ke={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},Ae={class:`flex justify-between items-start`},je={class:`font-semibold text-sm sm:text-base`},Me={class:`text-xl sm:text-2xl font-bold`},Ne={class:`text-xs sm:text-sm text-muted-foreground space-y-1`},Pe={key:1,class:`space-y-4`},Fe={class:`flex justify-between items-center`},Ie={class:`text-sm font-medium`},Le={class:`text-sm font-bold`},Re={class:`grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4`},ze={class:`flex gap-2`},Be={class:`grid grid-cols-3 gap-2 sm:gap-4`},Ve={class:`space-y-2`},He={class:`space-y-2`},Ue={class:`space-y-2`},We={class:`grid grid-cols-2 sm:grid-cols-3 gap-2`},Ge={class:`grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4`},Ke={class:`space-y-2`},qe={class:`space-y-2`},Je={class:`space-y-2`},Ye={class:`text-xs sm:text-sm text-muted-foreground mt-2`},Xe={class:`flex justify-between text-xs sm:text-sm`},Ze={class:`text-muted-foreground`},Qe={class:`flex items-center gap-1.5`},F={class:`text-muted-foreground`},$e={key:0,class:`flex justify-between text-xs sm:text-sm`},et={class:`text-muted-foreground`},tt={key:2,class:`space-y-4`},nt={class:`flex justify-between items-start`},rt={class:`text-xs sm:text-sm font-medium mb-2`},it={class:`flex flex-wrap gap-2`},at={key:0},ot={class:`text-xs sm:text-sm font-medium mb-2`},st={class:`flex flex-wrap gap-2 text-xs`},ct={key:0,class:`flex items-center gap-1`},lt={key:1,class:`flex items-center gap-1`},ut={key:2,class:`flex items-center gap-1`},dt={key:3,class:`flex items-center gap-1`},ft={class:`space-y-2`},pt={class:`flex justify-between text-xs sm:text-sm`},mt={class:`flex gap-2`},I=ee({__name:`FleetView`,setup(ee){let I=ce(),ht=le(),L=ye(),gt=ve(),{t:R}=be(),{SHIPS:z}=Se(),B=i(()=>L.currentPlanet),V=h(null),H=h(Date.now()),U=null,_t=i(()=>a(b(L.player.officers,Date.now()).additionalFleetSlots)),W=h(`fleet`),G=h({[C.LightFighter]:0,[C.HeavyFighter]:0,[C.Cruiser]:0,[C.Battleship]:0,[C.SmallCargo]:0,[C.LargeCargo]:0,[C.ColonyShip]:0,[C.Recycler]:0,[C.EspionageProbe]:0,[C.DarkMatterHarvester]:0,[C.Deathstar]:0}),K=h({galaxy:1,system:1,position:1}),q=h(S.Attack),J=h({metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0});ne(()=>{U=window.setInterval(()=>{H.value=Date.now()},1e3);let{galaxy:e,system:t,position:n,mission:r}=I.query;(e||t||n)&&(e&&(K.value.galaxy=Number(e)),t&&(K.value.system=Number(t)),n&&(K.value.position=Number(n)),r===`spy`?q.value=S.Spy:r===`attack`?q.value=S.Attack:r===`colonize`&&(q.value=S.Colonize),W.value=`send`,ht.replace({path:`/fleet`}))}),o(()=>{U&&clearInterval(U)});let Y=i(()=>[{type:S.Attack,name:R(`fleetView.attackMission`),icon:pe},{type:S.Transport,name:R(`fleetView.transport`),icon:de},{type:S.Colonize,name:R(`fleetView.colonize`),icon:fe},{type:S.Spy,name:R(`fleetView.spy`),icon:ue},{type:S.Deploy,name:R(`fleetView.deploy`),icon:he},{type:S.Recycle,name:R(`fleetView.recycle`),icon:ge},{type:S.Destroy,name:R(`fleetView.destroy`),icon:me}]),vt=e=>Y.value.find(t=>t.type===e)?.name||e,yt=e=>L.player.planets.find(t=>t.id===e)?.name||R(`fleetView.unknownPlanet`),X=()=>{let e=0;for(let[t,n]of Object.entries(G.value))if(n>0){let r=z.value[t];e+=r.cargoCapacity*n}return e},Z=()=>J.value.metal+J.value.crystal+J.value.deuterium+J.value.darkMatter,Q=()=>{let e=b(L.player.officers,Date.now());return se(G.value,e.fuelConsumptionReduction,J.value)},bt=()=>{if(!B.value)return 0;let e=m(B.value.position,K.value),t=b(L.player.officers,Date.now());return y(e,p(G.value,t.fleetSpeedBonus))},$=()=>{if(!Object.values(G.value).some(e=>e>0))return{valid:!1,errorKey:`fleetView.noShipsSelected`};if(B.value&&K.value.galaxy===B.value.position.galaxy&&K.value.system===B.value.position.system&&K.value.position===B.value.position.position)return{valid:!1,errorKey:`fleetView.cannotSendToOwnPlanet`};if(q.value===S.Transport&&Z()>X())return{valid:!1,errorKey:`fleetView.cargoExceedsCapacity`};if(q.value===S.Colonize&&(!G.value[C.ColonyShip]||(G.value[C.ColonyShip]??0)<1))return{valid:!1,errorKey:`fleetView.noColonyShip`};if(q.value===S.Recycle){let e=`debris_${K.value.galaxy}_${K.value.system}_${K.value.position}`,t=gt.debrisFields[e];if(!t||t.resources.metal===0&&t.resources.crystal===0)return{valid:!1,errorKey:`fleetView.noDebrisAtTarget`}}return q.value===S.Destroy&&(!G.value[C.Deathstar]||(G.value[C.Deathstar]??0)<1)?{valid:!1,errorKey:`fleetView.noDeathstar`}:{valid:!0}},xt=(e,t,n,r={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0})=>{if(!L.currentPlanet)return!1;let i=L.player.fleetMissions.length,a=ie(L.currentPlanet,n,r,L.player.officers,i);if(!a.valid)return!1;let o=t===S.Transport;oe(L.currentPlanet,n,a.fuelNeeded,o,r);let s=y(m(L.currentPlanet.position,e),p(n,b(L.player.officers,Date.now()).fleetSpeedBonus)),c=ae(L.player.id,L.currentPlanet.id,e,t,n,r,s);return L.player.fleetMissions.push(c),!0},St=()=>{if(!B.value)return;let e=$();if(!e.valid){V.value?.show({title:R(`fleetView.sendFailed`),message:e.errorKey?R(e.errorKey):R(`fleetView.sendFailedMessage`)});return}let t={};for(let[e,n]of Object.entries(G.value))n>0&&(t[e]=n);xt(K.value,q.value,t,q.value===S.Transport?J.value:void 0)?(Object.keys(G.value).forEach(e=>{G.value[e]=0}),J.value={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},W.value=`missions`):V.value?.show({title:R(`fleetView.sendFailed`),message:R(`fleetView.sendFailedMessage`)})},Ct=e=>{let t=L.player.fleetMissions.find(t=>t.id===e);return t?te(t,Date.now()):!1},wt=e=>{Ct(e)||V.value?.show({title:R(`fleetView.recallFailed`),message:R(`fleetView.recallFailedMessage`)})},Tt=e=>{let t=H.value,n=e.status===`outbound`?e.arrivalTime:e.returnTime;return Math.max(0,(n-t)/1e3)},Et=e=>{let t=H.value;if(e.status===`outbound`){let n=e.arrivalTime-e.departureTime,r=t-e.departureTime;return Math.max(0,Math.min(100,r/n*100))}else{let n=e.arrivalTime,r=e.returnTime-n,i=t-n;return Math.max(0,Math.min(100,i/r*100))}};return(i,a)=>B.value?(c(),e(`div`,Te,[l(we,{"required-building":t(_e).Shipyard,"required-level":1},null,8,[`required-building`]),r(`h1`,Ee,u(t(R)(`fleetView.title`)),1),r(`div`,De,[l(t(T),{onClick:a[0]||=e=>W.value=`fleet`,variant:W.value===`fleet`?`default`:`ghost`,class:`rounded-b-none`},{default:g(()=>[_(u(t(R)(`fleetView.fleetOverview`)),1)]),_:1},8,[`variant`]),l(t(T),{onClick:a[1]||=e=>W.value=`send`,variant:W.value===`send`?`default`:`ghost`,class:`rounded-b-none`},{default:g(()=>[_(u(t(R)(`fleetView.sendFleet`)),1)]),_:1},8,[`variant`]),l(t(T),{onClick:a[2]||=e=>W.value=`missions`,variant:W.value===`missions`?`default`:`ghost`,class:`rounded-b-none`},{default:g(()=>[_(u(t(R)(`fleetView.flightMissions`))+` `,1),t(L).player.fleetMissions.length>0?(c(),d(t(w),{key:0,variant:`secondary`,class:`ml-1`},{default:g(()=>[_(u(t(L).player.fleetMissions.length),1)]),_:1})):v(``,!0)]),_:1},8,[`variant`])]),W.value===`fleet`?(c(),e(`div`,Oe,[l(t(N),null,{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.currentPlanetFleet`)),1)]),_:1}),l(t(x),null,{default:g(()=>[_(u(B.value.name)+` [`+u(B.value.position.galaxy)+`:`+u(B.value.position.system)+`:`+u(B.value.position.position)+`] `,1)]),_:1})]),_:1}),l(t(k),null,{default:g(()=>[r(`div`,ke,[(c(!0),e(n,null,s(B.value.fleet,(n,i)=>(c(),e(`div`,{key:i,class:`p-3 sm:p-4 border rounded-lg space-y-2`},[r(`div`,Ae,[r(`div`,null,[r(`h3`,je,u(t(z)[i].name),1),r(`p`,Me,u(t(A)(n)),1)])]),r(`div`,Ne,[r(`p`,null,u(t(R)(`fleetView.attack`))+`: `+u(t(z)[i].attack),1),r(`p`,null,u(t(R)(`fleetView.shield`))+`: `+u(t(z)[i].shield),1),r(`p`,null,u(t(R)(`fleetView.armor`))+`: `+u(t(z)[i].armor),1),r(`p`,null,u(t(R)(`fleetView.speed`))+`: `+u(t(A)(t(z)[i].speed)),1),r(`p`,null,u(t(R)(`fleetView.cargo`))+`: `+u(t(A)(t(z)[i].cargoCapacity)),1)])]))),128))])]),_:1})]),_:1})])):v(``,!0),W.value===`send`?(c(),e(`div`,Pe,[l(t(N),null,{default:g(()=>[l(t(k),{class:`py-4`},{default:g(()=>[r(`div`,Fe,[r(`span`,Ie,u(t(R)(`fleetView.fleetMissionSlots`))+`:`,1),r(`span`,Le,u(t(L).player.fleetMissions.length)+` / `+u(_t.value),1)])]),_:1})]),_:1}),l(t(N),null,{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.selectFleet`)),1)]),_:1}),l(t(x),null,{default:g(()=>[_(u(t(R)(`fleetView.selectFleetDescription`)),1)]),_:1})]),_:1}),l(t(k),null,{default:g(()=>[r(`div`,Re,[(c(!0),e(n,null,s(B.value.fleet,(n,i)=>(c(),e(`div`,{key:i,class:`space-y-2`},[l(t(M),{for:`ship-${i}`,class:`text-xs sm:text-sm`},{default:g(()=>[_(u(t(z)[i].name)+` (`+u(t(R)(`fleetView.available`))+`: `+u(n)+`) `,1)]),_:2},1032,[`for`]),r(`div`,ze,[l(t(E),{id:`ship-${i}`,modelValue:G.value[i],"onUpdate:modelValue":e=>G.value[i]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:n,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`max`]),l(t(T),{onClick:e=>G.value[i]=n,variant:`outline`,size:`sm`},{default:g(()=>[_(u(t(R)(`fleetView.all`)),1)]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1}),l(t(N),null,{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.targetCoordinates`)),1)]),_:1})]),_:1}),l(t(k),null,{default:g(()=>[r(`div`,Be,[r(`div`,Ve,[l(t(M),{for:`galaxy`,class:`text-xs sm:text-sm`},{default:g(()=>[_(u(t(R)(`fleetView.galaxy`)),1)]),_:1}),l(t(E),{id:`galaxy`,modelValue:K.value.galaxy,"onUpdate:modelValue":a[3]||=e=>K.value.galaxy=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`9`,placeholder:`1`},null,8,[`modelValue`])]),r(`div`,He,[l(t(M),{for:`system`,class:`text-xs sm:text-sm`},{default:g(()=>[_(u(t(R)(`fleetView.system`)),1)]),_:1}),l(t(E),{id:`system`,modelValue:K.value.system,"onUpdate:modelValue":a[4]||=e=>K.value.system=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])]),r(`div`,Ue,[l(t(M),{for:`position`,class:`text-xs sm:text-sm`},{default:g(()=>[_(u(t(R)(`fleetView.position`)),1)]),_:1}),l(t(E),{id:`position`,modelValue:K.value.position,"onUpdate:modelValue":a[5]||=e=>K.value.position=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])])])]),_:1})]),_:1}),l(t(N),null,{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.missionType`)),1)]),_:1})]),_:1}),l(t(k),null,{default:g(()=>[r(`div`,We,[(c(!0),e(n,null,s(Y.value,e=>(c(),d(t(T),{key:e.type,onClick:t=>q.value=e.type,variant:q.value===e.type?`default`:`outline`,class:`justify-start`},{default:g(()=>[(c(),d(re(e.icon),{class:`h-4 w-4 mr-2`})),_(` `+u(e.name),1)]),_:2},1032,[`onClick`,`variant`]))),128))])]),_:1})]),_:1}),q.value===t(S).Transport?(c(),d(t(N),{key:0},{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.transportResources`)),1)]),_:1})]),_:1}),l(t(k),null,{default:g(()=>[r(`div`,Ge,[r(`div`,Ke,[l(t(M),{for:`cargo-metal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:g(()=>[l(P,{type:`metal`,size:`sm`}),_(` `+u(t(R)(`resources.metal`))+` (`+u(t(R)(`fleetView.available`))+`: `+u(t(A)(B.value.resources.metal))+`) `,1)]),_:1}),l(t(E),{id:`cargo-metal`,modelValue:J.value.metal,"onUpdate:modelValue":a[6]||=e=>J.value.metal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:B.value.resources.metal,placeholder:`0`},null,8,[`modelValue`,`max`])]),r(`div`,qe,[l(t(M),{for:`cargo-crystal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:g(()=>[l(P,{type:`crystal`,size:`sm`}),_(` `+u(t(R)(`resources.crystal`))+` (`+u(t(R)(`fleetView.available`))+`: `+u(t(A)(B.value.resources.crystal))+`) `,1)]),_:1}),l(t(E),{id:`cargo-crystal`,modelValue:J.value.crystal,"onUpdate:modelValue":a[7]||=e=>J.value.crystal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:B.value.resources.crystal,placeholder:`0`},null,8,[`modelValue`,`max`])]),r(`div`,Je,[l(t(M),{for:`cargo-deuterium`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:g(()=>[l(P,{type:`deuterium`,size:`sm`}),_(` `+u(t(R)(`resources.deuterium`))+` (`+u(t(R)(`fleetView.available`))+`: `+u(t(A)(B.value.resources.deuterium))+`) `,1)]),_:1}),l(t(E),{id:`cargo-deuterium`,modelValue:J.value.deuterium,"onUpdate:modelValue":a[8]||=e=>J.value.deuterium=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:B.value.resources.deuterium,placeholder:`0`},null,8,[`modelValue`,`max`])])]),r(`p`,Ye,u(t(R)(`fleetView.totalCargoCapacity`))+`: `+u(t(A)(X()))+` | `+u(t(R)(`fleetView.used`))+`: `+u(t(A)(Z())),1)]),_:1})]),_:1})):v(``,!0),l(t(N),null,{default:g(()=>[l(t(D),null,{default:g(()=>[l(t(j),null,{default:g(()=>[_(u(t(R)(`fleetView.missionInfo`)),1)]),_:1})]),_:1}),l(t(k),{class:`space-y-2`},{default:g(()=>[r(`div`,Xe,[r(`span`,Ze,u(t(R)(`fleetView.fuelConsumption`))+`:`,1),r(`span`,Qe,[l(P,{type:`deuterium`,size:`sm`}),r(`span`,{class:f(Q()>B.value.resources.deuterium?`text-red-600 dark:text-red-400 font-medium`:``)},u(t(A)(Q())),3),r(`span`,F,`/ `+u(t(A)(B.value.resources.deuterium)),1)])]),Object.values(G.value).some(e=>e>0)?(c(),e(`div`,$e,[r(`span`,et,u(t(R)(`fleetView.flightTime`))+`:`,1),r(`span`,null,u(t(O)(bt())),1)])):v(``,!0)]),_:1})]),_:1}),l(t(T),{onClick:St,disabled:!$(),class:`w-full`,size:`lg`},{default:g(()=>[_(u(t(R)(`fleetView.sendFleet`)),1)]),_:1},8,[`disabled`])])):v(``,!0),W.value===`missions`?(c(),e(`div`,tt,[t(L).player.fleetMissions.length===0?(c(),d(t(N),{key:0},{default:g(()=>[l(t(k),{class:`py-8 text-center text-muted-foreground`},{default:g(()=>[_(u(t(R)(`fleetView.noFlightMissions`)),1)]),_:1})]),_:1})):v(``,!0),(c(!0),e(n,null,s(t(L).player.fleetMissions,i=>(c(),d(t(N),{key:i.id},{default:g(()=>[l(t(D),null,{default:g(()=>[r(`div`,nt,[r(`div`,null,[l(t(j),{class:`text-base sm:text-lg`},{default:g(()=>[_(u(vt(i.missionType)),1)]),_:2},1024),l(t(x),{class:`text-xs sm:text-sm`},{default:g(()=>[_(u(yt(i.originPlanetId))+` → [`+u(i.targetPosition.galaxy)+`:`+u(i.targetPosition.system)+`:`+u(i.targetPosition.position)+`] `,1)]),_:2},1024)]),l(t(w),{variant:i.status===`outbound`?`default`:`secondary`},{default:g(()=>[_(u(i.status===`outbound`?t(R)(`fleetView.outbound`):t(R)(`fleetView.returning`)),1)]),_:2},1032,[`variant`])])]),_:2},1024),l(t(k),{class:`space-y-3`},{default:g(()=>[r(`div`,null,[r(`p`,rt,u(t(R)(`fleetView.fleetComposition`))+`:`,1),r(`div`,it,[(c(!0),e(n,null,s(i.fleet,(e,n)=>(c(),d(t(w),{key:n,variant:`outline`},{default:g(()=>[_(u(t(z)[n].name)+`: `+u(e),1)]),_:2},1024))),128))])]),i.cargo.metal>0||i.cargo.crystal>0||i.cargo.deuterium>0||i.cargo.darkMatter>0?(c(),e(`div`,at,[r(`p`,ot,u(t(R)(`fleetView.carryingResources`))+`:`,1),r(`div`,st,[i.cargo.metal>0?(c(),e(`span`,ct,[l(P,{type:`metal`,size:`sm`}),_(` `+u(t(A)(i.cargo.metal)),1)])):v(``,!0),i.cargo.crystal>0?(c(),e(`span`,lt,[l(P,{type:`crystal`,size:`sm`}),_(` `+u(t(A)(i.cargo.crystal)),1)])):v(``,!0),i.cargo.deuterium>0?(c(),e(`span`,ut,[l(P,{type:`deuterium`,size:`sm`}),_(` `+u(t(A)(i.cargo.deuterium)),1)])):v(``,!0),i.cargo.darkMatter>0?(c(),e(`span`,dt,[l(P,{type:`darkMatter`,size:`sm`}),_(` `+u(t(A)(i.cargo.darkMatter)),1)])):v(``,!0)])])):v(``,!0),r(`div`,ft,[r(`div`,pt,[r(`span`,null,u(i.status===`outbound`?t(R)(`fleetView.arrivalTime`):t(R)(`fleetView.returnTime`))+`:`,1),r(`span`,null,u(t(O)(Tt(i))),1)]),l(t(xe),{"model-value":Et(i)},null,8,[`model-value`])]),r(`div`,mt,[i.status===`outbound`?(c(),d(t(T),{key:0,onClick:e=>wt(i.id),variant:`outline`,size:`sm`,class:`w-full`},{default:g(()=>[_(u(t(R)(`fleetView.recallFleet`)),1)]),_:1},8,[`onClick`])):v(``,!0)])]),_:2},1024)]),_:2},1024))),128))])):v(``,!0),l(Ce,{ref_key:`alertDialog`,ref:V},null,512)])):v(``,!0)}});export{I as default}; \ No newline at end of file diff --git a/docs/assets/FleetView-D6gRUTGU.js b/docs/assets/FleetView-D6gRUTGU.js new file mode 100644 index 0000000..f96560e --- /dev/null +++ b/docs/assets/FleetView-D6gRUTGU.js @@ -0,0 +1 @@ +import{$t as e,Ct as t,En as n,Gn as r,Gt as i,I as a,Jn as ee,Jt as o,L as s,Ln as c,Qt as l,R as te,Xn as u,Xt as d,Y as ne,Yt as f,Zt as p,_n as m,a as re,bt as ie,en as h,fn as ae,gn as g,ln as oe,mn as _,n as se,pn as ce,q as le,qn as ue,rn as v,tn as y,vn as de,x as fe,xt as b}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import{a as pe,o as me}from"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import{c as x}from"./vendor-others-DTUzJ7S-.js";import{$ as S,F as C,I as w}from"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{L as he,P as ge,S as _e,_ as ve,c as ye,d as be,q as T,r as xe,v as Se}from"./vendor-icons-z9V6Jdbh.js";import{t as E}from"./CardDescription-BSLS07AU.js";import{_ as D,d as Ce,m as O}from"./game-config-CG6z6nnH.js";import{G as k,H as A,K as we,L as j,N as M,V as Te,W as N,_ as P,a as Ee,b as F,f as I,g as L,i as De,l as Oe,n as ke,o as Ae,p as R,q as je,r as Me,s as Ne,t as Pe,u as Fe,v as z,y as B}from"./index-BT5w6et-.js";import{t as Ie}from"./useGameConfig-b98LOtBY.js";import{i as Le,n as Re,r as V,t as H}from"./TabsTrigger-DrosU7aN.js";import{t as ze}from"./UnlockRequirement-CoWPiUl8.js";var Be=y({__name:`Checkbox`,props:{defaultValue:{type:[Boolean,String]},modelValue:{type:[Boolean,String,null]},disabled:{type:Boolean},value:{},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,o=S(x(i,`class`),a);return(e,t)=>(_(),d(r(w),oe({"data-slot":`checkbox`},r(o),{class:r(k)(`peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,i.class)}),{default:n(t=>[h(r(C),{"data-slot":`checkbox-indicator`,class:`grid place-content-center text-current transition-none`},{default:n(()=>[m(e.$slots,`default`,ee(v(t)),()=>[h(r(T),{class:`size-3.5`})])]),_:2},1024)]),_:3},16,[`class`]))}}),Ve={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},He={class:`text-2xl sm:text-3xl font-bold`},Ue={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},We={class:`flex justify-between items-start`},Ge={class:`font-semibold text-sm sm:text-base`},Ke={class:`text-xl sm:text-2xl font-bold`},qe={class:`text-xs sm:text-sm text-muted-foreground space-y-1`},Je={class:`flex justify-between items-center`},Ye={class:`text-sm font-medium`},Xe={class:`text-sm font-bold`},Ze={class:`grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4`},Qe={class:`flex gap-2`},$e={class:`grid grid-cols-3 gap-2 sm:gap-4`},et={class:`space-y-2`},tt={class:`space-y-2`},nt={class:`space-y-2`},rt={class:`grid grid-cols-2 sm:grid-cols-3 gap-2`},it={key:0,class:`mb-4 p-3 border rounded-lg bg-muted/50`},at={class:`flex items-center gap-2 mb-2`},ot={class:`text-xs text-muted-foreground`},st={key:0,class:`mt-2 text-xs`},ct={class:`text-muted-foreground`},lt={class:`ml-1 font-semibold text-green-600 dark:text-green-400`},ut={class:`grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4`},dt={class:`space-y-2`},ft={class:`space-y-2`},pt={class:`space-y-2`},mt={class:`text-xs sm:text-sm text-muted-foreground mt-2`},ht={class:`flex justify-between text-xs sm:text-sm`},gt={class:`text-muted-foreground`},_t={class:`flex items-center gap-1.5`},vt={class:`text-muted-foreground`},yt={key:0,class:`flex justify-between text-xs sm:text-sm`},bt={class:`text-muted-foreground`},xt={class:`flex justify-between items-start`},St={class:`text-xs sm:text-sm font-medium mb-2`},Ct={class:`flex flex-wrap gap-2`},wt={key:0},Tt={class:`text-xs sm:text-sm font-medium mb-2`},Et={class:`flex flex-wrap gap-2 text-xs`},Dt={key:0,class:`flex items-center gap-1`},Ot={key:1,class:`flex items-center gap-1`},kt={key:2,class:`flex items-center gap-1`},At={key:3,class:`flex items-center gap-1`},jt={class:`space-y-2`},Mt={class:`flex justify-between text-xs sm:text-sm`},Nt={class:`flex gap-2`},U=y({__name:`FleetView`,setup(ee){let m=pe(),oe=me(),v=je(),y=ke(),x=Pe(),{t:S}=we(),{SHIPS:C}=Ie(),w=o(()=>v.currentPlanet),T=c(!1),k=c(``),U=c(``),W=c(Date.now()),G=null,Pt=o(()=>fe(t(v.player.officers,Date.now()).additionalFleetSlots)),K=c(`fleet`),q=c({[D.LightFighter]:0,[D.HeavyFighter]:0,[D.Cruiser]:0,[D.Battleship]:0,[D.SmallCargo]:0,[D.LargeCargo]:0,[D.ColonyShip]:0,[D.Recycler]:0,[D.EspionageProbe]:0,[D.DarkMatterHarvester]:0,[D.Deathstar]:0}),J=c({galaxy:1,system:1,position:1}),Y=c(O.Attack),X=c({metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0});ae(()=>{G=window.setInterval(()=>{W.value=Date.now()},1e3);let{galaxy:e,system:t,position:n,mission:r,gift:i}=m.query;(e||t||n)&&(e&&(J.value.galaxy=Number(e)),t&&(J.value.system=Number(t)),n&&(J.value.position=Number(n)),r===`spy`?Y.value=O.Spy:r===`attack`?Y.value=O.Attack:r===`colonize`?Y.value=O.Colonize:i===`1`&&(Y.value=O.Transport,Q.value=!0),K.value=`send`,oe.replace({path:`/fleet`}))}),ce(()=>{G&&clearInterval(G)});let Z=o(()=>x.npcs.find(e=>e.planets.some(e=>e.position.galaxy===J.value.galaxy&&e.position.system===J.value.system&&e.position.position===J.value.position))),Q=c(!1),Ft=()=>ne(X.value),It=o(()=>[{type:O.Attack,name:S(`fleetView.attackMission`),icon:ye},{type:O.Transport,name:S(`fleetView.transport`),icon:_e},{type:O.Colonize,name:S(`fleetView.colonize`),icon:ve},{type:O.Spy,name:S(`fleetView.spy`),icon:he},{type:O.Deploy,name:S(`fleetView.deploy`),icon:xe},{type:O.Recycle,name:S(`fleetView.recycle`),icon:Se},{type:O.Destroy,name:S(`fleetView.destroy`),icon:be}]),Lt=e=>It.value.find(t=>t.type===e)?.name||e,Rt=e=>v.player.planets.find(t=>t.id===e)?.name||S(`fleetView.unknownPlanet`),zt=()=>{let e=0;for(let[t,n]of Object.entries(q.value))if(n>0){let r=C.value[t];e+=r.cargoCapacity*n}return e},Bt=()=>X.value.metal+X.value.crystal+X.value.deuterium+X.value.darkMatter,Vt=()=>{let e=t(v.player.officers,Date.now());return ie(q.value,e.fuelConsumptionReduction,X.value)},Ht=()=>{if(!w.value)return 0;let e=a(w.value.position,J.value),n=t(v.player.officers,Date.now());return s(e,b(q.value,n.fleetSpeedBonus))},$=()=>{if(!Object.values(q.value).some(e=>e>0))return{valid:!1,errorKey:`fleetView.noShipsSelected`};if(w.value&&Y.value!==O.Recycle&&Y.value!==O.Deploy&&J.value.galaxy===w.value.position.galaxy&&J.value.system===w.value.position.system&&J.value.position===w.value.position.position)return{valid:!1,errorKey:`fleetView.cannotSendToOwnPlanet`};if(Y.value===O.Transport&&Bt()>zt())return{valid:!1,errorKey:`fleetView.cargoExceedsCapacity`};if(Y.value===O.Colonize&&(!q.value[D.ColonyShip]||(q.value[D.ColonyShip]??0)<1))return{valid:!1,errorKey:`fleetView.noColonyShip`};if(Y.value===O.Recycle){let e=`debris_${J.value.galaxy}_${J.value.system}_${J.value.position}`,t=y.debrisFields[e];if(!t||t.resources.metal===0&&t.resources.crystal===0)return{valid:!1,errorKey:`fleetView.noDebrisAtTarget`}}return Y.value===O.Destroy&&(!q.value[D.Deathstar]||(q.value[D.Deathstar]??0)<1)?{valid:!1,errorKey:`fleetView.noDeathstar`}:{valid:!0}},Ut=(e,n,r,i={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0})=>{if(!v.currentPlanet)return!1;let ee=v.player.fleetMissions.length,o=re(v.currentPlanet,r,i,v.player.officers,ee);if(!o.valid)return!1;let c=n===O.Transport;se(v.currentPlanet,r,o.fuelNeeded,c,i);let l=s(a(v.currentPlanet.position,e),b(r,t(v.player.officers,Date.now()).fleetSpeedBonus)),u=te(v.player.id,v.currentPlanet.id,e,n,r,i,l);return n===O.Transport&&Q.value&&Z.value&&(u.isGift=!0,u.giftTargetNpcId=Z.value.id),v.player.fleetMissions.push(u),!0},Wt=()=>{if(!w.value)return;let e=$();if(!e.valid){k.value=S(`fleetView.sendFailed`),U.value=e.errorKey?S(e.errorKey):S(`fleetView.sendFailedMessage`),T.value=!0;return}let t={};for(let[e,n]of Object.entries(q.value))n>0&&(t[e]=n);Ut(J.value,Y.value,t,Y.value===O.Transport?X.value:void 0)?(Object.keys(q.value).forEach(e=>{q.value[e]=0}),X.value={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},Q.value=!1,K.value=`missions`):(k.value=S(`fleetView.sendFailed`),U.value=S(`fleetView.sendFailedMessage`),T.value=!0)},Gt=e=>{let t=v.player.fleetMissions.find(t=>t.id===e);return t?le(t,Date.now()):!1},Kt=e=>{Gt(e)||(k.value=S(`fleetView.recallFailed`),U.value=S(`fleetView.recallFailedMessage`),T.value=!0)},qt=e=>{let t=W.value,n=e.status===`outbound`?e.arrivalTime:e.returnTime;return Math.max(0,(n-t)/1e3)},Jt=e=>{let t=W.value;if(e.status===`outbound`){let n=e.arrivalTime-e.departureTime,r=t-e.departureTime;return Math.max(0,Math.min(100,r/n*100))}else{let n=e.arrivalTime,r=e.returnTime-n,i=t-n;return Math.max(0,Math.min(100,i/r*100))}};return(t,a)=>w.value?(_(),l(`div`,Ve,[h(ze,{"required-building":r(Ce).Shipyard,"required-level":1},null,8,[`required-building`]),f(`h1`,He,u(r(S)(`fleetView.title`)),1),h(r(Le),{modelValue:K.value,"onUpdate:modelValue":a[6]||=e=>K.value=e,class:`w-full`},{default:n(()=>[h(r(Re),{class:`grid w-full grid-cols-3`},{default:n(()=>[h(r(H),{value:`fleet`},{default:n(()=>[e(u(r(S)(`fleetView.fleetOverview`)),1)]),_:1}),h(r(H),{value:`send`},{default:n(()=>[e(u(r(S)(`fleetView.sendFleet`)),1)]),_:1}),h(r(H),{value:`missions`},{default:n(()=>[e(u(r(S)(`fleetView.flightMissions`))+` `,1),r(v).player.fleetMissions.length>0?(_(),d(r(A),{key:0,variant:`destructive`,class:`ml-1`},{default:n(()=>[e(u(r(v).player.fleetMissions.length),1)]),_:1})):p(``,!0)]),_:1})]),_:1}),h(r(V),{value:`fleet`,class:`mt-4`},{default:n(()=>[h(r(F),null,{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.currentPlanetFleet`)),1)]),_:1}),h(r(E),null,{default:n(()=>[e(u(w.value.name)+` [`+u(w.value.position.galaxy)+`:`+u(w.value.position.system)+`:`+u(w.value.position.position)+`] `,1)]),_:1})]),_:1}),h(r(B),null,{default:n(()=>[f(`div`,Ue,[(_(!0),l(i,null,g(w.value.fleet,(e,t)=>(_(),l(`div`,{key:t,class:`p-3 sm:p-4 border rounded-lg space-y-2`},[f(`div`,We,[f(`div`,null,[f(`h3`,Ge,u(r(C)[t].name),1),f(`p`,Ke,u(r(I)(e)),1)])]),f(`div`,qe,[f(`p`,null,u(r(S)(`fleetView.attack`))+`: `+u(r(C)[t].attack),1),f(`p`,null,u(r(S)(`fleetView.shield`))+`: `+u(r(C)[t].shield),1),f(`p`,null,u(r(S)(`fleetView.armor`))+`: `+u(r(C)[t].armor),1),f(`p`,null,u(r(S)(`fleetView.speed`))+`: `+u(r(I)(r(C)[t].speed)),1),f(`p`,null,u(r(S)(`fleetView.cargo`))+`: `+u(r(I)(r(C)[t].cargoCapacity)),1)])]))),128))])]),_:1})]),_:1})]),_:1}),h(r(V),{value:`send`,class:`mt-4 space-y-4`},{default:n(()=>[h(r(F),null,{default:n(()=>[h(r(B),{class:`py-4`},{default:n(()=>[f(`div`,Je,[f(`span`,Ye,u(r(S)(`fleetView.fleetMissionSlots`))+`:`,1),f(`span`,Xe,u(r(v).player.fleetMissions.length)+` / `+u(Pt.value),1)])]),_:1})]),_:1}),h(r(F),null,{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.selectFleet`)),1)]),_:1}),h(r(E),null,{default:n(()=>[e(u(r(S)(`fleetView.selectFleetDescription`)),1)]),_:1})]),_:1}),h(r(B),null,{default:n(()=>[f(`div`,Ze,[(_(!0),l(i,null,g(w.value.fleet,(t,i)=>(_(),l(`div`,{key:i,class:`space-y-2`},[h(r(L),{for:`ship-${i}`,class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(C)[i].name)+` (`+u(r(S)(`fleetView.available`))+`: `+u(t)+`) `,1)]),_:2},1032,[`for`]),f(`div`,Qe,[h(r(j),{id:`ship-${i}`,modelValue:q.value[i],"onUpdate:modelValue":e=>q.value[i]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:t,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`max`]),h(r(N),{onClick:e=>q.value[i]=t,variant:`outline`,size:`sm`},{default:n(()=>[e(u(r(S)(`fleetView.all`)),1)]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1}),h(r(F),null,{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.targetCoordinates`)),1)]),_:1})]),_:1}),h(r(B),null,{default:n(()=>[f(`div`,$e,[f(`div`,et,[h(r(L),{for:`galaxy`,class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(S)(`fleetView.galaxy`)),1)]),_:1}),h(r(j),{id:`galaxy`,modelValue:J.value.galaxy,"onUpdate:modelValue":a[0]||=e=>J.value.galaxy=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`9`,placeholder:`1`},null,8,[`modelValue`])]),f(`div`,tt,[h(r(L),{for:`system`,class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(S)(`fleetView.system`)),1)]),_:1}),h(r(j),{id:`system`,modelValue:J.value.system,"onUpdate:modelValue":a[1]||=e=>J.value.system=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])]),f(`div`,nt,[h(r(L),{for:`position`,class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(S)(`fleetView.position`)),1)]),_:1}),h(r(j),{id:`position`,modelValue:J.value.position,"onUpdate:modelValue":a[2]||=e=>J.value.position=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:`10`,placeholder:`1`},null,8,[`modelValue`])])])]),_:1})]),_:1}),h(r(F),null,{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.missionType`)),1)]),_:1})]),_:1}),h(r(B),null,{default:n(()=>[f(`div`,rt,[(_(!0),l(i,null,g(It.value,t=>(_(),d(r(N),{key:t.type,onClick:e=>Y.value=t.type,variant:Y.value===t.type?`default`:`outline`,class:`justify-start`},{default:n(()=>[(_(),d(de(t.icon),{class:`h-4 w-4 mr-2`})),e(` `+u(t.name),1)]),_:2},1032,[`onClick`,`variant`]))),128))])]),_:1})]),_:1}),Y.value===r(O).Transport?(_(),d(r(F),{key:0},{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.transportResources`)),1)]),_:1})]),_:1}),h(r(B),null,{default:n(()=>[Z.value?(_(),l(`div`,it,[f(`div`,at,[h(r(Be),{id:`gift-mode`,"default-value":Q.value},null,8,[`default-value`]),h(r(L),{for:`gift-mode`,class:`flex items-center gap-2 cursor-pointer`},{default:n(()=>[h(r(ge),{class:`h-4 w-4`}),e(` `+u(r(S)(`fleetView.giftMode`)),1)]),_:1})]),f(`p`,ot,u(r(S)(`fleetView.giftModeDescription`))+` `+u(Z.value.name),1),Q.value&&(X.value.metal>0||X.value.crystal>0||X.value.deuterium>0)?(_(),l(`div`,st,[f(`span`,ct,u(r(S)(`fleetView.estimatedReputationGain`))+`:`,1),f(`span`,lt,`+`+u(Ft()),1)])):p(``,!0)])):p(``,!0),f(`div`,ut,[f(`div`,dt,[h(r(L),{for:`cargo-metal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:n(()=>[h(M,{type:`metal`,size:`sm`}),e(` `+u(r(S)(`resources.metal`))+` (`+u(r(S)(`fleetView.available`))+`: `+u(r(I)(w.value.resources.metal))+`) `,1)]),_:1}),h(r(j),{id:`cargo-metal`,modelValue:X.value.metal,"onUpdate:modelValue":a[3]||=e=>X.value.metal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:w.value.resources.metal,placeholder:`0`},null,8,[`modelValue`,`max`])]),f(`div`,ft,[h(r(L),{for:`cargo-crystal`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:n(()=>[h(M,{type:`crystal`,size:`sm`}),e(` `+u(r(S)(`resources.crystal`))+` (`+u(r(S)(`fleetView.available`))+`: `+u(r(I)(w.value.resources.crystal))+`) `,1)]),_:1}),h(r(j),{id:`cargo-crystal`,modelValue:X.value.crystal,"onUpdate:modelValue":a[4]||=e=>X.value.crystal=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:w.value.resources.crystal,placeholder:`0`},null,8,[`modelValue`,`max`])]),f(`div`,pt,[h(r(L),{for:`cargo-deuterium`,class:`text-xs sm:text-sm flex items-center gap-2`},{default:n(()=>[h(M,{type:`deuterium`,size:`sm`}),e(` `+u(r(S)(`resources.deuterium`))+` (`+u(r(S)(`fleetView.available`))+`: `+u(r(I)(w.value.resources.deuterium))+`) `,1)]),_:1}),h(r(j),{id:`cargo-deuterium`,modelValue:X.value.deuterium,"onUpdate:modelValue":a[5]||=e=>X.value.deuterium=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:w.value.resources.deuterium,placeholder:`0`},null,8,[`modelValue`,`max`])])]),f(`p`,mt,u(r(S)(`fleetView.totalCargoCapacity`))+`: `+u(r(I)(zt()))+` | `+u(r(S)(`fleetView.used`))+`: `+u(r(I)(Bt())),1)]),_:1})]),_:1})):p(``,!0),h(r(F),null,{default:n(()=>[h(r(z),null,{default:n(()=>[h(r(P),null,{default:n(()=>[e(u(r(S)(`fleetView.missionInfo`)),1)]),_:1})]),_:1}),h(r(B),{class:`space-y-2`},{default:n(()=>[f(`div`,ht,[f(`span`,gt,u(r(S)(`fleetView.fuelConsumption`))+`:`,1),f(`span`,_t,[h(M,{type:`deuterium`,size:`sm`}),f(`span`,{class:ue(Vt()>w.value.resources.deuterium?`text-red-600 dark:text-red-400 font-medium`:``)},u(r(I)(Vt())),3),f(`span`,vt,`/ `+u(r(I)(w.value.resources.deuterium)),1)])]),Object.values(q.value).some(e=>e>0)?(_(),l(`div`,yt,[f(`span`,bt,u(r(S)(`fleetView.flightTime`))+`:`,1),f(`span`,null,u(r(R)(Ht())),1)])):p(``,!0)]),_:1})]),_:1}),h(r(N),{onClick:Wt,disabled:!$(),class:`w-full`,size:`lg`},{default:n(()=>[e(u(r(S)(`fleetView.sendFleet`)),1)]),_:1},8,[`disabled`])]),_:1}),h(r(V),{value:`missions`,class:`mt-4 space-y-4`},{default:n(()=>[r(v).player.fleetMissions.length===0?(_(),d(r(F),{key:0},{default:n(()=>[h(r(B),{class:`py-8 text-center text-muted-foreground`},{default:n(()=>[e(u(r(S)(`fleetView.noFlightMissions`)),1)]),_:1})]),_:1})):p(``,!0),(_(!0),l(i,null,g(r(v).player.fleetMissions,t=>(_(),d(r(F),{key:t.id},{default:n(()=>[h(r(z),null,{default:n(()=>[f(`div`,xt,[f(`div`,null,[h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(Lt(t.missionType)),1)]),_:2},1024),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(Rt(t.originPlanetId))+` → [`+u(t.targetPosition.galaxy)+`:`+u(t.targetPosition.system)+`:`+u(t.targetPosition.position)+`] `,1)]),_:2},1024)]),h(r(A),{variant:t.status===`outbound`?`default`:`secondary`},{default:n(()=>[e(u(t.status===`outbound`?r(S)(`fleetView.outbound`):r(S)(`fleetView.returning`)),1)]),_:2},1032,[`variant`])])]),_:2},1024),h(r(B),{class:`space-y-3`},{default:n(()=>[f(`div`,null,[f(`p`,St,u(r(S)(`fleetView.fleetComposition`))+`:`,1),f(`div`,Ct,[(_(!0),l(i,null,g(t.fleet,(t,i)=>(_(),d(r(A),{key:i,variant:`outline`},{default:n(()=>[e(u(r(C)[i].name)+`: `+u(t),1)]),_:2},1024))),128))])]),t.cargo.metal>0||t.cargo.crystal>0||t.cargo.deuterium>0||t.cargo.darkMatter>0?(_(),l(`div`,wt,[f(`p`,Tt,u(r(S)(`fleetView.carryingResources`))+`:`,1),f(`div`,Et,[t.cargo.metal>0?(_(),l(`span`,Dt,[h(M,{type:`metal`,size:`sm`}),e(` `+u(r(I)(t.cargo.metal)),1)])):p(``,!0),t.cargo.crystal>0?(_(),l(`span`,Ot,[h(M,{type:`crystal`,size:`sm`}),e(` `+u(r(I)(t.cargo.crystal)),1)])):p(``,!0),t.cargo.deuterium>0?(_(),l(`span`,kt,[h(M,{type:`deuterium`,size:`sm`}),e(` `+u(r(I)(t.cargo.deuterium)),1)])):p(``,!0),t.cargo.darkMatter>0?(_(),l(`span`,At,[h(M,{type:`darkMatter`,size:`sm`}),e(` `+u(r(I)(t.cargo.darkMatter)),1)])):p(``,!0)])])):p(``,!0),f(`div`,jt,[f(`div`,Mt,[f(`span`,null,u(t.status===`outbound`?r(S)(`fleetView.arrivalTime`):r(S)(`fleetView.returnTime`))+`:`,1),f(`span`,null,u(r(R)(qt(t))),1)]),h(r(Te),{"model-value":Jt(t)},null,8,[`model-value`])]),f(`div`,Nt,[t.status===`outbound`?(_(),d(r(N),{key:0,onClick:e=>Kt(t.id),variant:`outline`,size:`sm`,class:`w-full`},{default:n(()=>[e(u(r(S)(`fleetView.recallFleet`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`modelValue`]),h(r(Fe),{open:T.value,"onUpdate:open":a[7]||=e=>T.value=e},{default:n(()=>[h(r(Ne),null,{default:n(()=>[h(r(De),null,{default:n(()=>[h(r(Me),null,{default:n(()=>[e(u(k.value),1)]),_:1}),h(r(Ae),{class:`whitespace-pre-line`},{default:n(()=>[e(u(U.value),1)]),_:1})]),_:1}),h(r(Ee),null,{default:n(()=>[h(r(Oe),null,{default:n(()=>[e(u(r(S)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])):p(``,!0)}});export{U as default}; \ No newline at end of file diff --git a/docs/assets/GMView-Cql_sk5m.js b/docs/assets/GMView-Cql_sk5m.js deleted file mode 100644 index 3f0db98..0000000 --- a/docs/assets/GMView-Cql_sk5m.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as ee,Jt as i,Kt as a,Mt as o,Nt as s,On as c,Ot as te,hn as l,in as u,jt as d,kt as f}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import"./vendor-icons-W6Ny__75.js";import{t as p}from"./CardDescription-D2AN1hhX.js";import{d as ne,h as re,m as ie,p as m,u as ae}from"./game-config-D-D7cMgJ.js";import{A as oe,I as se,M as h,O as g,P as ce,c as _,l as v,s as y,t as b,u as x}from"./index-DWmvUlvu.js";import{t as le}from"./useGameConfig-B5wf1i8i.js";import{a as ue,i as de,n as fe,r as pe,t as S}from"./SelectValue-Cm2l40Fd.js";var C={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},w={class:`flex items-center justify-between`},T={class:`text-2xl sm:text-3xl font-bold`},E={key:0,class:`flex flex-wrap gap-2 border-b`},D={key:1,class:`space-y-4`},O={class:`flex gap-2`},k={key:2,class:`space-y-4`},A={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},j={class:`flex gap-2`},M={key:3,class:`space-y-4`},N={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},P={class:`flex gap-2`},F={key:4,class:`space-y-4`},I={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},L={class:`flex gap-2`},R={key:5,class:`space-y-4`},z={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},B={class:`flex gap-2`},me={key:6,class:`space-y-4`},he={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},ge={class:`flex gap-2`},V=s({__name:`GMView`,setup(s){let V=se(),{t:H}=ce(),{BUILDINGS:_e,TECHNOLOGIES:ve,SHIPS:ye,DEFENSES:be,OFFICERS:xe}=le(),U=l(V.player.planets[0]?.id||``),W=l(`resources`),G=l({});Object.values(m).forEach(e=>{let t=V.player.officers[e];if(t&&t.expiresAt){let n=Math.ceil((t.expiresAt-Date.now())/(1e3*60*60*24));G.value[e]=Math.max(0,n)}else G.value[e]=0});let K=ee(()=>V.player.planets.find(e=>e.id===U.value)),Se=[`metal`,`crystal`,`deuterium`,`darkMatter`],Ce=Object.values(ae),we=Object.values(re),Te=Object.values(ie),Ee=Object.values(ne),q=Object.values(m),J=(e,t)=>{K.value&&(K.value.resources[e]+=t)},Y=(e,t)=>{K.value&&(K.value.buildings[e]=t)},X=(e,t)=>{V.player.technologies[e]=t},Z=(e,t)=>{K.value&&(K.value.fleet[e]=(K.value.fleet[e]||0)+t)},Q=(e,t)=>{K.value&&(K.value.defense[e]=(K.value.defense[e]||0)+t)},$=(e,t)=>{G.value[e]=t;let n=Date.now(),r=n+t*24*60*60*1e3;V.player.officers[e]?(V.player.officers[e].expiresAt=r,V.player.officers[e].active=!0,V.player.officers[e].hiredAt||(V.player.officers[e].hiredAt=n)):V.player.officers[e]={type:e,active:!0,hiredAt:n,expiresAt:r}},De=()=>{confirm(H(`gmView.resetGameConfirm`))&&(localStorage.clear(),location.reload())};return(ee,s)=>(a(),e(`div`,C,[r(`div`,w,[r(`h1`,T,c(t(H)(`gmView.title`)),1),o(t(oe),{variant:`destructive`},{default:u(()=>[d(c(t(H)(`gmView.adminOnly`)),1)]),_:1})]),o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.selectPlanet`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[o(t(ue),{modelValue:U.value,"onUpdate:modelValue":s[0]||=e=>U.value=e},{default:u(()=>[o(t(fe),null,{default:u(()=>[o(t(S),{placeholder:t(H)(`gmView.choosePlanet`)},null,8,[`placeholder`])]),_:1}),o(t(de),null,{default:u(()=>[(a(!0),e(n,null,i(t(V).player.planets,e=>(a(),te(t(pe),{key:e.id,value:e.id},{default:u(()=>[d(c(e.name)+` (`+c(e.position.galaxy)+`:`+c(e.position.system)+`:`+c(e.position.position)+`) `,1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),K.value?(a(),e(`div`,E,[o(t(h),{onClick:s[1]||=e=>W.value=`resources`,variant:W.value===`resources`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.resources`)),1)]),_:1},8,[`variant`]),o(t(h),{onClick:s[2]||=e=>W.value=`buildings`,variant:W.value===`buildings`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.buildings`)),1)]),_:1},8,[`variant`]),o(t(h),{onClick:s[3]||=e=>W.value=`research`,variant:W.value===`research`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.research`)),1)]),_:1},8,[`variant`]),o(t(h),{onClick:s[4]||=e=>W.value=`ships`,variant:W.value===`ships`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.ships`)),1)]),_:1},8,[`variant`]),o(t(h),{onClick:s[5]||=e=>W.value=`defense`,variant:W.value===`defense`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.defense`)),1)]),_:1},8,[`variant`]),o(t(h),{onClick:s[6]||=e=>W.value=`officers`,variant:W.value===`officers`?`default`:`ghost`,class:`rounded-b-none`},{default:u(()=>[d(c(t(H)(`gmView.officers`)),1)]),_:1},8,[`variant`])])):f(``,!0),K.value&&W.value===`resources`?(a(),e(`div`,D,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyResources`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.resourcesDesc`)),1)]),_:1})]),_:1}),o(t(v),{class:`space-y-4`},{default:u(()=>[(a(),e(n,null,i(Se,e=>r(`div`,{key:e,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(H)(`resources.${e}`)),1)]),_:2},1024),r(`div`,O,[o(t(g),{modelValue:K.value.resources[e],"onUpdate:modelValue":t=>K.value.resources[e]=t,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),o(t(h),{onClick:t=>J(e,1e6),variant:`outline`,size:`sm`},{default:u(()=>[...s[7]||=[d(`+1M`,-1)]]),_:1},8,[`onClick`]),o(t(h),{onClick:t=>J(e,1e7),variant:`outline`,size:`sm`},{default:u(()=>[...s[8]||=[d(`+10M`,-1)]]),_:1},8,[`onClick`])])])),64))]),_:1})]),_:1})])):f(``,!0),K.value&&W.value===`buildings`?(a(),e(`div`,k,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyBuildings`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.buildingsDesc`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[r(`div`,A,[(a(!0),e(n,null,i(t(Ce),n=>(a(),e(`div`,{key:n,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(_e)[n].name),1)]),_:2},1024),r(`div`,j,[o(t(g),{modelValue:K.value.buildings[n],"onUpdate:modelValue":e=>K.value.buildings[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`100`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),o(t(h),{onClick:e=>Y(n,10),variant:`outline`,size:`sm`},{default:u(()=>[...s[9]||=[d(`Lv 10`,-1)]]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>Y(n,30),variant:`outline`,size:`sm`},{default:u(()=>[...s[10]||=[d(`Lv 30`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),W.value===`research`?(a(),e(`div`,M,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyResearch`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.researchDesc`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[r(`div`,N,[(a(!0),e(n,null,i(t(we),n=>(a(),e(`div`,{key:n,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(ve)[n].name),1)]),_:2},1024),r(`div`,P,[o(t(g),{modelValue:t(V).player.technologies[n],"onUpdate:modelValue":e=>t(V).player.technologies[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`50`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),o(t(h),{onClick:e=>X(n,10),variant:`outline`,size:`sm`},{default:u(()=>[...s[11]||=[d(`Lv 10`,-1)]]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>X(n,20),variant:`outline`,size:`sm`},{default:u(()=>[...s[12]||=[d(`Lv 20`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),K.value&&W.value===`ships`?(a(),e(`div`,F,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyShips`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.shipsDesc`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[r(`div`,I,[(a(!0),e(n,null,i(t(Te),n=>(a(),e(`div`,{key:n,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(ye)[n].name),1)]),_:2},1024),r(`div`,L,[o(t(g),{modelValue:K.value.fleet[n],"onUpdate:modelValue":e=>K.value.fleet[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),o(t(h),{onClick:e=>Z(n,100),variant:`outline`,size:`sm`},{default:u(()=>[...s[13]||=[d(`+100`,-1)]]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>Z(n,1e3),variant:`outline`,size:`sm`},{default:u(()=>[...s[14]||=[d(`+1K`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),K.value&&W.value===`defense`?(a(),e(`div`,R,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyDefense`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.defenseDesc`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[r(`div`,z,[(a(!0),e(n,null,i(t(Ee),n=>(a(),e(`div`,{key:n,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(be)[n].name),1)]),_:2},1024),r(`div`,B,[o(t(g),{modelValue:K.value.defense[n],"onUpdate:modelValue":e=>K.value.defense[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),o(t(h),{onClick:e=>Q(n,100),variant:`outline`,size:`sm`},{default:u(()=>[...s[15]||=[d(`+100`,-1)]]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>Q(n,1e3),variant:`outline`,size:`sm`},{default:u(()=>[...s[16]||=[d(`+1K`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),W.value===`officers`?(a(),e(`div`,me,[o(t(x),null,{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),null,{default:u(()=>[d(c(t(H)(`gmView.modifyOfficers`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.officersDesc`)),1)]),_:1})]),_:1}),o(t(v),null,{default:u(()=>[r(`div`,he,[(a(!0),e(n,null,i(t(q),n=>(a(),e(`div`,{key:n,class:`space-y-2`},[o(t(b),null,{default:u(()=>[d(c(t(xe)[n].name),1)]),_:2},1024),r(`div`,ge,[o(t(g),{modelValue:G.value[n],"onUpdate:modelValue":e=>G.value[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:t(H)(`gmView.days`),class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),o(t(h),{onClick:e=>$(n,7),variant:`outline`,size:`sm`},{default:u(()=>[d(`7`+c(t(H)(`gmView.days`)),1)]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>$(n,30),variant:`outline`,size:`sm`},{default:u(()=>[d(`30`+c(t(H)(`gmView.days`)),1)]),_:1},8,[`onClick`]),o(t(h),{onClick:e=>$(n,365),variant:`outline`,size:`sm`},{default:u(()=>[d(`365`+c(t(H)(`gmView.days`)),1)]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),o(t(x),{class:`border-destructive`},{default:u(()=>[o(t(_),null,{default:u(()=>[o(t(y),{class:`text-destructive`},{default:u(()=>[d(c(t(H)(`gmView.dangerZone`)),1)]),_:1}),o(t(p),null,{default:u(()=>[d(c(t(H)(`gmView.dangerZoneDesc`)),1)]),_:1})]),_:1}),o(t(v),{class:`space-y-2`},{default:u(()=>[o(t(h),{onClick:De,variant:`destructive`,class:`w-full`},{default:u(()=>[d(c(t(H)(`gmView.resetGame`)),1)]),_:1})]),_:1})]),_:1})]))}});export{V as default}; \ No newline at end of file diff --git a/docs/assets/GMView-DWcaM1NY.js b/docs/assets/GMView-DWcaM1NY.js new file mode 100644 index 0000000..5640c69 --- /dev/null +++ b/docs/assets/GMView-DWcaM1NY.js @@ -0,0 +1 @@ +import{$t as e,D as t,E as n,En as r,Gn as i,Gt as a,Jt as o,Ln as s,O as ee,Qt as c,T as te,Xn as l,Xt as u,Yt as d,Zt as f,en as p,gn as m,k as ne,mn as h,tn as re}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import"./vendor-icons-z9V6Jdbh.js";import{t as g}from"./CardDescription-BSLS07AU.js";import{_,d as ie,f as ae,h as v,v as oe}from"./game-config-CG6z6nnH.js";import{H as se,K as ce,L as y,W as b,_ as x,b as S,g as C,n as le,q as ue,t as de,v as w,y as T}from"./index-BT5w6et-.js";import{t as fe}from"./useGameConfig-b98LOtBY.js";import{a as E,i as D,n as O,r as k,t as A}from"./SelectValue-DmEWUfvu.js";var pe={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},me={class:`flex items-center justify-between`},he={class:`text-2xl sm:text-3xl font-bold`},ge={key:0,class:`flex flex-wrap gap-2 border-b`},_e={key:1,class:`space-y-4`},ve={class:`flex gap-2`},j={key:2,class:`space-y-4`},M={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},N={class:`flex gap-2`},P={key:3,class:`space-y-4`},F={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},ye={class:`flex gap-2`},be={key:4,class:`space-y-4`},xe={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Se={class:`flex gap-2`},Ce={key:5,class:`space-y-4`},we={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Te={class:`flex gap-2`},Ee={key:6,class:`space-y-4`},De={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Oe={class:`flex gap-2`},ke={class:`space-y-2`},Ae={class:`space-y-2`},je={class:`grid grid-cols-2 gap-2`},I=re({__name:`GMView`,setup(re){let I=ue(),L=de(),Me=le(),{t:R}=ce(),{BUILDINGS:Ne,TECHNOLOGIES:Pe,SHIPS:Fe,DEFENSES:Ie,OFFICERS:Le}=fe(),z=s(I.player.planets[0]?.id||``),B=s(`resources`),V=s({}),H=s(L.npcs[0]?.id||``),U=s(`0`);Object.values(v).forEach(e=>{let t=I.player.officers[e];if(t&&t.expiresAt){let n=Math.ceil((t.expiresAt-Date.now())/(1e3*60*60*24));V.value[e]=Math.max(0,n)}else V.value[e]=0});let W=o(()=>I.player.planets.find(e=>e.id===z.value)),G=o(()=>L.npcs.find(e=>e.id===H.value)),K=o(()=>[...I.player.planets,...Object.values(Me.planets)]),Re=[`metal`,`crystal`,`deuterium`,`darkMatter`],ze=Object.values(ie),Be=Object.values(oe),Ve=Object.values(_),He=Object.values(ae),Ue=Object.values(v),We=[{value:`resources`,label:`gmView.resources`},{value:`buildings`,label:`gmView.buildings`},{value:`research`,label:`gmView.research`},{value:`ships`,label:`gmView.ships`},{value:`defense`,label:`gmView.defense`},{value:`officers`,label:`gmView.officers`}],q=(e,t)=>{W.value&&(W.value.resources[e]+=t)},J=(e,t)=>{W.value&&(W.value.buildings[e]=t)},Y=(e,t)=>{I.player.technologies[e]=t},X=(e,t)=>{W.value&&(W.value.fleet[e]=(W.value.fleet[e]||0)+t)},Z=(e,t)=>{W.value&&(W.value.defense[e]=(W.value.defense[e]||0)+t)},Q=(e,t)=>{V.value[e]=t;let n=Date.now(),r=n+t*24*60*60*1e3;I.player.officers[e]?(I.player.officers[e].expiresAt=r,I.player.officers[e].active=!0,I.player.officers[e].hiredAt||(I.player.officers[e].hiredAt=n)):I.player.officers[e]={type:e,active:!0,hiredAt:n,expiresAt:r}},$=()=>{confirm(R(`gmView.resetGameConfirm`))&&(localStorage.clear(),location.reload())},Ge=()=>{if(!G.value){alert(R(`gmView.selectNPCFirst`)||`Please select an NPC first`);return}let e=ne(G.value,I.player,K.value,parseInt(U.value));e?(n(G.value,e.id,5),alert(`${G.value.name} will spy in 5 seconds`)):alert(R(`gmView.npcNoProbes`)||`NPC does not have spy probes`)},Ke=()=>{if(!G.value){alert(R(`gmView.selectNPCFirst`)||`Please select an NPC first`);return}let e=t(G.value,I.player,K.value,parseInt(U.value));e?(n(G.value,e.id,5),alert(`${G.value.name} will attack in 5 seconds`)):alert(R(`gmView.npcNoSpyReport`)||`NPC needs to spy first`)},qe=()=>{if(!G.value){alert(R(`gmView.selectNPCFirst`)||`Please select an NPC first`);return}let{spyMission:e,attackMission:t}=ee(G.value,I.player,K.value,parseInt(U.value));e&&t?(n(G.value,e.id,5),n(G.value,t.id,10),alert(`${G.value.name} will spy in 5s and attack in 10s`)):alert(R(`gmView.npcMissionFailed`)||`Failed to create missions`)},Je=()=>{if(!G.value){alert(R(`gmView.selectNPCFirst`)||`Please select an NPC first`);return}let e=te(G.value,5);alert(`Accelerated ${e} missions to 5 seconds`)},Ye=()=>{if(!G.value){alert(R(`gmView.selectNPCFirst`)||`Please select an NPC first`);return}let e=G.value.planets[0];if(!e){alert(`NPC has no planets`);return}e.fleet[_.EspionageProbe]=(e.fleet[_.EspionageProbe]||0)+100,e.fleet[_.LightFighter]=(e.fleet[_.LightFighter]||0)+500,e.fleet[_.HeavyFighter]=(e.fleet[_.HeavyFighter]||0)+300,e.fleet[_.Cruiser]=(e.fleet[_.Cruiser]||0)+200,e.fleet[_.Battleship]=(e.fleet[_.Battleship]||0)+100,e.fleet[_.Bomber]=(e.fleet[_.Bomber]||0)+50,e.fleet[_.Destroyer]=(e.fleet[_.Destroyer]||0)+30,e.fleet[_.Battlecruiser]=(e.fleet[_.Battlecruiser]||0)+20,alert(`${G.value.name} fleet initialized:\n- 100 Spy Probes\n- 500 Light Fighters\n- 300 Heavy Fighters\n- 200 Cruisers\n- 100 Battleships\n- 50 Bombers\n- 30 Destroyers\n- 20 Battlecruisers`)};return(t,n)=>(h(),c(`div`,pe,[d(`div`,me,[d(`h1`,he,l(i(R)(`gmView.title`)),1),p(i(se),{variant:`destructive`},{default:r(()=>[e(l(i(R)(`gmView.adminOnly`)),1)]),_:1})]),p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.selectPlanet`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[p(i(E),{modelValue:z.value,"onUpdate:modelValue":n[0]||=e=>z.value=e},{default:r(()=>[p(i(O),null,{default:r(()=>[p(i(A),{placeholder:i(R)(`gmView.choosePlanet`)},null,8,[`placeholder`])]),_:1}),p(i(D),null,{default:r(()=>[(h(!0),c(a,null,m(i(I).player.planets,t=>(h(),u(i(k),{key:t.id,value:t.id},{default:r(()=>[e(l(t.name)+` (`+l(t.position.galaxy)+`:`+l(t.position.system)+`:`+l(t.position.position)+`) `,1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),W.value?(h(),c(`div`,ge,[(h(),c(a,null,m(We,t=>p(i(b),{key:t.value,onClick:e=>B.value=t.value,variant:B.value===t.value?`default`:`ghost`,class:`rounded-b-none`},{default:r(()=>[e(l(i(R)(t.label)),1)]),_:2},1032,[`onClick`,`variant`])),64))])):f(``,!0),W.value&&B.value===`resources`?(h(),c(`div`,_e,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyResources`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.resourcesDesc`)),1)]),_:1})]),_:1}),p(i(T),{class:`space-y-4`},{default:r(()=>[(h(),c(a,null,m(Re,t=>d(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(R)(`resources.${t}`)),1)]),_:2},1024),d(`div`,ve,[p(i(y),{modelValue:W.value.resources[t],"onUpdate:modelValue":e=>W.value.resources[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),p(i(b),{onClick:e=>q(t,1e6),variant:`outline`,size:`sm`},{default:r(()=>[...n[3]||=[e(`+1M`,-1)]]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>q(t,1e7),variant:`outline`,size:`sm`},{default:r(()=>[...n[4]||=[e(`+10M`,-1)]]),_:1},8,[`onClick`])])])),64))]),_:1})]),_:1})])):f(``,!0),W.value&&B.value===`buildings`?(h(),c(`div`,j,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyBuildings`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.buildingsDesc`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[d(`div`,M,[(h(!0),c(a,null,m(i(ze),t=>(h(),c(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(Ne)[t].name),1)]),_:2},1024),d(`div`,N,[p(i(y),{modelValue:W.value.buildings[t],"onUpdate:modelValue":e=>W.value.buildings[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`100`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),p(i(b),{onClick:e=>J(t,10),variant:`outline`,size:`sm`},{default:r(()=>[...n[5]||=[e(`Lv 10`,-1)]]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>J(t,30),variant:`outline`,size:`sm`},{default:r(()=>[...n[6]||=[e(`Lv 30`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),B.value===`research`?(h(),c(`div`,P,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyResearch`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.researchDesc`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[d(`div`,F,[(h(!0),c(a,null,m(i(Be),t=>(h(),c(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(Pe)[t].name),1)]),_:2},1024),d(`div`,ye,[p(i(y),{modelValue:i(I).player.technologies[t],"onUpdate:modelValue":e=>i(I).player.technologies[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,max:`50`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),p(i(b),{onClick:e=>Y(t,10),variant:`outline`,size:`sm`},{default:r(()=>[...n[7]||=[e(`Lv 10`,-1)]]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>Y(t,20),variant:`outline`,size:`sm`},{default:r(()=>[...n[8]||=[e(`Lv 20`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),W.value&&B.value===`ships`?(h(),c(`div`,be,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyShips`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.shipsDesc`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[d(`div`,xe,[(h(!0),c(a,null,m(i(Ve),t=>(h(),c(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(Fe)[t].name),1)]),_:2},1024),d(`div`,Se,[p(i(y),{modelValue:W.value.fleet[t],"onUpdate:modelValue":e=>W.value.fleet[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),p(i(b),{onClick:e=>X(t,100),variant:`outline`,size:`sm`},{default:r(()=>[...n[9]||=[e(`+100`,-1)]]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>X(t,1e3),variant:`outline`,size:`sm`},{default:r(()=>[...n[10]||=[e(`+1K`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),W.value&&B.value===`defense`?(h(),c(`div`,Ce,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyDefense`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.defenseDesc`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[d(`div`,we,[(h(!0),c(a,null,m(i(He),t=>(h(),c(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(Ie)[t].name),1)]),_:2},1024),d(`div`,Te,[p(i(y),{modelValue:W.value.defense[t],"onUpdate:modelValue":e=>W.value.defense[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`]),p(i(b),{onClick:e=>Z(t,100),variant:`outline`,size:`sm`},{default:r(()=>[...n[11]||=[e(`+100`,-1)]]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>Z(t,1e3),variant:`outline`,size:`sm`},{default:r(()=>[...n[12]||=[e(`+1K`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),B.value===`officers`?(h(),c(`div`,Ee,[p(i(S),null,{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.modifyOfficers`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.officersDesc`)),1)]),_:1})]),_:1}),p(i(T),null,{default:r(()=>[d(`div`,De,[(h(!0),c(a,null,m(i(Ue),t=>(h(),c(`div`,{key:t,class:`space-y-2`},[p(i(C),null,{default:r(()=>[e(l(i(Le)[t].name),1)]),_:2},1024),d(`div`,Oe,[p(i(y),{modelValue:V.value[t],"onUpdate:modelValue":e=>V.value[t]=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:i(R)(`gmView.days`),class:`flex-1`},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),p(i(b),{onClick:e=>Q(t,7),variant:`outline`,size:`sm`},{default:r(()=>[e(`7`+l(i(R)(`gmView.days`)),1)]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>Q(t,30),variant:`outline`,size:`sm`},{default:r(()=>[e(`30`+l(i(R)(`gmView.days`)),1)]),_:1},8,[`onClick`]),p(i(b),{onClick:e=>Q(t,365),variant:`outline`,size:`sm`},{default:r(()=>[e(`365`+l(i(R)(`gmView.days`)),1)]),_:1},8,[`onClick`])])]))),128))])]),_:1})]),_:1})])):f(``,!0),p(i(S),{class:`border-primary`},{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),null,{default:r(()=>[e(l(i(R)(`gmView.npcTesting`)||`NPC Testing`),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.npcTestingDesc`)||`Test NPC spy and attack behavior`),1)]),_:1})]),_:1}),p(i(T),{class:`space-y-3`},{default:r(()=>[d(`div`,ke,[p(i(C),null,{default:r(()=>[e(l(i(R)(`gmView.selectNPC`)||`Select NPC`),1)]),_:1}),p(i(E),{modelValue:H.value,"onUpdate:modelValue":n[1]||=e=>H.value=e},{default:r(()=>[p(i(O),null,{default:r(()=>[p(i(A),{placeholder:i(R)(`gmView.chooseNPC`)||`Choose NPC`},null,8,[`placeholder`])]),_:1}),p(i(D),null,{default:r(()=>[(h(!0),c(a,null,m(i(L).npcs,t=>(h(),u(i(k),{key:t.id,value:t.id},{default:r(()=>[e(l(t.name)+` (`+l(t.difficulty)+`)`,1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),d(`div`,Ae,[p(i(C),null,{default:r(()=>[e(l(i(R)(`gmView.targetPlanet`)||`Target Planet`),1)]),_:1}),p(i(E),{modelValue:U.value,"onUpdate:modelValue":n[2]||=e=>U.value=e},{default:r(()=>[p(i(O),null,{default:r(()=>[p(i(A),{placeholder:i(R)(`gmView.chooseTarget`)||`Choose Target Planet`},null,8,[`placeholder`])]),_:1}),p(i(D),null,{default:r(()=>[(h(!0),c(a,null,m(i(I).player.planets,(t,n)=>(h(),u(i(k),{key:t.id,value:n.toString()},{default:r(()=>[e(l(t.name)+` (`+l(t.position.galaxy)+`:`+l(t.position.system)+`:`+l(t.position.position)+`) `,1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),d(`div`,je,[p(i(b),{onClick:Ge,variant:`outline`,class:`w-full`,disabled:!G.value},{default:r(()=>[e(l(i(R)(`gmView.testSpy`)||`Test Spy`),1)]),_:1},8,[`disabled`]),p(i(b),{onClick:Ke,variant:`outline`,class:`w-full`,disabled:!G.value},{default:r(()=>[e(l(i(R)(`gmView.testAttack`)||`Test Attack`),1)]),_:1},8,[`disabled`])]),p(i(b),{onClick:qe,variant:`default`,class:`w-full`,disabled:!G.value},{default:r(()=>[e(l(i(R)(`gmView.testSpyAndAttack`)||`Test Spy & Attack`),1)]),_:1},8,[`disabled`]),p(i(b),{onClick:Ye,variant:`secondary`,class:`w-full`,disabled:!G.value},{default:r(()=>[e(l(i(R)(`gmView.initializeFleet`)||`Initialize NPC Fleet`),1)]),_:1},8,[`disabled`]),p(i(b),{onClick:Je,variant:`secondary`,class:`w-full`,disabled:!G.value},{default:r(()=>[e(l(i(R)(`gmView.accelerateMissions`)||`Accelerate All Missions (5s)`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1}),p(i(S),{class:`border-destructive`},{default:r(()=>[p(i(w),null,{default:r(()=>[p(i(x),{class:`text-destructive`},{default:r(()=>[e(l(i(R)(`gmView.dangerZone`)),1)]),_:1}),p(i(g),null,{default:r(()=>[e(l(i(R)(`gmView.dangerZoneDesc`)),1)]),_:1})]),_:1}),p(i(T),{class:`space-y-2`},{default:r(()=>[p(i(b),{onClick:$,variant:`destructive`,class:`w-full`},{default:r(()=>[e(l(i(R)(`gmView.resetGame`)),1)]),_:1})]),_:1})]),_:1})]))}});export{I as default}; \ No newline at end of file diff --git a/docs/assets/GalaxyView-TxzLJXed.js b/docs/assets/GalaxyView-TxzLJXed.js deleted file mode 100644 index c5a45ad..0000000 --- a/docs/assets/GalaxyView-TxzLJXed.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Jt as i,Kt as a,Mt as o,Nt as ee,On as s,Ot as c,Tn as te,V as l,Wt as ne,hn as u,in as d,jt as f,kt as p,z as re}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import{o as ie}from"./vendor-vue-router-CWDMmE-U.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{I as ae,_ as oe,c as se,j as m,v as ce}from"./vendor-icons-W6Ny__75.js";import{t as le}from"./TooltipProvider-BAp4BAXy.js";import{t as ue}from"./CardDescription-D2AN1hhX.js";import"./game-config-D-D7cMgJ.js";import{A as h,D as g,E as _,F as de,I as fe,M as v,P as pe,T as y,c as b,l as x,r as S,s as C,t as w,u as T}from"./index-DWmvUlvu.js";import{t as me}from"./AlertDialog-CiXBEnQ0.js";import{a as E,i as D,n as O,r as k,t as A}from"./SelectValue-Cm2l40Fd.js";var he={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},j={class:`text-2xl sm:text-3xl font-bold`},M={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},N={class:`space-y-2`},P={class:`space-y-2`},F={class:`col-span-2 sm:col-span-1 flex items-end`},I={class:`space-y-2`},L={class:`w-8 sm:w-12 text-center`},R={class:`flex-1 min-w-0`},z={key:0,class:`space-y-1`},ge={class:`flex items-center gap-2`},_e={class:`font-semibold text-sm sm:text-base truncate`},ve={class:`text-xs text-muted-foreground`},ye={key:1,class:`text-sm text-muted-foreground`},be={key:2,class:`mt-2 p-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded text-xs`},xe={class:`flex items-center gap-2 text-amber-700 dark:text-amber-400 font-medium mb-1`},Se={class:`flex gap-3 text-xs`},Ce={class:`flex items-center gap-1`},we={class:`text-muted-foreground`},Te={class:`font-medium`},Ee={class:`flex items-center gap-1`},De={class:`text-muted-foreground`},Oe={class:`font-medium`},ke={class:`flex gap-1 sm:gap-2 flex-shrink-0`},B=ee({__name:`GalaxyView`,setup(ee){let B=fe(),V=de(),H=ie(),{t:U}=pe(),W=u(null),G=u(1),K=u(1),q=u(1),J=u(1),Y=u([]);ne(()=>{B.currentPlanet&&(q.value=B.currentPlanet.position.galaxy,J.value=B.currentPlanet.position.system,G.value=q.value,K.value=J.value,Z())});let Ae=(e,t)=>l(e,t).map(n=>{let r=re(e,t,n.position),i=B.player.planets.find(r=>r.position.galaxy===e&&r.position.system===t&&r.position.position===n.position)||V.planets[r]||null;return{position:n.position,planet:i}}),X=(e,t,n)=>{let r=`debris_${e}_${t}_${n}`;return V.debrisFields[r]||null},Z=()=>{q.value=G.value,J.value=K.value,Y.value=Ae(q.value,J.value)},je=()=>{B.currentPlanet&&(q.value=B.currentPlanet.position.galaxy,J.value=B.currentPlanet.position.system,G.value=q.value,K.value=J.value,Z())},Q=e=>e?e.ownerId===B.player.id:!1,Me=e=>{B.currentPlanetId=e,H.push(`/`)},$=(e,t,n)=>{let r=e?e.position:{galaxy:q.value,system:J.value,position:n},i=`${r.galaxy}:${r.system}:${r.position}`,a=``,o=``;t===`spy`?(o=U(`galaxyView.scoutPlanetTitle`),a=U(`galaxyView.scoutPlanetMessage`).replace(`{coordinates}`,i)):t===`attack`?(o=U(`galaxyView.attackPlanetTitle`),a=U(`galaxyView.attackPlanetMessage`).replace(`{coordinates}`,i)):t===`colonize`?(o=U(`galaxyView.colonizePlanetTitle`),a=U(`galaxyView.colonizePlanetMessage`).replace(`{coordinates}`,i)):t===`recycle`&&(o=U(`galaxyView.recyclePlanetTitle`),a=U(`galaxyView.recyclePlanetMessage`).replace(`{coordinates}`,i)),W.value?.show({title:o,message:a,onConfirm:()=>{H.push({path:`/fleet`,query:{galaxy:r.galaxy,system:r.system,position:r.position,mission:t}})}})};return(ee,l)=>(a(),e(`div`,he,[r(`h1`,j,s(t(U)(`galaxyView.title`)),1),o(t(T),null,{default:d(()=>[o(t(b),null,{default:d(()=>[o(t(C),null,{default:d(()=>[f(s(t(U)(`galaxyView.selectCoordinates`)),1)]),_:1})]),_:1}),o(t(x),null,{default:d(()=>[r(`div`,M,[r(`div`,N,[o(t(w),{for:`select-galaxy`,class:`text-xs sm:text-sm`},{default:d(()=>[f(s(t(U)(`galaxyView.galaxy`)),1)]),_:1}),(a(),c(t(E),{key:t(B).locale,"model-value":String(G.value),"onUpdate:modelValue":l[0]||=e=>{G.value=Number(e),Z()}},{default:d(()=>[o(t(O),{id:`select-galaxy`,class:`w-full`},{default:d(()=>[o(t(A),{placeholder:t(U)(`galaxyView.selectGalaxy`)},null,8,[`placeholder`])]),_:1}),o(t(D),null,{default:d(()=>[(a(),e(n,null,i(9,e=>o(t(k),{key:e,value:String(e)},{default:d(()=>[f(s(t(U)(`galaxyView.galaxy`))+` `+s(e),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`]))]),r(`div`,P,[o(t(w),{for:`select-system`,class:`text-xs sm:text-sm`},{default:d(()=>[f(s(t(U)(`galaxyView.system`)),1)]),_:1}),(a(),c(t(E),{key:`${t(B).locale}-system`,"model-value":String(K.value),"onUpdate:modelValue":l[1]||=e=>{K.value=Number(e),Z()}},{default:d(()=>[o(t(O),{id:`select-system`,class:`w-full`},{default:d(()=>[o(t(A),{placeholder:t(U)(`galaxyView.selectSystem`)},null,8,[`placeholder`])]),_:1}),o(t(D),null,{default:d(()=>[(a(),e(n,null,i(10,e=>o(t(k),{key:e,value:String(e)},{default:d(()=>[f(s(t(U)(`galaxyView.system`))+` `+s(e),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`]))]),r(`div`,F,[o(t(v),{onClick:je,variant:`outline`,class:`w-full`},{default:d(()=>[o(t(m),{class:`h-4 w-4 mr-2`}),f(` `+s(t(U)(`galaxyView.myPlanet`)),1)]),_:1})])])]),_:1})]),_:1}),o(t(T),null,{default:d(()=>[o(t(b),null,{default:d(()=>[o(t(C),null,{default:d(()=>[f(s(t(U)(`galaxyView.galaxy`))+` `+s(q.value)+`:`+s(J.value),1)]),_:1}),o(t(ue),null,{default:d(()=>[f(s(t(U)(`galaxyView.totalPositions`)),1)]),_:1})]),_:1}),o(t(x),null,{default:d(()=>[r(`div`,I,[(a(!0),e(n,null,i(Y.value,n=>(a(),e(`div`,{key:n.position,class:te([`flex items-center gap-2 sm:gap-4 p-2 sm:p-3 border rounded-lg hover:bg-muted/50 transition-colors`,{"bg-blue-50 dark:bg-blue-950 border-blue-300 dark:border-blue-700":Q(n.planet),"bg-muted/30":!n.planet}])},[r(`div`,L,[o(t(h),{variant:`outline`,class:`text-xs sm:text-sm`},{default:d(()=>[f(s(n.position),1)]),_:2},1024)]),r(`div`,R,[n.planet?(a(),e(`div`,z,[r(`div`,ge,[r(`h3`,_e,s(n.planet.name),1),Q(n.planet)?(a(),c(t(h),{key:0,variant:`default`,class:`text-xs`},{default:d(()=>[f(s(t(U)(`galaxyView.mine`)),1)]),_:1})):(a(),c(t(h),{key:1,variant:`secondary`,class:`text-xs`},{default:d(()=>[f(s(t(U)(`galaxyView.hostile`)),1)]),_:1}))]),r(`p`,ve,` [`+s(n.planet.position.galaxy)+`:`+s(n.planet.position.system)+`:`+s(n.planet.position.position)+`] `,1)])):(a(),e(`div`,ye,s(t(U)(`galaxyView.emptySlot`)),1)),X(q.value,J.value,n.position)?(a(),e(`div`,be,[r(`div`,xe,[r(`span`,null,s(t(U)(`galaxyView.debrisField`)),1)]),r(`div`,Se,[r(`span`,Ce,[r(`span`,we,s(t(U)(`resources.metal`))+`:`,1),r(`span`,Te,s(t(S)(X(q.value,J.value,n.position).resources.metal)),1)]),r(`span`,Ee,[r(`span`,De,s(t(U)(`resources.crystal`))+`:`,1),r(`span`,Oe,s(t(S)(X(q.value,J.value,n.position).resources.crystal)),1)])])])):p(``,!0)]),r(`div`,ke,[o(t(le),{"delay-duration":300},{default:d(()=>[n.planet&&!Q(n.planet)?(a(),c(t(g),{key:0},{default:d(()=>[o(t(y),{"as-child":``},{default:d(()=>[o(t(v),{onClick:e=>$(n.planet,`spy`),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:d(()=>[o(t(ae),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),o(t(_),null,{default:d(()=>[r(`p`,null,s(t(U)(`galaxyView.scout`)),1)]),_:1})]),_:2},1024)):p(``,!0),n.planet&&!Q(n.planet)?(a(),c(t(g),{key:1},{default:d(()=>[o(t(y),{"as-child":``},{default:d(()=>[o(t(v),{onClick:e=>$(n.planet,`attack`),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:d(()=>[o(t(se),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),o(t(_),null,{default:d(()=>[r(`p`,null,s(t(U)(`galaxyView.attack`)),1)]),_:1})]),_:2},1024)):p(``,!0),n.planet?p(``,!0):(a(),c(t(g),{key:2},{default:d(()=>[o(t(y),{"as-child":``},{default:d(()=>[o(t(v),{onClick:e=>$(null,`colonize`,n.position),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:d(()=>[o(t(oe),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),o(t(_),null,{default:d(()=>[r(`p`,null,s(t(U)(`galaxyView.colonize`)),1)]),_:1})]),_:2},1024)),n.planet&&Q(n.planet)?(a(),c(t(g),{key:3},{default:d(()=>[o(t(y),{"as-child":``},{default:d(()=>[o(t(v),{onClick:e=>Me(n.planet.id),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:d(()=>[o(t(m),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),o(t(_),null,{default:d(()=>[r(`p`,null,s(t(U)(`galaxyView.switch`)),1)]),_:1})]),_:2},1024)):p(``,!0),X(q.value,J.value,n.position)?(a(),c(t(g),{key:4},{default:d(()=>[o(t(y),{"as-child":``},{default:d(()=>[o(t(v),{onClick:e=>$(n.planet,`recycle`,n.position),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:d(()=>[o(t(ce),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),o(t(_),null,{default:d(()=>[r(`p`,null,s(t(U)(`galaxyView.recycle`)),1)]),_:1})]),_:2},1024)):p(``,!0)]),_:2},1024)])],2))),128))])]),_:1})]),_:1}),o(me,{ref_key:`actionDialog`,ref:W},null,512)]))}});export{B as default}; \ No newline at end of file diff --git a/docs/assets/GalaxyView-Yqd2o_zC.js b/docs/assets/GalaxyView-Yqd2o_zC.js new file mode 100644 index 0000000..46c717f --- /dev/null +++ b/docs/assets/GalaxyView-Yqd2o_zC.js @@ -0,0 +1 @@ +import{$t as e,En as t,Gn as n,Gt as r,Jt as i,Ln as a,Qt as o,Xn as s,Xt as c,Yt as l,Zt as u,en as d,et as ee,fn as te,gn as f,mn as p,nt as ne,qn as m,tn as re}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import{a as ie,o as ae}from"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{L as oe,N as h,P as se,_ as ce,c as le,j as ue,v as g}from"./vendor-icons-z9V6Jdbh.js";import{t as de}from"./TooltipProvider-BwjgS8_x.js";import{t as fe}from"./CardDescription-BSLS07AU.js";import{g as _}from"./game-config-CG6z6nnH.js";import{B as v,F as y,H as b,I as x,K as pe,N as S,P as C,R as w,W as T,_ as me,a as he,b as ge,c as _e,f as E,g as D,i as ve,l as ye,n as be,o as xe,q as Se,r as Ce,s as we,t as Te,u as Ee,v as De,y as Oe,z as O}from"./index-BT5w6et-.js";import{a as k,i as ke,n as Ae,r as je,t as Me}from"./SelectValue-DmEWUfvu.js";var Ne={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},Pe={class:`text-2xl sm:text-3xl font-bold`},Fe={class:`space-y-2`},Ie={class:`space-y-2`},Le={class:`space-y-1`},Re={class:`px-2 py-1.5 text-xs font-semibold text-muted-foreground`},ze={class:`flex items-start gap-2 w-full min-w-0`},Be={class:`flex-1 min-w-0`},Ve={class:`flex items-center gap-1.5 mb-0.5`},He={class:`truncate font-medium text-sm`},Ue={class:`text-[11px] text-muted-foreground`},We={class:`space-y-1`},Ge={class:`px-2 py-1.5 text-xs font-semibold text-muted-foreground`},Ke={class:`flex items-start gap-2 w-full min-w-0`},qe={class:`flex-1 min-w-0`},Je={class:`truncate font-medium text-sm mb-0.5`},Ye={class:`text-[11px] text-muted-foreground`},Xe={class:`space-y-2`},Ze={class:`w-8 sm:w-12 text-center`},Qe={class:`flex-1 min-w-0`},$e={key:0,class:`space-y-1`},et={class:`flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2`},tt={class:`flex items-baseline gap-1.5 min-w-0`},nt={class:`font-semibold text-sm sm:text-base truncate`},rt={class:`text-xs text-muted-foreground whitespace-nowrap flex-shrink-0 sm:hidden`},it={class:`flex items-center gap-2 flex-wrap`},at={class:`hidden sm:inline`},ot={class:`space-y-2`},st={class:`text-xs font-semibold text-amber-700 dark:text-amber-400`},ct={class:`space-y-1 text-xs`},lt={class:`flex items-center gap-2`},ut={class:`text-muted-foreground`},dt={class:`font-medium`},ft={class:`flex items-center gap-2`},pt={class:`text-muted-foreground`},mt={class:`font-medium`},ht={class:`text-xs text-muted-foreground hidden sm:block`},gt={key:0,class:`text-xs`},_t={class:`text-muted-foreground`},vt={key:1,class:`space-y-1`},yt={class:`text-sm text-muted-foreground`},bt={class:`space-y-2`},xt={class:`text-xs font-semibold text-amber-700 dark:text-amber-400`},St={class:`space-y-1 text-xs`},Ct={class:`flex items-center gap-2`},wt={class:`text-muted-foreground`},Tt={class:`font-medium`},Et={class:`flex items-center gap-2`},Dt={class:`text-muted-foreground`},Ot={class:`font-medium`},kt={class:`flex gap-1 sm:gap-2 flex-shrink-0`},A=re({__name:`GalaxyView`,setup(re){let A=Se(),At=be(),j=Te(),M=ae(),N=ie(),{t:P}=pe(),F=a(!1),jt=a(``),Mt=a(``),I=a(null),L=a(1),R=a(1),z=a(1),B=a(1),V=a(void 0),H=i(()=>V.value&&j.npcs.find(e=>e.id===V.value)||null),U=a([]),W=i(()=>A.player.planets.find(e=>!e.isMoon)),Nt=i(()=>A.player.planets.filter(e=>!e.isMoon)),G=i(()=>W.value?z.value===W.value.position.galaxy&&B.value===W.value.position.system:!1);te(()=>{N.query.highlightNpc&&(V.value=N.query.highlightNpc);let e=N.query.galaxy?Number(N.query.galaxy):null,t=N.query.system?Number(N.query.system):null;e&&t?(z.value=e,B.value=t,L.value=e,R.value=t,q(),Ft()):A.currentPlanet&&(z.value=A.currentPlanet.position.galaxy,B.value=A.currentPlanet.position.system,L.value=z.value,R.value=B.value,q())});let Pt=(e,t)=>ne(e,t).map(n=>{let r=ee(e,t,n.position),i=A.player.planets.find(r=>r.position.galaxy===e&&r.position.system===t&&r.position.position===n.position)||At.planets[r]||null;return{position:n.position,planet:i}}),K=(e,t,n)=>{let r=`debris_${e}_${t}_${n}`;return At.debrisFields[r]||null},Ft=()=>{(N.query.highlightNpc||N.query.galaxy||N.query.system)&&M.replace({query:{}})},q=()=>{z.value=L.value,B.value=R.value,U.value=Pt(z.value,B.value)},It=e=>{z.value=e.position.galaxy,B.value=e.position.system,L.value=z.value,R.value=B.value,U.value=Pt(z.value,B.value)},J=e=>e?e.ownerId===A.player.id:!1,Y=e=>{if(!e||!V.value)return!1;let t=j.npcs.find(e=>e.id===V.value);return t?t.planets.some(t=>t.id===e.id):!1},X=e=>!e||J(e)?null:j.npcs.find(t=>t.planets.some(t=>t.position.galaxy===e.position.galaxy&&t.position.system===e.position.system&&t.position.position===e.position.position)),Z=e=>{let t=X(e);return t?A.player.diplomaticRelations?.[t.id]:null},Lt=e=>{let t=Z(e);if(!t)return`secondary`;switch(t.status){case _.Friendly:return`default`;case _.Hostile:return`destructive`;default:return`secondary`}},Rt=e=>{let t=Z(e);if(!t)return P(`diplomacy.status.neutral`);switch(t.status){case _.Friendly:return P(`diplomacy.status.friendly`);case _.Hostile:return P(`diplomacy.status.hostile`);default:return P(`diplomacy.status.neutral`)}},Q=e=>Z(e)?.reputation??null,zt=e=>e===null?`text-muted-foreground`:e>=20?`text-green-600 dark:text-green-400`:e<=-20?`text-red-600 dark:text-red-400`:`text-muted-foreground`,Bt=e=>{A.currentPlanetId=e,M.push(`/`)},Vt=()=>{I.value&&I.value(),F.value=!1},$=(e,t,n)=>{let r=e?e.position:{galaxy:z.value,system:B.value,position:n},i=`${r.galaxy}:${r.system}:${r.position}`,a=``,o=``;t===`spy`?(o=P(`galaxyView.scoutPlanetTitle`),a=P(`galaxyView.scoutPlanetMessage`).replace(`{coordinates}`,i)):t===`attack`?(o=P(`galaxyView.attackPlanetTitle`),a=P(`galaxyView.attackPlanetMessage`).replace(`{coordinates}`,i)):t===`colonize`?(o=P(`galaxyView.colonizePlanetTitle`),a=P(`galaxyView.colonizePlanetMessage`).replace(`{coordinates}`,i)):t===`recycle`?(o=P(`galaxyView.recyclePlanetTitle`),a=P(`galaxyView.recyclePlanetMessage`).replace(`{coordinates}`,i)):t===`gift`&&(o=P(`galaxyView.giftPlanetTitle`),a=P(`galaxyView.giftPlanetMessage`).replace(`{coordinates}`,i)),jt.value=o,Mt.value=a,I.value=()=>{M.push({path:`/fleet`,query:{galaxy:r.galaxy,system:r.system,position:r.position,mission:t===`gift`?void 0:t,gift:t===`gift`?`1`:void 0}})},F.value=!0};return(i,a)=>(p(),o(`div`,Ne,[l(`h1`,Pe,s(n(P)(`galaxyView.title`)),1),d(n(ge),null,{default:t(()=>[d(n(De),null,{default:t(()=>[d(n(me),null,{default:t(()=>[e(s(n(P)(`galaxyView.selectCoordinates`)),1)]),_:1})]),_:1}),d(n(Oe),null,{default:t(()=>[l(`div`,{class:m([`grid gap-3 sm:gap-4`,H.value?`grid-cols-2 sm:grid-cols-4`:G.value?`grid-cols-2`:`grid-cols-2 sm:grid-cols-3`])},[l(`div`,Fe,[d(n(D),{for:`select-galaxy`,class:`text-xs sm:text-sm`},{default:t(()=>[e(s(n(P)(`galaxyView.galaxy`)),1)]),_:1}),(p(),c(n(k),{key:n(A).locale,"model-value":String(L.value),modal:!1,"onUpdate:modelValue":a[0]||=e=>{L.value=Number(e),q()}},{default:t(()=>[d(n(Ae),{id:`select-galaxy`,class:`w-full`},{default:t(()=>[d(n(Me),{placeholder:n(P)(`galaxyView.selectGalaxy`)},null,8,[`placeholder`])]),_:1}),d(n(ke),{position:`popper`},{default:t(()=>[(p(),o(r,null,f(9,r=>d(n(je),{key:r,value:String(r)},{default:t(()=>[e(s(n(P)(`galaxyView.galaxy`))+` `+s(r),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`]))]),l(`div`,Ie,[d(n(D),{for:`select-system`,class:`text-xs sm:text-sm`},{default:t(()=>[e(s(n(P)(`galaxyView.system`)),1)]),_:1}),(p(),c(n(k),{key:`${n(A).locale}-system`,"model-value":String(R.value),modal:!1,"onUpdate:modelValue":a[1]||=e=>{R.value=Number(e),q()}},{default:t(()=>[d(n(Ae),{id:`select-system`,class:`w-full`},{default:t(()=>[d(n(Me),{placeholder:n(P)(`galaxyView.selectSystem`)},null,8,[`placeholder`])]),_:1}),d(n(ke),{position:`popper`},{default:t(()=>[(p(),o(r,null,f(10,r=>d(n(je),{key:r,value:String(r)},{default:t(()=>[e(s(n(P)(`galaxyView.system`))+` `+s(r),1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`model-value`]))]),G.value?u(``,!0):(p(),o(`div`,{key:0,class:m([H.value?``:`col-span-2 sm:col-span-1`,`space-y-2`])},[d(n(D),{class:`text-xs sm:text-sm opacity-0`},{default:t(()=>[e(s(n(P)(`galaxyView.myPlanets`)),1)]),_:1}),d(n(v),null,{default:t(()=>[d(n(w),{"as-child":``},{default:t(()=>[d(n(T),{variant:`outline`,class:`w-full`},{default:t(()=>[d(n(ue),{class:`h-4 w-4 mr-2`}),e(` `+s(n(P)(`galaxyView.myPlanets`)),1)]),_:1})]),_:1}),d(n(O),{class:`w-72 p-2`,align:`start`},{default:t(()=>[l(`div`,Le,[l(`div`,Re,s(n(P)(`galaxyView.selectPlanetToView`)),1),(p(!0),o(r,null,f(Nt.value,r=>(p(),c(n(T),{key:r.id,onClick:e=>It(r),disabled:r.position.galaxy===z.value&&r.position.system===B.value,variant:`ghost`,class:m([`w-full justify-start h-auto py-2 px-2 text-left`,r.position.galaxy===z.value&&r.position.system===B.value&&`bg-blue-100 dark:bg-blue-950/50 border border-blue-400 dark:border-blue-600`]),size:`sm`},{default:t(()=>[l(`div`,ze,[d(n(h),{class:`h-4 w-4 flex-shrink-0 mt-0.5`}),l(`div`,Be,[l(`div`,Ve,[l(`span`,He,s(r.name),1),r.isMoon?(p(),c(n(b),{key:0,variant:`outline`,class:`text-[10px] px-1 py-0 h-4`},{default:t(()=>[e(s(n(P)(`planet.moon`)),1)]),_:1})):u(``,!0)]),l(`div`,Ue,` [`+s(r.position.galaxy)+`:`+s(r.position.system)+`:`+s(r.position.position)+`] `,1)])])]),_:2},1032,[`onClick`,`disabled`,`class`]))),128))])]),_:1})]),_:1})],2)),H.value?(p(),o(`div`,{key:1,class:m([G.value?`col-span-2 sm:col-span-2`:``,`space-y-2`])},[d(n(D),{class:`text-xs sm:text-sm opacity-0`},{default:t(()=>[e(s(n(P)(`galaxyView.npcPlanets`)),1)]),_:1}),d(n(v),null,{default:t(()=>[d(n(w),{"as-child":``},{default:t(()=>[d(n(T),{variant:`outline`,class:`w-full border-yellow-400 dark:border-yellow-600`},{default:t(()=>[d(n(h),{class:`h-4 w-4 mr-2`}),e(` `+s(H.value.name)+` (`+s(H.value.planets.length)+`) `,1)]),_:1})]),_:1}),d(n(O),{class:`w-72 p-2`,align:`start`},{default:t(()=>[l(`div`,We,[l(`div`,Ge,s(n(P)(`galaxyView.selectPlanetToView`)),1),(p(!0),o(r,null,f(H.value.planets,e=>(p(),c(n(T),{key:e.id,onClick:t=>It(e),disabled:e.position.galaxy===z.value&&e.position.system===B.value,variant:`ghost`,class:m([`w-full justify-start h-auto py-2 px-2 text-left`,e.position.galaxy===z.value&&e.position.system===B.value&&`bg-yellow-100 dark:bg-yellow-950/50 border border-yellow-400 dark:border-yellow-600`]),size:`sm`},{default:t(()=>[l(`div`,Ke,[d(n(h),{class:`h-4 w-4 flex-shrink-0 mt-0.5`}),l(`div`,qe,[l(`div`,Je,s(e.name),1),l(`div`,Ye,` [`+s(e.position.galaxy)+`:`+s(e.position.system)+`:`+s(e.position.position)+`] `,1)])])]),_:2},1032,[`onClick`,`disabled`,`class`]))),128))])]),_:1})]),_:1})],2)):u(``,!0)],2)]),_:1})]),_:1}),d(n(ge),null,{default:t(()=>[d(n(De),null,{default:t(()=>[d(n(me),null,{default:t(()=>[e(s(n(P)(`galaxyView.galaxy`))+` `+s(z.value)+`:`+s(B.value),1)]),_:1}),d(n(fe),null,{default:t(()=>[e(s(n(P)(`galaxyView.totalPositions`)),1)]),_:1})]),_:1}),d(n(Oe),null,{default:t(()=>[l(`div`,Xe,[(p(!0),o(r,null,f(U.value,r=>(p(),o(`div`,{key:r.position,class:m([`flex items-center gap-2 sm:gap-4 p-2 sm:p-3 border rounded-lg hover:bg-muted/50 transition-colors`,{"bg-muted/30":!r.planet,"bg-blue-50 dark:bg-blue-950 border-blue-300 dark:border-blue-700":r.planet&&J(r.planet),"bg-yellow-50 dark:bg-yellow-950/30 border-yellow-400 dark:border-yellow-600 ring-2 ring-yellow-400 dark:ring-yellow-500":r.planet&&Y(r.planet)&&!J(r.planet),"bg-green-50 dark:bg-green-950/30 border-green-300 dark:border-green-700":r.planet&&!J(r.planet)&&!Y(r.planet)&&Z(r.planet)?.status===n(_).Friendly,"bg-red-50 dark:bg-red-950/30 border-red-300 dark:border-red-700":r.planet&&!J(r.planet)&&!Y(r.planet)&&Z(r.planet)?.status===n(_).Hostile,"bg-gray-50 dark:bg-gray-950/30 border-gray-300 dark:border-gray-700":r.planet&&!J(r.planet)&&!Y(r.planet)&&X(r.planet)&&(!Z(r.planet)||Z(r.planet)?.status===n(_).Neutral)}])},[l(`div`,Ze,[d(n(b),{variant:`outline`,class:`text-xs sm:text-sm`},{default:t(()=>[e(s(r.position),1)]),_:2},1024)]),l(`div`,Qe,[r.planet?(p(),o(`div`,$e,[l(`div`,et,[l(`div`,tt,[l(`h3`,nt,s(r.planet.name),1),l(`span`,rt,` [`+s(r.planet.position.galaxy)+`:`+s(r.planet.position.system)+`:`+s(r.planet.position.position)+`] `,1)]),l(`div`,it,[J(r.planet)?(p(),c(n(b),{key:0,variant:`default`,class:`text-xs`},{default:t(()=>[e(s(n(P)(`galaxyView.mine`)),1)]),_:1})):(p(),c(n(b),{key:1,variant:Lt(r.planet),class:`text-xs`},{default:t(()=>[e(s(Rt(r.planet)),1)]),_:2},1032,[`variant`])),K(z.value,B.value,r.position)?(p(),c(n(v),{key:2},{default:t(()=>[d(n(w),{"as-child":``},{default:t(()=>[d(n(b),{variant:`outline`,class:`text-xs cursor-pointer hover:bg-amber-50 dark:hover:bg-amber-950/30 border-amber-300 dark:border-amber-700 text-amber-700 dark:text-amber-400 gap-1`},{default:t(()=>[d(n(g),{class:`h-3 w-3`}),l(`span`,at,s(n(P)(`galaxyView.debris`)),1)]),_:1})]),_:1}),d(n(O),{class:`w-auto p-3`,side:`top`,align:`start`},{default:t(()=>[l(`div`,ot,[l(`p`,st,s(n(P)(`galaxyView.debrisField`)),1),l(`div`,ct,[l(`div`,lt,[d(S,{type:`metal`,size:`sm`}),l(`span`,ut,s(n(P)(`resources.metal`))+`:`,1),l(`span`,dt,s(n(E)(K(z.value,B.value,r.position).resources.metal)),1)]),l(`div`,ft,[d(S,{type:`crystal`,size:`sm`}),l(`span`,pt,s(n(P)(`resources.crystal`))+`:`,1),l(`span`,mt,s(n(E)(K(z.value,B.value,r.position).resources.crystal)),1)])])])]),_:2},1024)]),_:2},1024)):u(``,!0)])]),l(`p`,ht,` [`+s(r.planet.position.galaxy)+`:`+s(r.planet.position.system)+`:`+s(r.planet.position.position)+`] `,1),!J(r.planet)&&Q(r.planet)!==null?(p(),o(`div`,gt,[l(`span`,_t,s(n(P)(`diplomacy.reputation`))+`:`,1),l(`span`,{class:m([`ml-1 font-semibold`,zt(Q(r.planet))])},s(Q(r.planet)>0?`+`:``)+s(Q(r.planet)),3)])):u(``,!0)])):(p(),o(`div`,vt,[l(`div`,yt,s(n(P)(`galaxyView.emptySlot`)),1),K(z.value,B.value,r.position)?(p(),c(n(v),{key:0},{default:t(()=>[d(n(w),{"as-child":``},{default:t(()=>[d(n(b),{variant:`outline`,class:`text-xs cursor-pointer hover:bg-amber-50 dark:hover:bg-amber-950/30 border-amber-300 dark:border-amber-700 text-amber-700 dark:text-amber-400 gap-1 inline-flex`},{default:t(()=>[d(n(g),{class:`h-3 w-3`}),l(`span`,null,s(n(P)(`galaxyView.debris`)),1)]),_:1})]),_:1}),d(n(O),{class:`w-auto p-3`,side:`top`,align:`start`},{default:t(()=>[l(`div`,bt,[l(`p`,xt,s(n(P)(`galaxyView.debrisField`)),1),l(`div`,St,[l(`div`,Ct,[d(S,{type:`metal`,size:`sm`}),l(`span`,wt,s(n(P)(`resources.metal`))+`:`,1),l(`span`,Tt,s(n(E)(K(z.value,B.value,r.position).resources.metal)),1)]),l(`div`,Et,[d(S,{type:`crystal`,size:`sm`}),l(`span`,Dt,s(n(P)(`resources.crystal`))+`:`,1),l(`span`,Ot,s(n(E)(K(z.value,B.value,r.position).resources.crystal)),1)])])])]),_:2},1024)]),_:2},1024)):u(``,!0)]))]),l(`div`,kt,[d(n(de),{"delay-duration":300},{default:t(()=>[r.planet&&!J(r.planet)?(p(),c(n(x),{key:0},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>$(r.planet,`spy`),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(oe),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.scout`)),1)]),_:1})]),_:2},1024)):u(``,!0),r.planet&&!J(r.planet)?(p(),c(n(x),{key:1},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>$(r.planet,`attack`),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(le),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.attack`)),1)]),_:1})]),_:2},1024)):u(``,!0),r.planet&&!J(r.planet)&&X(r.planet)?(p(),c(n(x),{key:2},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>$(r.planet,`gift`),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(se),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.sendGift`)),1)]),_:1})]),_:2},1024)):u(``,!0),r.planet?u(``,!0):(p(),c(n(x),{key:3},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>$(null,`colonize`,r.position),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(ce),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.colonize`)),1)]),_:1})]),_:2},1024)),r.planet&&J(r.planet)?(p(),c(n(x),{key:4},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>Bt(r.planet.id),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(ue),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.switch`)),1)]),_:1})]),_:2},1024)):u(``,!0),K(z.value,B.value,r.position)?(p(),c(n(x),{key:5},{default:t(()=>[d(n(C),{"as-child":``},{default:t(()=>[d(n(T),{onClick:e=>$(r.planet,`recycle`,r.position),variant:`outline`,size:`sm`,class:`h-8 w-8 p-0`},{default:t(()=>[d(n(g),{class:`h-3 w-3 sm:h-4 sm:w-4`})]),_:1},8,[`onClick`])]),_:2},1024),d(n(y),null,{default:t(()=>[l(`p`,null,s(n(P)(`galaxyView.recycle`)),1)]),_:1})]),_:2},1024)):u(``,!0)]),_:2},1024)])],2))),128))])]),_:1})]),_:1}),d(n(Ee),{open:F.value,"onUpdate:open":a[2]||=e=>F.value=e},{default:t(()=>[d(n(we),null,{default:t(()=>[d(n(ve),null,{default:t(()=>[d(n(Ce),null,{default:t(()=>[e(s(jt.value),1)]),_:1}),d(n(xe),{class:`whitespace-pre-line`},{default:t(()=>[e(s(Mt.value),1)]),_:1})]),_:1}),d(n(he),null,{default:t(()=>[d(n(_e),null,{default:t(()=>[e(s(n(P)(`common.cancel`)),1)]),_:1}),d(n(ye),{onClick:Vt},{default:t(()=>[e(s(n(P)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{A as default}; \ No newline at end of file diff --git a/docs/assets/MessagesView-Czwj26_i.js b/docs/assets/MessagesView-Czwj26_i.js new file mode 100644 index 0000000..4242f56 --- /dev/null +++ b/docs/assets/MessagesView-Czwj26_i.js @@ -0,0 +1 @@ +import{$t as e,Cn as t,En as n,Gn as r,Gt as i,J as a,Jt as o,Ln as s,Qt as c,Ut as l,Xn as u,Xt as d,Yt as f,Z as p,Zt as m,en as h,gn as g,mn as _,qn as v,tn as y,vn as b}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{L as x,P as ee,S,Y as C,c as w,n as T,o as te,q as ne,r as re,v as ie}from"./vendor-icons-z9V6Jdbh.js";import"./TooltipProvider-BwjgS8_x.js";import{t as E}from"./CardDescription-BSLS07AU.js";import{m as D}from"./game-config-CG6z6nnH.js";import{A as O,H as k,K as ae,M as A,N as j,O as M,W as N,_ as P,b as F,d as I,f as L,j as R,k as z,q as oe,t as se,v as B,y as V}from"./index-BT5w6et-.js";import{t as H}from"./useGameConfig-b98LOtBY.js";import{i as ce,n as le,r as U,t as ue}from"./TabsTrigger-DrosU7aN.js";import{t as de}from"./BattleReportDialog-CGjL16c6.js";var W={key:0,class:`space-y-4`},G={class:`p-3 bg-muted rounded-lg`},K={class:`text-sm font-medium mb-2`},q={class:`text-xs text-muted-foreground`},J={class:`text-sm font-medium mb-2`},Y={class:`flex flex-wrap gap-3 text-xs sm:text-sm`},fe={class:`flex items-center gap-1`},pe={class:`flex items-center gap-1`},me={class:`flex items-center gap-1`},he={class:`flex items-center gap-1`},ge={key:0},_e={class:`text-sm font-medium mb-2`},ve={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},ye={class:`text-muted-foreground`},X={class:`ml-1 font-medium`},Z={key:1},Q={class:`text-sm font-medium mb-2`},be={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},xe={key:0,class:`block`},Se={class:`text-muted-foreground`},Ce={class:`ml-1 font-medium`},we={key:2},Te={class:`text-sm font-medium mb-2`},Ee={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},De={class:`text-muted-foreground`},Oe={class:`ml-1 font-medium`},ke=y({__name:`SpyReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(a,{emit:o}){let l=a,p=o,{t:v}=ae(),{SHIPS:y,DEFENSES:b,BUILDINGS:ee}=H(),S=s(l.open);t(()=>l.open,e=>{S.value=e}),t(S,e=>{p(`update:open`,e)});let C=e=>e?Object.values(e).some(e=>e>0):!1;return(t,o)=>(_(),d(r(A),{open:S.value,"onUpdate:open":o[0]||=e=>S.value=e},{default:n(()=>[h(r(z),{"container-class":`sm:max-w-2xl max-h-[90vh]`},{header:n(()=>[h(r(O),null,{default:n(()=>[h(r(M),{class:`flex items-center gap-2`},{default:n(()=>[h(r(x),{class:`h-5 w-5`}),e(` `+u(r(v)(`messagesView.spyReport`)),1)]),_:1}),a.report?(_(),d(r(R),{key:0},{default:n(()=>[e(u(r(I)(a.report.timestamp)),1)]),_:1})):m(``,!0)]),_:1})]),default:n(()=>[a.report?(_(),c(`div`,W,[f(`div`,G,[f(`p`,K,u(r(v)(`messagesView.targetPlanet`)),1),f(`p`,q,u(a.report.targetPlanetName)+` [`+u(a.report.targetPosition.galaxy)+`:`+u(a.report.targetPosition.system)+`:`+u(a.report.targetPosition.position)+`] `,1)]),f(`div`,null,[f(`p`,J,u(r(v)(`messagesView.resources`))+`:`,1),f(`div`,Y,[f(`span`,fe,[h(j,{type:`metal`,size:`sm`}),e(` `+u(r(L)(a.report.resources.metal)),1)]),f(`span`,pe,[h(j,{type:`crystal`,size:`sm`}),e(` `+u(r(L)(a.report.resources.crystal)),1)]),f(`span`,me,[h(j,{type:`deuterium`,size:`sm`}),e(` `+u(r(L)(a.report.resources.deuterium)),1)]),f(`span`,he,[h(j,{type:`darkMatter`,size:`sm`}),e(` `+u(r(L)(a.report.resources.darkMatter)),1)])])]),a.report.fleet&&Object.keys(a.report.fleet).length>0?(_(),c(`div`,ge,[f(`p`,_e,u(r(v)(`messagesView.fleet`))+`:`,1),f(`div`,ve,[(_(!0),c(i,null,g(a.report.fleet,(e,t)=>(_(),c(`div`,{key:t},[f(`span`,ye,u(r(y)[t].name)+`:`,1),f(`span`,X,u(e),1)]))),128))])])):m(``,!0),a.report.defense&&C(a.report.defense)?(_(),c(`div`,Z,[f(`p`,Q,u(r(v)(`messagesView.defense`))+`:`,1),f(`div`,be,[(_(!0),c(i,null,g(a.report.defense,(e,t)=>(_(),c(`div`,{key:t},[e&&e>0?(_(),c(`span`,xe,[f(`span`,Se,u(r(b)[t].name)+`:`,1),f(`span`,Ce,u(e),1)])):m(``,!0)]))),128))])])):m(``,!0),a.report.buildings&&Object.keys(a.report.buildings).length>0?(_(),c(`div`,we,[f(`p`,Te,u(r(v)(`messagesView.buildings`))+`:`,1),f(`div`,Ee,[(_(!0),c(i,null,g(a.report.buildings,(e,t)=>(_(),c(`div`,{key:t},[f(`span`,De,u(r(ee)[t].name)+`:`,1),f(`span`,Oe,`Lv.`+u(e),1)]))),128))])])):m(``,!0)])):m(``,!0)]),_:1})]),_:1},8,[`open`]))}}),Ae={class:`container mx-auto p-4 sm:p-6 space-y-6`},je={class:`text-2xl sm:text-3xl font-bold`},Me={class:`text-xs sm:text-sm truncate`},Ne={class:`flex justify-between items-center gap-2`},Pe={class:`flex items-center gap-2 min-w-0 flex-1`},Fe={class:`flex justify-between items-center gap-2`},Ie={class:`flex items-center gap-2 min-w-0 flex-1`},Le={class:`flex justify-between items-center gap-2`},Re={class:`flex items-center gap-2 min-w-0 flex-1`},ze={class:`flex justify-between items-center gap-2`},Be={class:`flex items-center gap-2 min-w-0 flex-1`},Ve={class:`flex justify-between items-center gap-2`},He={class:`flex items-center gap-2 min-w-0 flex-1`},Ue={class:`space-y-3`},We={class:`text-sm`},Ge={class:`font-semibold mb-1`},Ke={class:`grid grid-cols-3 gap-2`},qe={key:0},Je={key:1},Ye={key:2},Xe={class:`text-xs text-muted-foreground`},Ze={class:`text-green-600`},Qe={class:`flex gap-2`},$e={class:`flex justify-between items-center gap-2`},et={class:`flex items-center gap-2 min-w-0 flex-1`},tt={class:`space-y-2`},nt={class:`text-sm`},rt={class:`font-semibold mb-1`},it={class:`grid grid-cols-3 gap-2`},at={key:0},ot={key:1},st={key:2},ct={class:`text-xs text-muted-foreground`},lt={class:`text-xs text-muted-foreground`},ut={class:`flex justify-between items-center gap-2`},dt={class:`flex items-center gap-2 min-w-0 flex-1`},$=y({__name:`MessagesView`,setup(t){let y=oe(),O=se(),{t:A}=ae(),j=s(`battles`),M=s(!1),L=s(!1),R=s(null),z=s(null),H=o(()=>[...y.player.battleReports].sort((e,t)=>t.timestamp-e.timestamp)),W=o(()=>[...y.player.spyReports].sort((e,t)=>t.timestamp-e.timestamp)),G=o(()=>y.player.spiedNotifications?[...y.player.spiedNotifications].sort((e,t)=>t.timestamp-e.timestamp):[]),K=o(()=>y.player.missionReports?[...y.player.missionReports].sort((e,t)=>t.timestamp-e.timestamp):[]),q=o(()=>y.player.npcActivityNotifications?[...y.player.npcActivityNotifications].sort((e,t)=>t.timestamp-e.timestamp):[]),J=o(()=>y.player.battleReports.filter(e=>!e.read).length),Y=o(()=>y.player.spyReports.filter(e=>!e.read).length),fe=o(()=>y.player.spiedNotifications?y.player.spiedNotifications.filter(e=>!e.read).length:0),pe=o(()=>y.player.npcActivityNotifications?y.player.npcActivityNotifications.filter(e=>!e.read).length:0),me=o(()=>y.player.missionReports?y.player.missionReports.filter(e=>!e.read).length:0),he=o(()=>y.player.giftNotifications?y.player.giftNotifications.filter(e=>!e.read).length:0),ge=o(()=>y.player.giftRejectedNotifications?y.player.giftRejectedNotifications.filter(e=>!e.read).length:0),_e=o(()=>Y.value+fe.value),ve=o(()=>pe.value+he.value+ge.value),ye=o(()=>[{value:`battles`,icon:w,label:A(`messagesView.battles`),unreadCount:J.value},{value:`spy`,icon:x,label:A(`messagesView.spy`),unreadCount:_e.value},{value:`missions`,icon:S,label:A(`messagesView.missions`),unreadCount:me.value},{value:`npc`,icon:re,label:A(`messagesView.npc`),unreadCount:ve.value}]),X=o(()=>y.player.giftNotifications?[...y.player.giftNotifications].sort((e,t)=>t.timestamp-e.timestamp):[]),Z=o(()=>y.player.giftRejectedNotifications?[...y.player.giftRejectedNotifications].sort((e,t)=>t.timestamp-e.timestamp):[]),Q=e=>e.winner===`draw`?`secondary`:(e.attackerId===y.player.id?e.winner===`attacker`:e.winner===`defender`)?`default`:`destructive`,be=e=>e.winner===`draw`?A(`messagesView.draw`):(e.attackerId===y.player.id?e.winner===`attacker`:e.winner===`defender`)?A(`messagesView.victory`):A(`messagesView.defeat`),xe=e=>{R.value=e,M.value=!0,e.read||=!0},Se=e=>{z.value=e,L.value=!0,e.read||=!0},Ce=e=>{e.read||=!0},we=e=>{let t=y.player.battleReports.findIndex(t=>t.id===e);t>-1&&y.player.battleReports.splice(t,1)},Te=e=>{let t=y.player.spyReports.findIndex(t=>t.id===e);t>-1&&y.player.spyReports.splice(t,1)},Ee=e=>{if(!y.player.spiedNotifications)return;let t=y.player.spiedNotifications.findIndex(t=>t.id===e);t>-1&&y.player.spiedNotifications.splice(t,1)},De=e=>{e.read||=!0},Oe=e=>{if(!y.player.npcActivityNotifications)return;let t=y.player.npcActivityNotifications.findIndex(t=>t.id===e);t>-1&&y.player.npcActivityNotifications.splice(t,1)},$=e=>({[D.Transport]:A(`fleetView.transport`),[D.Colonize]:A(`fleetView.colonize`),[D.Deploy]:A(`fleetView.deploy`),[D.Recycle]:A(`fleetView.recycle`),[D.Destroy]:A(`fleetView.destroy`)})[e]||e,ft=e=>{e.read||=!0},pt=e=>{if(!y.player.missionReports)return;let t=y.player.missionReports.findIndex(t=>t.id===e);t>-1&&y.player.missionReports.splice(t,1)},mt=e=>{e.read||=!0},ht=e=>{let t=O.npcs.find(t=>t.id===e.fromNpcId);t&&a(y.player,t,e)},gt=e=>{let t=O.npcs.find(t=>t.id===e.fromNpcId);t&&p(y.player,t,e)},_t=e=>{if(!y.player.giftNotifications)return;let t=y.player.giftNotifications.findIndex(t=>t.id===e);t>-1&&y.player.giftNotifications.splice(t,1)},vt=e=>{e.read||=!0},yt=e=>{if(!y.player.giftRejectedNotifications)return;let t=y.player.giftRejectedNotifications.findIndex(t=>t.id===e);t>-1&&y.player.giftRejectedNotifications.splice(t,1)};return(t,a)=>(_(),c(`div`,Ae,[f(`h1`,je,u(r(A)(`messagesView.title`)),1),h(r(ce),{modelValue:j.value,"onUpdate:modelValue":a[0]||=e=>j.value=e,class:`w-full`},{default:n(()=>[h(r(le),{class:`grid w-full grid-cols-2 sm:grid-cols-4`,"tab-count":4},{default:n(()=>[(_(!0),c(i,null,g(ye.value,t=>(_(),d(r(ue),{key:t.value,value:t.value,class:`flex items-center justify-center gap-1 px-2`},{default:n(()=>[(_(),d(b(t.icon),{class:`h-3 w-3 sm:h-4 sm:w-4`})),f(`span`,Me,u(t.label),1),t.unreadCount>0?(_(),d(r(k),{key:0,variant:`destructive`,class:`hidden sm:flex ml-1`},{default:n(()=>[e(u(t.unreadCount),1)]),_:2},1024)):m(``,!0)]),_:2},1032,[`value`]))),128))]),_:1}),h(r(U),{value:`battles`,class:`mt-4 space-y-2`},{default:n(()=>[r(y).player.battleReports.length===0?(_(),d(r(F),{key:0},{default:n(()=>[h(r(V),{class:`py-8 text-center text-muted-foreground`},{default:n(()=>[e(u(r(A)(`messagesView.noBattleReports`)),1)]),_:1})]),_:1})):m(``,!0),(_(!0),c(i,null,g(H.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>xe(t),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,Ne,[f(`div`,Pe,[h(r(w),{class:`h-4 w-4 flex-shrink-0`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.battleReport`)),1)]),_:1}),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1})),h(r(k),{variant:Q(t),class:`text-xs`},{default:n(()=>[e(u(be(t)),1)]),_:2},1032,[`variant`])]),h(r(N),{onClick:l(e=>we(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}),h(r(U),{value:`spy`,class:`mt-4 space-y-2`},{default:n(()=>[r(y).player.spyReports.length===0&&G.value.length===0?(_(),d(r(F),{key:0},{default:n(()=>[h(r(V),{class:`py-8 text-center text-muted-foreground`},{default:n(()=>[e(u(r(A)(`messagesView.noSpyReports`)),1)]),_:1})]),_:1})):m(``,!0),(_(!0),c(i,null,g(W.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>Se(t),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,Fe,[f(`div`,Ie,[h(r(x),{class:`h-4 w-4 flex-shrink-0`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.spyReport`)),1)]),_:1}),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1})),h(r(k),{variant:`outline`,class:`text-xs`},{default:n(()=>[e(u(t.targetPlanetId),1)]),_:2},1024)]),h(r(N),{onClick:l(e=>Te(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128)),(_(!0),c(i,null,g(G.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>Ce(t),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,Le,[f(`div`,Re,[h(r(te),{class:`h-4 w-4 flex-shrink-0 text-destructive`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.spiedNotification`)),1)]),_:1}),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1})),h(r(k),{variant:t.detectionSuccess?`destructive`:`secondary`,class:`text-xs`},{default:n(()=>[e(u(t.detectionSuccess?r(A)(`messagesView.detected`):r(A)(`messagesView.undetected`)),1)]),_:2},1032,[`variant`])]),h(r(N),{onClick:l(e=>Ee(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(t.npcName)+` → `+u(t.targetPlanetName)+` · `+u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}),h(r(U),{value:`npc`,class:`mt-4 space-y-2`},{default:n(()=>[q.value.length===0&&X.value.length===0&&Z.value.length===0?(_(),d(r(F),{key:0},{default:n(()=>[h(r(V),{class:`py-8 text-center text-muted-foreground`},{default:n(()=>[e(u(r(A)(`messagesView.noNPCActivity`)),1)]),_:1})]),_:1})):m(``,!0),(_(!0),c(i,null,g(q.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>De(t),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,ze,[f(`div`,Be,[h(r(ie),{class:`h-4 w-4 flex-shrink-0 text-blue-500`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.npcRecycleActivity`)),1)]),_:1}),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1}))]),h(r(N),{onClick:l(e=>Oe(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(t.npcName)+` → `+u(t.targetPlanetName||`[${t.targetPosition.galaxy}:${t.targetPosition.system}:${t.targetPosition.position}]`)+` · `+u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128)),(_(!0),c(i,null,g(X.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>mt(t),class:`hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,Ve,[f(`div`,He,[h(r(ee),{class:`h-4 w-4 flex-shrink-0 text-green-600`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.giftFrom`).replace(`{npcName}`,t.fromNpcName)),1)]),_:2},1024),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1}))]),h(r(N),{onClick:l(e=>_t(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024),h(r(V),null,{default:n(()=>[f(`div`,Ue,[f(`div`,We,[f(`div`,Ge,u(r(A)(`messagesView.giftResources`))+`:`,1),f(`div`,Ke,[t.resources.metal>0?(_(),c(`div`,qe,u(r(A)(`resources.metal`))+`: `+u(t.resources.metal.toLocaleString()),1)):m(``,!0),t.resources.crystal>0?(_(),c(`div`,Je,u(r(A)(`resources.crystal`))+`: `+u(t.resources.crystal.toLocaleString()),1)):m(``,!0),t.resources.deuterium>0?(_(),c(`div`,Ye,u(r(A)(`resources.deuterium`))+`: `+u(t.resources.deuterium.toLocaleString()),1)):m(``,!0)])]),f(`div`,Xe,[e(u(r(A)(`messagesView.expectedReputation`))+`: `,1),f(`span`,Ze,`+`+u(t.expectedReputationGain),1)]),f(`div`,Qe,[h(r(N),{onClick:l(e=>ht(t),[`stop`]),variant:`default`,size:`sm`,class:`flex-1`},{default:n(()=>[h(r(ne),{class:`h-4 w-4 mr-1`}),e(` `+u(r(A)(`messagesView.acceptGift`)),1)]),_:1},8,[`onClick`]),h(r(N),{onClick:l(e=>gt(t),[`stop`]),variant:`outline`,size:`sm`,class:`flex-1`},{default:n(()=>[h(r(C),{class:`h-4 w-4 mr-1`}),e(` `+u(r(A)(`messagesView.rejectGift`)),1)]),_:1},8,[`onClick`])])])]),_:2},1024)]),_:2},1032,[`onClick`]))),128)),(_(!0),c(i,null,g(Z.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>vt(t),class:`hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,$e,[f(`div`,et,[h(r(C),{class:`h-4 w-4 flex-shrink-0 text-red-600`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u(r(A)(`messagesView.giftRejectedBy`).replace(`{npcName}`,t.npcName)),1)]),_:2},1024),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1}))]),h(r(N),{onClick:l(e=>yt(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024),h(r(V),null,{default:n(()=>[f(`div`,tt,[f(`div`,nt,[f(`div`,rt,u(r(A)(`messagesView.rejectedResources`))+`:`,1),f(`div`,it,[t.rejectedResources.metal>0?(_(),c(`div`,at,u(r(A)(`resources.metal`))+`: `+u(t.rejectedResources.metal.toLocaleString()),1)):m(``,!0),t.rejectedResources.crystal>0?(_(),c(`div`,ot,u(r(A)(`resources.crystal`))+`: `+u(t.rejectedResources.crystal.toLocaleString()),1)):m(``,!0),t.rejectedResources.deuterium>0?(_(),c(`div`,st,u(r(A)(`resources.deuterium`))+`: `+u(t.rejectedResources.deuterium.toLocaleString()),1)):m(``,!0)])]),f(`div`,ct,[e(u(r(A)(`messagesView.currentReputation`))+`: `,1),f(`span`,{class:v(t.currentReputation>=0?`text-green-600`:`text-red-600`)},u(t.currentReputation),3)]),f(`div`,lt,u(r(A)(`messagesView.rejectionReason.`+t.reason)),1)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}),h(r(U),{value:`missions`,class:`mt-4 space-y-2`},{default:n(()=>[K.value.length===0?(_(),d(r(F),{key:0},{default:n(()=>[h(r(V),{class:`py-8 text-center text-muted-foreground`},{default:n(()=>[e(u(r(A)(`messagesView.noMissionReports`)),1)]),_:1})]),_:1})):m(``,!0),(_(!0),c(i,null,g(K.value,t=>(_(),d(r(F),{key:t.id,onClick:e=>ft(t),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:n(()=>[h(r(B),{class:`pb-3`},{default:n(()=>[f(`div`,ut,[f(`div`,dt,[h(r(S),{class:`h-4 w-4 flex-shrink-0`}),h(r(P),{class:`text-base sm:text-lg`},{default:n(()=>[e(u($(t.missionType)),1)]),_:2},1024),t.read?m(``,!0):(_(),d(r(k),{key:0,variant:`default`,class:`text-xs`},{default:n(()=>[e(u(r(A)(`messagesView.unread`)),1)]),_:1})),h(r(k),{variant:t.success?`default`:`destructive`,class:`text-xs`},{default:n(()=>[e(u(t.success?r(A)(`messagesView.success`):r(A)(`messagesView.failed`)),1)]),_:2},1032,[`variant`])]),h(r(N),{onClick:l(e=>pt(t.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:n(()=>[h(r(T),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),h(r(E),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(t.originPlanetName)+` → `+u(t.targetPlanetName||`[${t.targetPosition.galaxy}:${t.targetPosition.system}:${t.targetPosition.position}]`)+` · `+u(r(I)(t.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})]),_:1},8,[`modelValue`]),h(de,{open:M.value,"onUpdate:open":a[1]||=e=>M.value=e,report:R.value},null,8,[`open`,`report`]),h(ke,{open:L.value,"onUpdate:open":a[2]||=e=>L.value=e,report:z.value},null,8,[`open`,`report`])]))}});export{$ as default}; \ No newline at end of file diff --git a/docs/assets/MessagesView-DpnWNQDD.js b/docs/assets/MessagesView-DpnWNQDD.js deleted file mode 100644 index 0e79d71..0000000 --- a/docs/assets/MessagesView-DpnWNQDD.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as i,Jt as a,Kt as o,Mt as s,Nt as c,On as l,Ot as u,hn as d,in as f,jt as p,kt as m,tn as h,xt as g}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{I as _,c as v,n as y}from"./vendor-icons-W6Ny__75.js";import"./TooltipProvider-BAp4BAXy.js";import{t as b}from"./CardDescription-D2AN1hhX.js";import"./game-config-D-D7cMgJ.js";import{A as x,F as S,I as C,M as w,P as T,S as E,b as D,c as O,l as k,n as A,r as j,s as M,u as N,v as P,w as F,x as I,y as L}from"./index-DWmvUlvu.js";import{t as R}from"./useGameConfig-B5wf1i8i.js";import{t as z}from"./BattleReportDialog-CWBu6H63.js";var B={key:0,class:`space-y-4`},V={class:`p-3 bg-muted rounded-lg`},H={class:`text-sm font-medium mb-2`},U={key:0,class:`text-xs text-muted-foreground`},W={key:1,class:`text-xs text-muted-foreground`},ee={class:`text-sm font-medium mb-2`},te={class:`flex flex-wrap gap-3 text-xs sm:text-sm`},G={class:`flex items-center gap-1`},K={class:`flex items-center gap-1`},q={class:`flex items-center gap-1`},J={class:`flex items-center gap-1`},Y={key:0},X={class:`text-sm font-medium mb-2`},Z={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},ne={class:`text-muted-foreground`},re={class:`ml-1 font-medium`},ie={key:1},ae={class:`text-sm font-medium mb-2`},oe={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},se={key:0,class:`block`},ce={class:`text-muted-foreground`},le={class:`ml-1 font-medium`},ue={key:2},de={class:`text-sm font-medium mb-2`},fe={class:`grid grid-cols-2 sm:grid-cols-3 gap-2 text-xs sm:text-sm`},pe={class:`text-muted-foreground`},me={class:`ml-1 font-medium`},Q=c({__name:`SpyReportDialog`,props:{report:{},open:{type:Boolean}},emits:[`update:open`],setup(c,{emit:g}){let v=c,y=g,b=C(),x=S(),{t:w}=T(),{SHIPS:O,DEFENSES:k,BUILDINGS:M}=R(),N=d(v.open),z=i(()=>v.report?b.player.planets.find(e=>e.id===v.report.targetPlanetId)||Object.values(x.planets).find(e=>e.id===v.report.targetPlanetId):null);h(()=>v.open,e=>{N.value=e}),h(N,e=>{y(`update:open`,e)});let Q=e=>e?Object.values(e).some(e=>e>0):!1;return(i,d)=>(o(),u(t(E),{open:N.value,"onUpdate:open":d[0]||=e=>N.value=e},{default:f(()=>[s(t(I),{class:`max-w-2xl max-h-[90vh] overflow-y-auto`},{default:f(()=>[s(t(L),null,{default:f(()=>[s(t(P),{class:`flex items-center gap-2`},{default:f(()=>[s(t(_),{class:`h-5 w-5`}),p(` `+l(t(w)(`messagesView.spyReport`)),1)]),_:1}),c.report?(o(),u(t(D),{key:0},{default:f(()=>[p(l(t(A)(c.report.timestamp)),1)]),_:1})):m(``,!0)]),_:1}),c.report?(o(),e(`div`,B,[r(`div`,V,[r(`p`,H,l(t(w)(`messagesView.targetPlanet`)),1),z.value?(o(),e(`p`,U,l(z.value.name)+` [`+l(z.value.position.galaxy)+`:`+l(z.value.position.system)+`:`+l(z.value.position.position)+`] `,1)):(o(),e(`p`,W,l(c.report.targetPlanetId),1))]),r(`div`,null,[r(`p`,ee,l(t(w)(`messagesView.resources`))+`:`,1),r(`div`,te,[r(`span`,G,[s(F,{type:`metal`,size:`sm`}),p(` `+l(t(j)(c.report.resources.metal)),1)]),r(`span`,K,[s(F,{type:`crystal`,size:`sm`}),p(` `+l(t(j)(c.report.resources.crystal)),1)]),r(`span`,q,[s(F,{type:`deuterium`,size:`sm`}),p(` `+l(t(j)(c.report.resources.deuterium)),1)]),r(`span`,J,[s(F,{type:`darkMatter`,size:`sm`}),p(` `+l(t(j)(c.report.resources.darkMatter)),1)])])]),c.report.fleet&&Object.keys(c.report.fleet).length>0?(o(),e(`div`,Y,[r(`p`,X,l(t(w)(`messagesView.fleet`))+`:`,1),r(`div`,Z,[(o(!0),e(n,null,a(c.report.fleet,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,ne,l(t(O)[i].name)+`:`,1),r(`span`,re,l(n),1)]))),128))])])):m(``,!0),c.report.defense&&Q(c.report.defense)?(o(),e(`div`,ie,[r(`p`,ae,l(t(w)(`messagesView.defense`))+`:`,1),r(`div`,oe,[(o(!0),e(n,null,a(c.report.defense,(n,i)=>(o(),e(`div`,{key:i},[n&&n>0?(o(),e(`span`,se,[r(`span`,ce,l(t(k)[i].name)+`:`,1),r(`span`,le,l(n),1)])):m(``,!0)]))),128))])])):m(``,!0),c.report.buildings&&Object.keys(c.report.buildings).length>0?(o(),e(`div`,ue,[r(`p`,de,l(t(w)(`messagesView.buildings`))+`:`,1),r(`div`,fe,[(o(!0),e(n,null,a(c.report.buildings,(n,i)=>(o(),e(`div`,{key:i},[r(`span`,pe,l(t(M)[i].name)+`:`,1),r(`span`,me,`Lv.`+l(n),1)]))),128))])])):m(``,!0)])):m(``,!0)]),_:1})]),_:1},8,[`open`]))}}),he={class:`container mx-auto p-4 sm:p-6 space-y-6`},ge={class:`text-2xl sm:text-3xl font-bold`},_e={class:`flex gap-2 border-b`},ve={key:0,class:`space-y-2`},ye={class:`flex justify-between items-center gap-2`},$={class:`flex items-center gap-2 min-w-0 flex-1`},be={key:1,class:`space-y-2`},xe={class:`flex justify-between items-center gap-2`},Se={class:`flex items-center gap-2 min-w-0 flex-1`},Ce=c({__name:`MessagesView`,setup(c){let h=C(),{t:S}=T(),E=d(`battles`),D=d(!1),j=d(!1),P=d(null),F=d(null),I=i(()=>[...h.player.battleReports].sort((e,t)=>t.timestamp-e.timestamp)),L=i(()=>[...h.player.spyReports].sort((e,t)=>t.timestamp-e.timestamp)),R=i(()=>h.player.battleReports.filter(e=>!e.read).length),B=i(()=>h.player.spyReports.filter(e=>!e.read).length),V=e=>{P.value=e,D.value=!0,e.read||=!0},H=e=>{F.value=e,j.value=!0,e.read||=!0},U=e=>{let t=h.player.battleReports.findIndex(t=>t.id===e);t>-1&&h.player.battleReports.splice(t,1)},W=e=>{let t=h.player.spyReports.findIndex(t=>t.id===e);t>-1&&h.player.spyReports.splice(t,1)};return(i,c)=>(o(),e(`div`,he,[r(`h1`,ge,l(t(S)(`messagesView.title`)),1),r(`div`,_e,[s(t(w),{onClick:c[0]||=e=>E.value=`battles`,variant:E.value===`battles`?`default`:`ghost`,class:`rounded-b-none`},{default:f(()=>[s(t(v),{class:`h-4 w-4 mr-2`}),p(` `+l(t(S)(`messagesView.battles`))+` `,1),R.value>0?(o(),u(t(x),{key:0,variant:`destructive`,class:`ml-2`},{default:f(()=>[p(l(R.value),1)]),_:1})):m(``,!0)]),_:1},8,[`variant`]),s(t(w),{onClick:c[1]||=e=>E.value=`spy`,variant:E.value===`spy`?`default`:`ghost`,class:`rounded-b-none`},{default:f(()=>[s(t(_),{class:`h-4 w-4 mr-2`}),p(` `+l(t(S)(`messagesView.spy`))+` `,1),B.value>0?(o(),u(t(x),{key:0,variant:`destructive`,class:`ml-2`},{default:f(()=>[p(l(B.value),1)]),_:1})):m(``,!0)]),_:1},8,[`variant`])]),E.value===`battles`?(o(),e(`div`,ve,[t(h).player.battleReports.length===0?(o(),u(t(N),{key:0},{default:f(()=>[s(t(k),{class:`py-8 text-center text-muted-foreground`},{default:f(()=>[p(l(t(S)(`messagesView.noBattleReports`)),1)]),_:1})]),_:1})):m(``,!0),(o(!0),e(n,null,a(I.value,e=>(o(),u(t(N),{key:e.id,onClick:t=>V(e),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:f(()=>[s(t(O),{class:`pb-3`},{default:f(()=>[r(`div`,ye,[r(`div`,$,[s(t(v),{class:`h-4 w-4 flex-shrink-0`}),s(t(M),{class:`text-base sm:text-lg`},{default:f(()=>[p(l(t(S)(`messagesView.battleReport`)),1)]),_:1}),e.read?m(``,!0):(o(),u(t(x),{key:0,variant:`default`,class:`text-xs`},{default:f(()=>[p(l(t(S)(`messagesView.unread`)),1)]),_:1})),s(t(x),{variant:e.winner===`attacker`?`default`:e.winner===`defender`?`destructive`:`secondary`,class:`text-xs`},{default:f(()=>[p(l(e.winner===`attacker`?t(S)(`messagesView.victory`):e.winner===`defender`?t(S)(`messagesView.defeat`):t(S)(`messagesView.draw`)),1)]),_:2},1032,[`variant`])]),s(t(w),{onClick:g(t=>U(e.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:f(()=>[s(t(y),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),s(t(b),{class:`text-xs sm:text-sm`},{default:f(()=>[p(l(t(A)(e.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))])):m(``,!0),E.value===`spy`?(o(),e(`div`,be,[t(h).player.spyReports.length===0?(o(),u(t(N),{key:0},{default:f(()=>[s(t(k),{class:`py-8 text-center text-muted-foreground`},{default:f(()=>[p(l(t(S)(`messagesView.noSpyReports`)),1)]),_:1})]),_:1})):m(``,!0),(o(!0),e(n,null,a(L.value,e=>(o(),u(t(N),{key:e.id,onClick:t=>H(e),class:`cursor-pointer hover:shadow-md transition-shadow`},{default:f(()=>[s(t(O),{class:`pb-3`},{default:f(()=>[r(`div`,xe,[r(`div`,Se,[s(t(_),{class:`h-4 w-4 flex-shrink-0`}),s(t(M),{class:`text-base sm:text-lg`},{default:f(()=>[p(l(t(S)(`messagesView.spyReport`)),1)]),_:1}),e.read?m(``,!0):(o(),u(t(x),{key:0,variant:`default`,class:`text-xs`},{default:f(()=>[p(l(t(S)(`messagesView.unread`)),1)]),_:1})),s(t(x),{variant:`outline`,class:`text-xs`},{default:f(()=>[p(l(e.targetPlanetId),1)]),_:2},1024)]),s(t(w),{onClick:g(t=>W(e.id),[`stop`]),variant:`ghost`,size:`icon`,class:`h-8 w-8 flex-shrink-0`},{default:f(()=>[s(t(y),{class:`h-4 w-4`})]),_:1},8,[`onClick`])]),s(t(b),{class:`text-xs sm:text-sm`},{default:f(()=>[p(l(t(A)(e.timestamp)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))])):m(``,!0),s(z,{open:D.value,"onUpdate:open":c[2]||=e=>D.value=e,report:P.value},null,8,[`open`,`report`]),s(Q,{open:j.value,"onUpdate:open":c[3]||=e=>j.value=e,report:F.value},null,8,[`open`,`report`])]))}});export{Ce as default}; \ No newline at end of file diff --git a/docs/assets/OfficersView-Dfgf1DR0.js b/docs/assets/OfficersView-Dfgf1DR0.js deleted file mode 100644 index 152b430..0000000 --- a/docs/assets/OfficersView-Dfgf1DR0.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as ee,Jt as te,Kt as i,Mt as a,Nt as o,On as s,Ot as c,Q as l,Tn as u,Z as d,at as ne,hn as f,in as p,it as re,jt as m,kt as h,ot as g,st as _}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{t as ie}from"./CardDescription-D2AN1hhX.js";import{p as v}from"./game-config-D-D7cMgJ.js";import{A as y,C as b,I as ae,M as x,P as oe,c as se,i as ce,l as le,n as S,o as C,r as w,s as T,u as E,w as D}from"./index-DWmvUlvu.js";import{t as O}from"./useGameConfig-B5wf1i8i.js";import{t as k}from"./AlertDialog-CiXBEnQ0.js";var A={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},j={class:`text-2xl sm:text-3xl font-bold`},M={class:`grid grid-cols-2 sm:grid-cols-3 gap-4 sm:gap-6`},N={class:`flex justify-between items-start gap-2`},P={class:`min-w-0 flex-1`},F={key:0,class:`p-3 bg-blue-50 dark:bg-blue-950 rounded-lg`},I={class:`space-y-1 text-xs sm:text-sm`},L={class:`font-medium text-blue-700 dark:text-blue-300`},R={class:`text-muted-foreground`},z={class:`text-muted-foreground`},B={class:`space-y-2`},V={class:`text-sm font-medium text-muted-foreground`},H={class:`space-y-1.5`},U={class:`flex items-center gap-2`},W={class:`text-xs`},ue={class:`flex items-center gap-2`},de={class:`text-xs`},G={class:`flex items-center gap-2`},fe={class:`text-xs`},pe={key:0,class:`flex items-center gap-2`},me={class:`text-xs`},he={class:`space-y-2`},ge={class:`text-sm font-medium text-muted-foreground`},_e={class:`space-y-1 text-xs sm:text-sm`},ve={key:0,class:`flex items-center gap-2`},ye={key:1,class:`flex items-center gap-2`},be={key:2,class:`flex items-center gap-2`},xe={key:3,class:`flex items-center gap-2`},Se={key:4,class:`flex items-center gap-2`},Ce={key:5,class:`flex items-center gap-2`},we={key:6,class:`flex items-center gap-2`},Te={key:7,class:`flex items-center gap-2`},Ee={key:8,class:`flex items-center gap-2`},De={key:9,class:`flex items-center gap-2`},Oe={class:`flex gap-2`},K=o({__name:`OfficersView`,setup(o){let{t:K}=oe(),{OFFICERS:q}=O(),J=ae(),Y=ee(()=>J.currentPlanet),X=f(null),Z=f(null),Q=e=>{let t=J.player.officers[e],n=Date.now();return t.active&&(!t.expiresAt||t.expiresAt>n)},ke=e=>J.player.officers[e].expiresAt||0,Ae=e=>{let t=J.player.officers[e];if(!t.expiresAt)return 0;let n=Date.now();return Math.max(0,Math.floor((t.expiresAt-n)/1e3))},$=e=>{if(!Y.value)return!1;let t=q.value[e];return Y.value.resources.metal>=t.cost.metal&&Y.value.resources.crystal>=t.cost.crystal&&Y.value.resources.deuterium>=t.cost.deuterium&&Y.value.resources.darkMatter>=t.cost.darkMatter},je=(e,t=7)=>{if(!J.currentPlanet)return!1;let n=g(e);return d(J.currentPlanet.resources,n)?(l(J.currentPlanet.resources,n),J.player.officers[e]=re(e,t),!0):!1},Me=e=>{Z.value?.show({title:K(`officersView.hireTitle`),message:K(`officersView.hireMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{je(e,7)||X.value?.show({title:K(`officersView.hireFailed`),message:K(`officersView.insufficientResources`)})}})},Ne=(e,t=7)=>{if(!J.currentPlanet)return!1;let n=g(e);if(!d(J.currentPlanet.resources,n))return!1;l(J.currentPlanet.resources,n);let r=Date.now();return J.player.officers[e]=_(J.player.officers[e],t,r),!0},Pe=e=>{Z.value?.show({title:K(`officersView.renewTitle`),message:K(`officersView.renewMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{Ne(e,7)||X.value?.show({title:K(`officersView.renewFailed`),message:K(`officersView.insufficientResources`)})}})},Fe=e=>{Z.value?.show({title:K(`officersView.dismissTitle`),message:K(`officersView.dismissMessage`).replace(`{name}`,q.value[e].name),onConfirm:()=>{J.player.officers[e]=ne(e)}})};return(ee,o)=>(i(),e(`div`,A,[r(`h1`,j,s(t(K)(`officersView.title`)),1),r(`div`,M,[(i(!0),e(n,null,te(Object.values(t(v)),n=>(i(),c(t(E),{key:n},{default:p(()=>[a(t(se),null,{default:p(()=>[r(`div`,N,[r(`div`,P,[a(t(T),{class:`text-lg sm:text-xl`},{default:p(()=>[m(s(t(q)[n].name),1)]),_:2},1024),a(t(ie),{class:`text-xs sm:text-sm`},{default:p(()=>[m(s(t(q)[n].description),1)]),_:2},1024)]),Q(n)?(i(),c(t(y),{key:0,variant:`default`,class:`text-xs`},{default:p(()=>[m(s(t(K)(`officersView.activated`)),1)]),_:1})):(i(),c(t(y),{key:1,variant:`outline`,class:`text-xs`},{default:p(()=>[m(s(t(K)(`officersView.inactive`)),1)]),_:1}))])]),_:2},1024),a(t(le),{class:`space-y-4`},{default:p(()=>[Q(n)?(i(),e(`div`,F,[r(`div`,I,[r(`p`,L,s(t(K)(`officersView.activeStatus`)),1),r(`p`,R,s(t(K)(`officersView.expirationTime`))+`: `+s(t(S)(ke(n))),1),r(`p`,z,s(t(K)(`officersView.remainingTime`))+`: `+s(t(ce)(Ae(n))),1)])])):h(``,!0),r(`div`,B,[r(`p`,V,s(t(K)(`officersView.recruitCost`))+` (7`+s(t(K)(`officersView.days`))+`):`,1),r(`div`,H,[r(`div`,U,[a(D,{type:`metal`,size:`sm`}),r(`span`,W,s(t(K)(`resources.metal`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.metal,t(q)[n].cost.metal):``])},s(t(w)(t(q)[n].cost.metal)),3)]),r(`div`,ue,[a(D,{type:`crystal`,size:`sm`}),r(`span`,de,s(t(K)(`resources.crystal`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.crystal,t(q)[n].cost.crystal):``])},s(t(w)(t(q)[n].cost.crystal)),3)]),r(`div`,G,[a(D,{type:`deuterium`,size:`sm`}),r(`span`,fe,s(t(K)(`resources.deuterium`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.deuterium,t(q)[n].cost.deuterium):``])},s(t(w)(t(q)[n].cost.deuterium)),3)]),t(q)[n].cost.darkMatter>0?(i(),e(`div`,pe,[a(D,{type:`darkMatter`,size:`sm`}),r(`span`,me,s(t(K)(`resources.darkMatter`))+`:`,1),r(`span`,{class:u([`font-medium text-sm`,Y.value?t(C)(Y.value.resources.darkMatter,t(q)[n].cost.darkMatter):``])},s(t(w)(t(q)[n].cost.darkMatter)),3)])):h(``,!0)])]),r(`div`,he,[r(`p`,ge,s(t(K)(`officersView.benefitsBonus`))+`:`,1),r(`div`,_e,[t(q)[n].benefits.resourceProductionBonus?(i(),e(`div`,ve,[o[0]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.resourceProduction`))+` +`+s(t(q)[n].benefits.resourceProductionBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.darkMatterProductionBonus?(i(),e(`div`,ye,[o[1]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.darkMatterProduction`))+` +`+s(t(q)[n].benefits.darkMatterProductionBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.buildingSpeedBonus?(i(),e(`div`,be,[o[2]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.buildingSpeed`))+` +`+s(t(q)[n].benefits.buildingSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.researchSpeedBonus?(i(),e(`div`,xe,[o[3]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.researchSpeed`))+` +`+s(t(q)[n].benefits.researchSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.fleetSpeedBonus?(i(),e(`div`,Se,[o[4]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.fleetSpeed`))+` +`+s(t(q)[n].benefits.fleetSpeedBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.fuelConsumptionReduction?(i(),e(`div`,Ce,[o[5]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↓`,-1),r(`span`,null,s(t(K)(`officersView.fuelConsumption`))+` -`+s(t(q)[n].benefits.fuelConsumptionReduction)+`%`,1)])):h(``,!0),t(q)[n].benefits.defenseBonus?(i(),e(`div`,we,[o[6]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.defense`))+` +`+s(t(q)[n].benefits.defenseBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.storageCapacityBonus?(i(),e(`div`,Te,[o[7]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),r(`span`,null,s(t(K)(`officersView.storageCapacity`))+` +`+s(t(q)[n].benefits.storageCapacityBonus)+`%`,1)])):h(``,!0),t(q)[n].benefits.additionalBuildQueue?(i(),e(`div`,Ee,[o[8]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),r(`span`,null,s(t(K)(`officersView.buildQueue`))+` +`+s(t(q)[n].benefits.additionalBuildQueue),1)])):h(``,!0),t(q)[n].benefits.additionalFleetSlots?(i(),e(`div`,De,[o[9]||=r(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),r(`span`,null,s(t(K)(`officersView.fleetSlots`))+` +`+s(t(q)[n].benefits.additionalFleetSlots),1)])):h(``,!0)])]),r(`div`,Oe,[Q(n)?h(``,!0):(i(),c(t(x),{key:0,onClick:e=>Me(n),disabled:!$(n),class:`flex-1`},{default:p(()=>[m(s(t(K)(`officersView.hire`))+` (7`+s(t(K)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])),Q(n)?(i(),c(t(x),{key:1,onClick:e=>Pe(n),disabled:!$(n),class:`flex-1`},{default:p(()=>[m(s(t(K)(`officersView.renew`))+` (7`+s(t(K)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])):h(``,!0),Q(n)?(i(),c(t(x),{key:2,onClick:e=>Fe(n),variant:`outline`,size:`sm`},{default:p(()=>[m(s(t(K)(`officersView.dismiss`)),1)]),_:1},8,[`onClick`])):h(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),a(k,{ref_key:`alertDialog`,ref:X},null,512),a(b,{ref_key:`confirmDialog`,ref:Z},null,512)]))}});export{K as default}; \ No newline at end of file diff --git a/docs/assets/OfficersView-gOtt9blg.js b/docs/assets/OfficersView-gOtt9blg.js new file mode 100644 index 0000000..5325f2b --- /dev/null +++ b/docs/assets/OfficersView-gOtt9blg.js @@ -0,0 +1 @@ +import{$t as e,Dn as t,Dt as n,En as r,Et as i,Gn as a,Gt as o,Jt as s,Ln as c,Qt as l,Tt as ee,Vt as te,Xn as u,Xt as d,Yt as f,Zt as p,en as m,gn as h,gt as g,ht as _,mn as v,qn as ne,tn as re,wt as ie}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{t as y}from"./CardDescription-BSLS07AU.js";import{h as b}from"./game-config-CG6z6nnH.js";import{H as x,K as ae,N as oe,W as S,_ as se,a as C,b as ce,c as le,d as ue,f as de,h as fe,i as w,l as T,o as E,p as pe,q as me,r as D,s as O,u as k,v as A,y as j}from"./index-BT5w6et-.js";import{t as M}from"./useGameConfig-b98LOtBY.js";var N={class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},P={class:`text-2xl sm:text-3xl font-bold`},F={class:`grid grid-cols-2 sm:grid-cols-3 gap-4 sm:gap-6`},I={class:`mb-2`},L={class:`flex flex-col sm:flex-row sm:justify-between sm:items-start gap-2`},R={key:0,class:`p-3 bg-blue-50 dark:bg-blue-950 rounded-lg`},z={class:`space-y-1 text-xs sm:text-sm`},he={class:`font-medium text-blue-700 dark:text-blue-300`},ge={class:`text-muted-foreground`},_e={class:`text-muted-foreground`},ve={class:`space-y-2`},ye={class:`text-sm font-medium text-muted-foreground`},be={class:`space-y-1.5`},xe={class:`text-xs`},Se={class:`space-y-2`},Ce={class:`text-sm font-medium text-muted-foreground`},we={class:`space-y-1 text-xs sm:text-sm`},Te={key:0,class:`flex items-center gap-2`},Ee={key:1,class:`flex items-center gap-2`},De={key:2,class:`flex items-center gap-2`},Oe={key:3,class:`flex items-center gap-2`},ke={key:4,class:`flex items-center gap-2`},Ae={key:5,class:`flex items-center gap-2`},je={key:6,class:`flex items-center gap-2`},Me={key:7,class:`flex items-center gap-2`},Ne={key:8,class:`flex items-center gap-2`},Pe={key:9,class:`flex items-center gap-2`},Fe={class:`flex flex-col sm:flex-row gap-2`},B=re({__name:`OfficersView`,setup(re){let{t:B}=ae(),{OFFICERS:V}=M(),H=me(),U=s(()=>H.currentPlanet),W=c(!1),G=c(``),K=c(``),q=c(!1),J=c(``),Y=c(``),X=c(null),Ie=()=>{X.value&&X.value(),q.value=!1},Le=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`}],Z=e=>{let t=H.player.officers[e],n=Date.now();return t.active&&(!t.expiresAt||t.expiresAt>n)},Re=e=>H.player.officers[e].expiresAt||0,Q=e=>{let t=H.player.officers[e];if(!t.expiresAt)return 0;let n=Date.now();return Math.max(0,Math.floor((t.expiresAt-n)/1e3))},$=e=>{if(!U.value)return!1;let t=V.value[e];return U.value.resources.metal>=t.cost.metal&&U.value.resources.crystal>=t.cost.crystal&&U.value.resources.deuterium>=t.cost.deuterium&&U.value.resources.darkMatter>=t.cost.darkMatter},ze=(e,t=7)=>{if(!H.currentPlanet)return!1;let n=i(e);return _(H.currentPlanet.resources,n)?(g(H.currentPlanet.resources,n),H.player.officers[e]=ie(e,t),!0):!1},Be=e=>{J.value=B(`officersView.hireTitle`),Y.value=B(`officersView.hireMessage`).replace(`{name}`,V.value[e].name),X.value=()=>{ze(e,7)||(G.value=B(`officersView.hireFailed`),K.value=B(`officersView.insufficientResources`),W.value=!0)},q.value=!0},Ve=(e,t=7)=>{if(!H.currentPlanet)return!1;let r=i(e);if(!_(H.currentPlanet.resources,r))return!1;g(H.currentPlanet.resources,r);let a=Date.now();return H.player.officers[e]=n(H.player.officers[e],t,a),!0},He=e=>{J.value=B(`officersView.renewTitle`),Y.value=B(`officersView.renewMessage`).replace(`{name}`,V.value[e].name),X.value=()=>{Ve(e,7)||(G.value=B(`officersView.renewFailed`),K.value=B(`officersView.insufficientResources`),W.value=!0)},q.value=!0},Ue=e=>{J.value=B(`officersView.dismissTitle`),Y.value=B(`officersView.dismissMessage`).replace(`{name}`,V.value[e].name),X.value=()=>{H.player.officers[e]=ee(e)},q.value=!0};return(n,i)=>(v(),l(`div`,N,[f(`h1`,P,u(a(B)(`officersView.title`)),1),f(`div`,F,[(v(!0),l(o,null,h(Object.values(a(b)),n=>(v(),d(a(ce),{key:n},{default:r(()=>[m(a(A),null,{default:r(()=>[f(`div`,I,[f(`div`,L,[m(a(se),{class:`text-sm sm:text-base lg:text-lg order-2 sm:order-1`},{default:r(()=>[e(u(a(V)[n].name),1)]),_:2},1024),Z(n)?(v(),d(a(x),{key:0,variant:`default`,class:`text-xs whitespace-nowrap self-start order-1 sm:order-2`},{default:r(()=>[e(u(a(B)(`officersView.activated`)),1)]),_:1})):(v(),d(a(x),{key:1,variant:`outline`,class:`text-xs whitespace-nowrap self-start order-1 sm:order-2`},{default:r(()=>[e(u(a(B)(`officersView.inactive`)),1)]),_:1}))])]),m(a(y),{class:`text-xs sm:text-sm`},{default:r(()=>[e(u(a(V)[n].description),1)]),_:2},1024)]),_:2},1024),m(a(j),{class:`space-y-4`},{default:r(()=>[Z(n)?(v(),l(`div`,R,[f(`div`,z,[f(`p`,he,u(a(B)(`officersView.activeStatus`)),1),f(`p`,ge,u(a(B)(`officersView.expirationTime`))+`: `+u(a(ue)(Re(n))),1),f(`p`,_e,u(a(B)(`officersView.remainingTime`))+`: `+u(a(pe)(Q(n))),1)])])):p(``,!0),f(`div`,ve,[f(`p`,ye,u(a(B)(`officersView.recruitCost`))+` (7`+u(a(B)(`officersView.days`))+`):`,1),f(`div`,be,[(v(),l(o,null,h(Le,e=>t(f(`div`,{key:e.key,class:`flex items-center gap-2`},[m(oe,{type:e.key,size:`sm`},null,8,[`type`]),f(`span`,xe,u(a(B)(`resources.${e.key}`))+`:`,1),f(`span`,{class:ne([`font-medium text-sm`,U.value?a(fe)(U.value.resources[e.key],a(V)[n].cost[e.key]):``])},u(a(de)(a(V)[n].cost[e.key])),3)]),[[te,e.key!==`darkMatter`||a(V)[n].cost.darkMatter>0]])),64))])]),f(`div`,Se,[f(`p`,Ce,u(a(B)(`officersView.benefitsBonus`))+`:`,1),f(`div`,we,[a(V)[n].benefits.resourceProductionBonus?(v(),l(`div`,Te,[i[2]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.resourceProduction`))+` +`+u(a(V)[n].benefits.resourceProductionBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.darkMatterProductionBonus?(v(),l(`div`,Ee,[i[3]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.darkMatterProduction`))+` +`+u(a(V)[n].benefits.darkMatterProductionBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.buildingSpeedBonus?(v(),l(`div`,De,[i[4]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.buildingSpeed`))+` +`+u(a(V)[n].benefits.buildingSpeedBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.researchSpeedBonus?(v(),l(`div`,Oe,[i[5]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.researchSpeed`))+` +`+u(a(V)[n].benefits.researchSpeedBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.fleetSpeedBonus?(v(),l(`div`,ke,[i[6]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.fleetSpeed`))+` +`+u(a(V)[n].benefits.fleetSpeedBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.fuelConsumptionReduction?(v(),l(`div`,Ae,[i[7]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↓`,-1),f(`span`,null,u(a(B)(`officersView.fuelConsumption`))+` -`+u(a(V)[n].benefits.fuelConsumptionReduction)+`%`,1)])):p(``,!0),a(V)[n].benefits.defenseBonus?(v(),l(`div`,je,[i[8]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.defense`))+` +`+u(a(V)[n].benefits.defenseBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.storageCapacityBonus?(v(),l(`div`,Me,[i[9]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`↑`,-1),f(`span`,null,u(a(B)(`officersView.storageCapacity`))+` +`+u(a(V)[n].benefits.storageCapacityBonus)+`%`,1)])):p(``,!0),a(V)[n].benefits.additionalBuildQueue?(v(),l(`div`,Ne,[i[10]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),f(`span`,null,u(a(B)(`officersView.buildQueue`))+` +`+u(a(V)[n].benefits.additionalBuildQueue),1)])):p(``,!0),a(V)[n].benefits.additionalFleetSlots?(v(),l(`div`,Pe,[i[11]||=f(`span`,{class:`text-green-600 dark:text-green-400`},`+`,-1),f(`span`,null,u(a(B)(`officersView.fleetSlots`))+` +`+u(a(V)[n].benefits.additionalFleetSlots),1)])):p(``,!0)])]),f(`div`,Fe,[Z(n)?p(``,!0):(v(),d(a(S),{key:0,onClick:e=>Be(n),disabled:!$(n),class:`w-full`},{default:r(()=>[e(u(a(B)(`officersView.hire`))+` (7`+u(a(B)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])),Z(n)?(v(),d(a(S),{key:1,onClick:e=>He(n),disabled:!$(n),class:`w-full sm:flex-1`},{default:r(()=>[e(u(a(B)(`officersView.renew`))+` (7`+u(a(B)(`officersView.days`))+`) `,1)]),_:1},8,[`onClick`,`disabled`])):p(``,!0),Z(n)?(v(),d(a(S),{key:2,onClick:e=>Ue(n),variant:`outline`,class:`w-full sm:w-auto`},{default:r(()=>[e(u(a(B)(`officersView.dismiss`)),1)]),_:1},8,[`onClick`])):p(``,!0)])]),_:2},1024)]),_:2},1024))),128))]),m(a(k),{open:W.value,"onUpdate:open":i[0]||=e=>W.value=e},{default:r(()=>[m(a(O),null,{default:r(()=>[m(a(w),null,{default:r(()=>[m(a(D),null,{default:r(()=>[e(u(G.value),1)]),_:1}),m(a(E),{class:`whitespace-pre-line`},{default:r(()=>[e(u(K.value),1)]),_:1})]),_:1}),m(a(C),null,{default:r(()=>[m(a(T),null,{default:r(()=>[e(u(a(B)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),m(a(k),{open:q.value,"onUpdate:open":i[1]||=e=>q.value=e},{default:r(()=>[m(a(O),null,{default:r(()=>[m(a(w),null,{default:r(()=>[m(a(D),null,{default:r(()=>[e(u(J.value),1)]),_:1}),m(a(E),{class:`whitespace-pre-line`},{default:r(()=>[e(u(Y.value),1)]),_:1})]),_:1}),m(a(C),null,{default:r(()=>[m(a(le),null,{default:r(()=>[e(u(a(B)(`common.cancel`)),1)]),_:1}),m(a(T),{onClick:Ie},{default:r(()=>[e(u(a(B)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{B as default}; \ No newline at end of file diff --git a/docs/assets/OverviewView-DdvtPdf7.js b/docs/assets/OverviewView-DdvtPdf7.js new file mode 100644 index 0000000..12027f4 --- /dev/null +++ b/docs/assets/OverviewView-DdvtPdf7.js @@ -0,0 +1 @@ +import{$t as e,C as t,Dn as n,En as r,Gn as i,Gt as a,Jt as o,Qt as s,Vt as ee,Xn as c,Xt as te,Yt as l,Zt as u,dt as ne,en as d,ft as f,gn as p,mn as m,qn as h,tn as re,ut as ie,w as ae}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{t as oe}from"./CardDescription-BSLS07AU.js";import"./game-config-CG6z6nnH.js";import{C as g,E as se,H as _,K as v,N as y,S as b,T as x,W as S,_ as C,b as w,f as T,m as ce,q as le,v as E,w as D,x as O,y as k}from"./index-BT5w6et-.js";import{t as A}from"./useGameConfig-b98LOtBY.js";import{i as j,n as M,r as N,t as P}from"./TabsTrigger-DrosU7aN.js";var F={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},I={class:`text-center`},L={class:`text-2xl sm:text-3xl font-bold mb-1 sm:mb-2 flex items-center justify-center gap-2`},R={class:`text-xs sm:text-sm text-muted-foreground`},z={key:0,class:`mt-2`},B={key:1,class:`mt-2`},V={class:`flex items-center gap-2`},H={class:`space-y-4`},U={class:`flex items-center gap-2 mb-2`},W={class:`font-semibold`},ue={key:0,class:`ml-6 space-y-1 text-sm`},de={class:`text-muted-foreground`},fe={class:`text-green-600 dark:text-green-400`},G={key:1,class:`flex justify-between`},pe={class:`text-muted-foreground`},me={class:`text-green-600 dark:text-green-400`},he={class:`text-muted-foreground ml-4`},ge={class:`flex justify-between font-semibold pt-1 border-t mt-1`},_e={class:`text-green-600 dark:text-green-400`},ve={class:`space-y-2`},ye={key:0,class:`text-muted-foreground`},be={key:1,class:`text-red-600 dark:text-red-400`},xe={key:0,class:`flex justify-between font-semibold pt-2 border-t`},Se={class:`text-red-600 dark:text-red-400`},Ce={key:1,class:`text-sm text-muted-foreground text-center py-2`},we={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3 sm:gap-4`},Te={class:`text-xs sm:text-sm text-muted-foreground`},Ee={class:`text-lg sm:text-xl font-bold`},K=re({__name:`OverviewView`,setup(re){let K=le(),{t:q}=v(),{SHIPS:De}=A(),J=o(()=>K.currentPlanet),Oe=o(()=>J.value?ae(J.value,K.player.officers):null),Y=o(()=>J.value?t(J.value,K.player.officers):null),ke=o(()=>J.value?ne(J.value):0),X=o(()=>J.value?f(J.value,K.player.officers,Date.now()):null),Z=o(()=>J.value?ie(J.value):null),Q=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],Ae=[{key:`metalMine`},{key:`crystalMine`},{key:`deuteriumSynthesizer`}],$=o(()=>!J.value||J.value.isMoon?null:je(J.value.id)),je=e=>K.player.planets.find(t=>t.isMoon&&t.parentPlanetId===e)||null,Me=()=>{$.value&&(K.currentPlanetId=$.value.id)},Ne=()=>{J.value?.parentPlanetId&&(K.currentPlanetId=J.value.parentPlanetId)};return(t,o)=>J.value?(m(),s(`div`,F,[l(`div`,I,[l(`h1`,L,[e(c(J.value.name)+` `,1),J.value.isMoon?(m(),te(i(_),{key:0,variant:`secondary`},{default:r(()=>[e(c(i(q)(`planet.moon`)),1)]),_:1})):u(``,!0)]),l(`p`,R,c(i(q)(`planet.position`))+`: [`+c(J.value.position.galaxy)+`:`+c(J.value.position.system)+`:`+c(J.value.position.position)+`] `,1),!J.value.isMoon&&$.value?(m(),s(`div`,z,[d(i(S),{onClick:Me,variant:`outline`,size:`sm`},{default:r(()=>[o[0]||=l(`span`,{class:`mr-2`},`🌙`,-1),e(` `+c(i(q)(`planet.switchToMoon`)),1)]),_:1})])):u(``,!0),J.value.isMoon?(m(),s(`div`,B,[d(i(S),{onClick:Ne,variant:`outline`,size:`sm`},{default:r(()=>[e(c(i(q)(`planet.backToPlanet`)),1)]),_:1})])):u(``,!0)]),d(i(w),null,{default:r(()=>[d(i(E),null,{default:r(()=>[d(i(C),null,{default:r(()=>[e(c(i(q)(`overview.resourceOverview`)),1)]),_:1})]),_:1}),d(i(k),null,{default:r(()=>[d(i(j),{"default-value":`overview`,class:`w-full`},{default:r(()=>[d(i(M),{class:`grid w-full grid-cols-3`},{default:r(()=>[d(i(P),{value:`overview`},{default:r(()=>[...o[1]||=[e(`概览`,-1)]]),_:1}),d(i(P),{value:`production`},{default:r(()=>[...o[2]||=[e(`产量详情`,-1)]]),_:1}),d(i(P),{value:`consumption`},{default:r(()=>[...o[3]||=[e(`消耗详情`,-1)]]),_:1})]),_:1}),d(i(N),{value:`overview`,class:`mt-4`},{default:r(()=>[d(i(se),null,{default:r(()=>[d(i(O),null,{default:r(()=>[d(i(g),null,{default:r(()=>[d(i(b),null,{default:r(()=>[e(c(i(q)(`common.resourceType`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.current`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.max`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.production`))+c(i(q)(`resources.perHour`)),1)]),_:1}),d(i(b),{class:`text-right`},{default:r(()=>[e(c(i(q)(`resources.consumption`))+c(i(q)(`resources.perHour`)),1)]),_:1})]),_:1})]),_:1}),d(i(x),null,{default:r(()=>[(m(),s(a,null,p(Q,t=>d(i(g),{key:t.key},{default:r(()=>[d(i(D),{class:`font-medium`},{default:r(()=>[l(`div`,V,[d(y,{type:t.key,size:`sm`},null,8,[`type`]),e(` `+c(i(q)(`resources.${t.key}`)),1)])]),_:2},1024),d(i(D),{class:h([`text-right`,i(ce)(J.value.resources[t.key],Y.value?.[t.key]||1/0)])},{default:r(()=>[e(c(i(T)(J.value.resources[t.key])),1)]),_:2},1032,[`class`]),d(i(D),{class:`text-right text-muted-foreground`},{default:r(()=>[e(c(i(T)(Y.value?.[t.key]||0)),1)]),_:2},1024),d(i(D),{class:`text-right text-green-600 dark:text-green-400`},{default:r(()=>[e(` +`+c(i(T)(Oe.value?.[t.key]||0)),1)]),_:2},1024),d(i(D),{class:`text-right text-red-600 dark:text-red-400`},{default:r(()=>[t.key===`energy`?(m(),s(a,{key:0},[e(`-`+c(i(T)(ke.value)),1)],64)):(m(),s(a,{key:1},[e(`-`)],64))]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})]),_:1}),d(i(N),{value:`production`,class:`mt-4`},{default:r(()=>[l(`div`,H,[(m(),s(a,null,p(Q,t=>l(`div`,{key:t.key,class:`border-b last:border-b-0 pb-4 last:pb-0`},[l(`div`,U,[d(y,{type:t.key,size:`sm`},null,8,[`type`]),l(`span`,W,c(i(q)(`resources.${t.key}`)),1)]),X.value?(m(),s(`div`,ue,[t.key===`energy`&&X.value.energy.sources?(m(!0),s(a,{key:0},p(X.value.energy.sources,(t,n)=>(m(),s(`div`,{key:n,class:`flex justify-between`},[l(`span`,de,[e(c(i(q)(t.name))+` `,1),t.name.startsWith(`buildings.`)?(m(),s(a,{key:0},[e(`(`+c(i(q)(`common.level`))+` `+c(t.level)+`)`,1)],64)):(m(),s(a,{key:1},[e(`(`+c(t.level)+`)`,1)],64))]),l(`span`,fe,` +`+c(i(T)(Math.floor(t.production)))+`/`+c(i(q)(`resources.hour`)),1)]))),128)):(m(),s(`div`,G,[l(`span`,pe,c(i(q)(X.value[t.key].buildingName))+` (`+c(i(q)(`common.level`))+` `+c(X.value[t.key].buildingLevel)+`) `,1),l(`span`,me,` +`+c(i(T)(Math.floor(X.value[t.key].baseProduction)))+`/`+c(i(q)(`resources.hour`)),1)])),(m(!0),s(a,null,p(X.value[t.key].bonuses,(e,t)=>(m(),s(`div`,{key:t,class:`flex justify-between`},[l(`span`,he,c(i(q)(e.name))+` (`+c(e.percentage>0?`+`:``)+c(e.percentage)+`%) `,1),l(`span`,{class:h(e.value>0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`)},c(e.value>0?`+`:``)+c(i(T)(Math.floor(e.value)))+`/`+c(i(q)(`resources.hour`)),3)]))),128)),l(`div`,ge,[l(`span`,null,c(i(q)(`overview.totalProduction`)),1),l(`span`,_e,` +`+c(i(T)(Math.floor(X.value[t.key].finalProduction)))+`/`+c(i(q)(`resources.hour`)),1)])])):u(``,!0)])),64))])]),_:1}),d(i(N),{value:`consumption`,class:`mt-4`},{default:r(()=>[l(`div`,ve,[(m(),s(a,null,p(Ae,e=>n(l(`div`,{key:e.key,class:`flex justify-between text-sm`},[Z.value?(m(),s(`span`,ye,c(i(q)(Z.value[e.key].buildingName))+` (`+c(i(q)(`common.level`))+` `+c(Z.value[e.key].buildingLevel)+`) `,1)):u(``,!0),Z.value?(m(),s(`span`,be,` -`+c(i(T)(Math.floor(Z.value[e.key].consumption)))+`/`+c(i(q)(`resources.hour`)),1)):u(``,!0)]),[[ee,Z.value&&Z.value[e.key].buildingLevel>0]])),64)),Z.value?(m(),s(`div`,xe,[l(`span`,null,c(i(q)(`overview.totalConsumption`)),1),l(`span`,Se,` -`+c(i(T)(Math.floor(Z.value.total)))+`/`+c(i(q)(`resources.hour`)),1)])):u(``,!0),Z.value&&Z.value.total===0?(m(),s(`div`,Ce,c(i(q)(`overview.noConsumption`)),1)):u(``,!0)])]),_:1})]),_:1})]),_:1})]),_:1}),d(i(w),null,{default:r(()=>[d(i(E),null,{default:r(()=>[d(i(C),null,{default:r(()=>[e(c(i(q)(`overview.fleetInfo`)),1)]),_:1}),d(i(oe),null,{default:r(()=>[e(c(i(q)(`overview.currentShips`)),1)]),_:1})]),_:1}),d(i(k),null,{default:r(()=>[l(`div`,we,[(m(!0),s(a,null,p(J.value.fleet,(e,t)=>(m(),s(`div`,{key:t},[l(`p`,Te,c(i(De)[t].name),1),l(`p`,Ee,c(e),1)]))),128))])]),_:1})]),_:1})])):u(``,!0)}});export{K as default}; \ No newline at end of file diff --git a/docs/assets/OverviewView-Eaupz5BG.js b/docs/assets/OverviewView-Eaupz5BG.js deleted file mode 100644 index 6bf9ba4..0000000 --- a/docs/assets/OverviewView-Eaupz5BG.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,Et as i,I as a,J as ee,Jt as o,K as te,Kt as s,L as c,Mt as l,Nt as ne,On as u,Ot as d,Tn as f,in as p,jt as m,kt as h,q as re,rt as ie}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{t as g}from"./CardDescription-D2AN1hhX.js";import"./game-config-D-D7cMgJ.js";import{A as _,I as v,M as y,P as ae,a as oe,c as b,d as se,f as x,g as ce,h as le,l as S,m as C,p as w,r as T,s as E,u as D,w as O}from"./index-DWmvUlvu.js";import{t as k}from"./useGameConfig-B5wf1i8i.js";var A={key:0,class:`container mx-auto p-4 sm:p-6 space-y-4 sm:space-y-6`},j={class:`text-center`},M={class:`text-2xl sm:text-3xl font-bold mb-1 sm:mb-2 flex items-center justify-center gap-2`},N={class:`text-xs sm:text-sm text-muted-foreground`},P={key:0,class:`mt-2`},F={key:1,class:`mt-2`},I={class:`flex items-center gap-2`},L={class:`space-y-4`},R={class:`flex items-center gap-2 mb-2`},z={class:`font-semibold`},B={key:0,class:`ml-6 space-y-1 text-sm`},V={class:`flex justify-between`},H={class:`text-muted-foreground`},U={class:`text-green-600 dark:text-green-400`},W={class:`text-muted-foreground ml-4`},ue={class:`flex justify-between font-semibold pt-1 border-t mt-1`},de={class:`text-green-600 dark:text-green-400`},fe={class:`space-y-2`},pe={key:0,class:`flex justify-between text-sm`},me={class:`text-muted-foreground`},he={class:`text-red-600 dark:text-red-400`},ge={key:1,class:`flex justify-between text-sm`},_e={class:`text-muted-foreground`},ve={class:`text-red-600 dark:text-red-400`},ye={key:2,class:`flex justify-between text-sm`},be={class:`text-muted-foreground`},xe={class:`text-red-600 dark:text-red-400`},Se={key:3,class:`flex justify-between font-semibold pt-2 border-t`},Ce={class:`text-red-600 dark:text-red-400`},we={key:4,class:`text-sm text-muted-foreground text-center py-2`},Te={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3 sm:gap-4`},Ee={class:`text-xs sm:text-sm text-muted-foreground`},De={class:`text-lg sm:text-xl font-bold`},G=ne({__name:`OverviewView`,setup(ne){let G=v(),{t:K}=ae(),{SHIPS:Oe}=k(),q=i(()=>G.currentPlanet),J=i(()=>q.value?c(q.value,G.player.officers):null),Y=i(()=>q.value?a(q.value,G.player.officers):null),ke=i(()=>q.value?re(q.value):0),X=i(()=>{if(!q.value)return null;let e=ie(G.player.officers,Date.now());return ee(q.value,e)}),Z=i(()=>q.value?te(q.value):null),Q=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`},{key:`energy`}],$=i(()=>!q.value||q.value.isMoon?null:Ae(q.value.id)),Ae=e=>G.player.planets.find(t=>t.isMoon&&t.parentPlanetId===e)||null,je=()=>{$.value&&(G.currentPlanetId=$.value.id)},Me=()=>{q.value?.parentPlanetId&&(G.currentPlanetId=q.value.parentPlanetId)};return(i,a)=>q.value?(s(),e(`div`,A,[r(`div`,j,[r(`h1`,M,[m(u(q.value.name)+` `,1),q.value.isMoon?(s(),d(t(_),{key:0,variant:`secondary`},{default:p(()=>[m(u(t(K)(`planet.moon`)),1)]),_:1})):h(``,!0)]),r(`p`,N,u(t(K)(`planet.position`))+`: [`+u(q.value.position.galaxy)+`:`+u(q.value.position.system)+`:`+u(q.value.position.position)+`] `,1),!q.value.isMoon&&$.value?(s(),e(`div`,P,[l(t(y),{onClick:je,variant:`outline`,size:`sm`},{default:p(()=>[a[0]||=r(`span`,{class:`mr-2`},`🌙`,-1),m(` `+u(t(K)(`planet.switchToMoon`)),1)]),_:1})])):h(``,!0),q.value.isMoon?(s(),e(`div`,F,[l(t(y),{onClick:Me,variant:`outline`,size:`sm`},{default:p(()=>[m(u(t(K)(`planet.backToPlanet`)),1)]),_:1})])):h(``,!0)]),l(t(D),null,{default:p(()=>[l(t(b),null,{default:p(()=>[l(t(E),null,{default:p(()=>[m(u(t(K)(`overview.resourceOverview`)),1)]),_:1})]),_:1}),l(t(S),null,{default:p(()=>[l(t(ce),null,{default:p(()=>[l(t(se),null,{default:p(()=>[l(t(w),null,{default:p(()=>[l(t(x),null,{default:p(()=>[m(u(t(K)(`common.resourceType`)),1)]),_:1}),l(t(x),{class:`text-right`},{default:p(()=>[m(u(t(K)(`resources.current`)),1)]),_:1}),l(t(x),{class:`text-right`},{default:p(()=>[m(u(t(K)(`resources.max`)),1)]),_:1}),l(t(x),{class:`text-right`},{default:p(()=>[m(u(t(K)(`resources.production`))+u(t(K)(`resources.perHour`)),1)]),_:1}),l(t(x),{class:`text-right`},{default:p(()=>[m(u(t(K)(`resources.consumption`))+u(t(K)(`resources.perHour`)),1)]),_:1})]),_:1})]),_:1}),l(t(le),null,{default:p(()=>[(s(),e(n,null,o(Q,i=>l(t(w),{key:i.key},{default:p(()=>[l(t(C),{class:`font-medium`},{default:p(()=>[r(`div`,I,[l(O,{type:i.key,size:`sm`},null,8,[`type`]),m(` `+u(t(K)(`resources.${i.key}`)),1)])]),_:2},1024),l(t(C),{class:f([`text-right`,t(oe)(q.value.resources[i.key],Y.value?.[i.key]||1/0)])},{default:p(()=>[m(u(t(T)(q.value.resources[i.key])),1)]),_:2},1032,[`class`]),l(t(C),{class:`text-right text-muted-foreground`},{default:p(()=>[m(u(t(T)(Y.value?.[i.key]||0)),1)]),_:2},1024),l(t(C),{class:`text-right text-green-600 dark:text-green-400`},{default:p(()=>[m(` +`+u(t(T)(J.value?.[i.key]||0)),1)]),_:2},1024),l(t(C),{class:`text-right text-red-600 dark:text-red-400`},{default:p(()=>[i.key===`energy`?(s(),e(n,{key:0},[m(` -`+u(t(T)(ke.value)),1)],64)):(s(),e(n,{key:1},[m(` - `)],64))]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})]),_:1})]),_:1}),l(t(D),null,{default:p(()=>[l(t(b),null,{default:p(()=>[l(t(E),null,{default:p(()=>[m(u(t(K)(`overview.productionSources`)),1)]),_:1}),l(t(g),null,{default:p(()=>[m(u(t(K)(`overview.productionSourcesDesc`)),1)]),_:1})]),_:1}),l(t(S),null,{default:p(()=>[r(`div`,L,[(s(),e(n,null,o(Q,i=>r(`div`,{key:i.key,class:`border-b last:border-b-0 pb-4 last:pb-0`},[r(`div`,R,[l(O,{type:i.key,size:`sm`},null,8,[`type`]),r(`span`,z,u(t(K)(`resources.${i.key}`)),1)]),X.value?(s(),e(`div`,B,[r(`div`,V,[r(`span`,H,u(t(K)(X.value[i.key].buildingName))+` (`+u(t(K)(`common.level`))+` `+u(X.value[i.key].buildingLevel)+`) `,1),r(`span`,U,` +`+u(t(T)(Math.floor(X.value[i.key].baseProduction)))+`/`+u(t(K)(`resources.hour`)),1)]),(s(!0),e(n,null,o(X.value[i.key].bonuses,(n,i)=>(s(),e(`div`,{key:i,class:`flex justify-between`},[r(`span`,W,u(t(K)(n.name)),1),r(`span`,{class:f(n.value>0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`)},u(n.value>0?`+`:``)+u(n.value)+`% `,3)]))),128)),r(`div`,ue,[r(`span`,null,u(t(K)(`overview.totalProduction`)),1),r(`span`,de,` +`+u(t(T)(Math.floor(X.value[i.key].finalProduction)))+`/`+u(t(K)(`resources.hour`)),1)])])):h(``,!0)])),64))])]),_:1})]),_:1}),l(t(D),null,{default:p(()=>[l(t(b),null,{default:p(()=>[l(t(E),null,{default:p(()=>[m(u(t(K)(`overview.consumptionSources`)),1)]),_:1}),l(t(g),null,{default:p(()=>[m(u(t(K)(`overview.consumptionSourcesDesc`)),1)]),_:1})]),_:1}),l(t(S),null,{default:p(()=>[r(`div`,fe,[Z.value&&Z.value.metalMine.buildingLevel>0?(s(),e(`div`,pe,[r(`span`,me,u(t(K)(Z.value.metalMine.buildingName))+` (`+u(t(K)(`common.level`))+` `+u(Z.value.metalMine.buildingLevel)+`) `,1),r(`span`,he,` -`+u(t(T)(Math.floor(Z.value.metalMine.consumption)))+`/`+u(t(K)(`resources.hour`)),1)])):h(``,!0),Z.value&&Z.value.crystalMine.buildingLevel>0?(s(),e(`div`,ge,[r(`span`,_e,u(t(K)(Z.value.crystalMine.buildingName))+` (`+u(t(K)(`common.level`))+` `+u(Z.value.crystalMine.buildingLevel)+`) `,1),r(`span`,ve,` -`+u(t(T)(Math.floor(Z.value.crystalMine.consumption)))+`/`+u(t(K)(`resources.hour`)),1)])):h(``,!0),Z.value&&Z.value.deuteriumSynthesizer.buildingLevel>0?(s(),e(`div`,ye,[r(`span`,be,u(t(K)(Z.value.deuteriumSynthesizer.buildingName))+` (`+u(t(K)(`common.level`))+` `+u(Z.value.deuteriumSynthesizer.buildingLevel)+`) `,1),r(`span`,xe,` -`+u(t(T)(Math.floor(Z.value.deuteriumSynthesizer.consumption)))+`/`+u(t(K)(`resources.hour`)),1)])):h(``,!0),Z.value?(s(),e(`div`,Se,[r(`span`,null,u(t(K)(`overview.totalConsumption`)),1),r(`span`,Ce,` -`+u(t(T)(Math.floor(Z.value.total)))+`/`+u(t(K)(`resources.hour`)),1)])):h(``,!0),Z.value&&Z.value.total===0?(s(),e(`div`,we,u(t(K)(`overview.noConsumption`)),1)):h(``,!0)])]),_:1})]),_:1}),l(t(D),null,{default:p(()=>[l(t(b),null,{default:p(()=>[l(t(E),null,{default:p(()=>[m(u(t(K)(`overview.fleetInfo`)),1)]),_:1}),l(t(g),null,{default:p(()=>[m(u(t(K)(`overview.currentShips`)),1)]),_:1})]),_:1}),l(t(S),null,{default:p(()=>[r(`div`,Te,[(s(!0),e(n,null,o(q.value.fleet,(n,i)=>(s(),e(`div`,{key:i},[r(`p`,Ee,u(t(Oe)[i].name),1),r(`p`,De,u(n),1)]))),128))])]),_:1})]),_:1})])):h(``,!0)}});export{G as default}; \ No newline at end of file diff --git a/docs/assets/ResearchView-B3XsR2nC.js b/docs/assets/ResearchView-B3XsR2nC.js deleted file mode 100644 index d86316f..0000000 --- a/docs/assets/ResearchView-B3XsR2nC.js +++ /dev/null @@ -1,2 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dt as r,E as i,Et as a,Jt as o,Kt as s,Mt as c,N as l,Nt as u,On as d,Ot as ee,P as f,T as p,Tn as m,gt as te,hn as h,in as g,jt as _,kt as ne}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-vue-router-CWDMmE-U.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import"./vendor-icons-W6Ny__75.js";import{t as re}from"./CardDescription-D2AN1hhX.js";import{h as v,u as y}from"./game-config-D-D7cMgJ.js";import{A as ie,I as ae,M as oe,P as se,_ as ce,c as le,l as b,o as x,r as S,s as C,u as w,w as T}from"./index-DWmvUlvu.js";import{t as E}from"./useGameConfig-B5wf1i8i.js";import{t as D}from"./AlertDialog-CiXBEnQ0.js";import{t as O}from"./CardUnlockOverlay-BA1LyGjd.js";import{t as k}from"./UnlockRequirement-c2kDZKZ0.js";var A={key:0,class:`container mx-auto p-4 sm:p-6`},j={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},M={class:`grid grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4`},N={class:`flex justify-between items-start gap-2`},P={class:`min-w-0 flex-1`},F={class:`space-y-2.5 sm:space-y-3`},I={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},L={class:`text-muted-foreground mb-1 sm:mb-2`},R={class:`space-y-1 sm:space-y-1.5`},z={class:`flex items-center gap-1.5 sm:gap-2`},ue={class:`text-xs`},B={class:`flex items-center gap-1.5 sm:gap-2`},V={class:`text-xs`},H={class:`flex items-center gap-1.5 sm:gap-2`},U={class:`text-xs`},W=u({__name:`ResearchView`,setup(u){let W=ae(),de=ce(),{t:G}=se(),{TECHNOLOGIES:K,BUILDINGS:fe}=E(),q=a(()=>W.currentPlanet),J=a(()=>W.player),Y=h(null),X=e=>{if(!W.currentPlanet||!i(W.currentPlanet,e,W.player.technologies,W.player.researchQueue).valid)return!1;let t=W.player.technologies[e]||0,{queueItem:n}=p(W.currentPlanet,e,t,W.player.officers);return W.player.researchQueue.push(n),!0},Z=e=>{if(!q.value)return!1;let t=K.value[e],n=f(t,Q(e)+1);return!n||Object.keys(n).length===0?!0:l(q.value,W.player.technologies,n)},pe=e=>{if(!q.value)return G(`researchView.research`);let t=K.value[e],n=Q(e);return t.maxLevel!==void 0&&n>=t.maxLevel?G(`researchView.maxLevelReached`):J.value.researchQueue.length>0||Z(e)?G(`researchView.research`):G(`buildingsView.requirementsNotMet`)},me=e=>{let t=K.value[e],n=f(t,Q(e)+1);if(!n||!q.value)return``;let r=[];for(let[e,t]of Object.entries(n))if(Object.values(y).includes(e)){let n=e,i=q.value.buildings[n]||0,a=fe.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${G(`common.current`)}: Lv ${i})`)}else if(Object.values(v).includes(e)){let n=e,i=W.player.technologies[n]||0,a=K.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${G(`common.current`)}: Lv ${i})`)}return r.join(` -`)},he=e=>{if(!Z(e)){Y.value?.show({title:G(`common.requirementsNotMet`),message:me(e)});return}X(e)||Y.value?.show({title:G(`researchView.researchFailed`),message:G(`researchView.researchFailedMessage`)})},Q=e=>J.value.technologies[e]||0,ge=e=>{if(!q.value)return!1;let t=K.value[e],n=Q(e);if(t.maxLevel!==void 0&&n>=t.maxLevel||J.value.researchQueue.length>0)return!1;let r=$(e,n+1);return l(q.value,W.player.technologies,t.requirements)&&q.value.resources.metal>=r.metal&&q.value.resources.crystal>=r.crystal&&q.value.resources.deuterium>=r.deuterium},$=(e,t)=>te(e,t);return(i,a)=>q.value?(s(),e(`div`,A,[c(k,{"required-building":t(y).ResearchLab,"required-level":1},null,8,[`required-building`]),r(`h1`,j,d(t(G)(`researchView.title`)),1),r(`div`,M,[(s(!0),e(n,null,o(Object.values(t(v)),e=>(s(),ee(t(w),{key:e,class:`relative`},{default:g(()=>[c(O,{requirements:t(K)[e].requirements,currentLevel:Q(e)},null,8,[`requirements`,`currentLevel`]),c(t(le),null,{default:g(()=>[r(`div`,N,[r(`div`,P,[c(t(C),{class:`text-base sm:text-lg cursor-pointer hover:text-primary transition-colors`,onClick:n=>t(de).openTechnology(e,Q(e))},{default:g(()=>[_(d(t(K)[e].name),1)]),_:2},1032,[`onClick`]),c(t(re),{class:`text-xs sm:text-sm`},{default:g(()=>[_(d(t(K)[e].description),1)]),_:2},1024)]),c(t(ie),{variant:`secondary`,class:`text-xs whitespace-nowrap flex-shrink-0`},{default:g(()=>[_(`Lv `+d(Q(e)),1)]),_:2},1024)])]),_:2},1024),c(t(b),null,{default:g(()=>[r(`div`,F,[r(`div`,I,[r(`p`,L,d(t(G)(`researchView.researchCost`))+`:`,1),r(`div`,R,[r(`div`,z,[c(T,{type:`metal`,size:`sm`}),r(`span`,ue,d(t(G)(`resources.metal`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(x)(q.value.resources.metal,$(e,Q(e)+1).metal)])},d(t(S)($(e,Q(e)+1).metal)),3)]),r(`div`,B,[c(T,{type:`crystal`,size:`sm`}),r(`span`,V,d(t(G)(`resources.crystal`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(x)(q.value.resources.crystal,$(e,Q(e)+1).crystal)])},d(t(S)($(e,Q(e)+1).crystal)),3)]),r(`div`,H,[c(T,{type:`deuterium`,size:`sm`}),r(`span`,U,d(t(G)(`resources.deuterium`))+`:`,1),r(`span`,{class:m([`font-medium text-xs sm:text-sm`,t(x)(q.value.resources.deuterium,$(e,Q(e)+1).deuterium)])},d(t(S)($(e,Q(e)+1).deuterium)),3)])])]),c(t(oe),{onClick:t=>he(e),disabled:!ge(e),class:`w-full`},{default:g(()=>[_(d(pe(e)),1)]),_:2},1032,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),c(D,{ref_key:`alertDialog`,ref:Y},null,512)])):ne(``,!0)}});export{W as default}; \ No newline at end of file diff --git a/docs/assets/ResearchView-BEvEoPdM.js b/docs/assets/ResearchView-BEvEoPdM.js new file mode 100644 index 0000000..c086ba0 --- /dev/null +++ b/docs/assets/ResearchView-BEvEoPdM.js @@ -0,0 +1,2 @@ +import{$t as e,Dn as t,En as n,Gn as r,Gt as i,It as a,Jt as o,Ln as s,Qt as c,S as l,Vt as ee,Xn as u,Xt as te,Yt as d,Zt as ne,d as re,en as f,gn as p,mn as m,qn as ie,tn as ae,u as oe,v as h,y as g}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import"./vendor-icons-z9V6Jdbh.js";import{t as se}from"./CardDescription-BSLS07AU.js";import{d as _,v}from"./game-config-CG6z6nnH.js";import{D as ce,H as le,K as ue,N as de,W as y,_ as b,a as x,b as S,f as C,h as w,i as T,l as E,o as D,q as O,r as k,s as A,u as j,v as M,y as N}from"./index-BT5w6et-.js";import{t as P}from"./useGameConfig-b98LOtBY.js";import{t as F}from"./CardUnlockOverlay-DYfgGY6J.js";import{t as I}from"./UnlockRequirement-CoWPiUl8.js";var L={key:0,class:`container mx-auto p-4 sm:p-6`},R={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},fe={class:`grid grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4`},z={class:`mb-2`},B={class:`flex flex-col sm:flex-row sm:justify-between sm:items-start gap-2`},V={class:`space-y-2.5 sm:space-y-3`},pe={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},me={class:`text-muted-foreground mb-1 sm:mb-2`},he={class:`space-y-1 sm:space-y-1.5`},ge={class:`text-xs`},H=ae({__name:`ResearchView`,setup(ae){let H=O(),_e=ce(),{t:U}=ue(),{TECHNOLOGIES:W,BUILDINGS:ve}=P(),G=o(()=>H.currentPlanet),K=o(()=>H.player),q=s(!1),J=s(``),Y=s(``),ye=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`}],X=e=>{if(!H.currentPlanet||!re(H.currentPlanet,e,H.player.technologies,H.player.researchQueue).valid)return!1;let t=H.player.technologies[e]||0,{queueItem:n}=oe(H.currentPlanet,e,t,H.player.officers,H.player.technologies);return H.player.researchQueue.push(n),!0},Z=e=>{if(!G.value)return!1;let t=W.value[e],n=g(t,Q(e)+1);return!n||Object.keys(n).length===0?!0:h(G.value,H.player.technologies,n)},be=e=>{if(!G.value)return U(`researchView.research`);let t=W.value[e],n=Q(e);if(t.maxLevel!==void 0&&n>=t.maxLevel)return U(`researchView.maxLevelReached`);let r=l(H.player.technologies);return K.value.researchQueue.length>=r||Z(e)?U(`researchView.research`):U(`buildingsView.requirementsNotMet`)},xe=e=>{let t=W.value[e],n=g(t,Q(e)+1);if(!n||!G.value)return``;let r=[];for(let[e,t]of Object.entries(n))if(Object.values(_).includes(e)){let n=e,i=G.value.buildings[n]||0,a=ve.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${U(`common.current`)}: Lv ${i})`)}else if(Object.values(v).includes(e)){let n=e,i=H.player.technologies[n]||0,a=W.value[n]?.name||n,o=i>=t?`✓`:`✗`;r.push(`${o} ${a}: Lv ${t} (${U(`common.current`)}: Lv ${i})`)}return r.join(` +`)},Se=e=>{if(!Z(e)){J.value=U(`common.requirementsNotMet`),Y.value=xe(e),q.value=!0;return}X(e)||(J.value=U(`researchView.researchFailed`),Y.value=U(`researchView.researchFailedMessage`),q.value=!0)},Q=e=>K.value.technologies[e]||0,Ce=e=>{if(!G.value)return!1;let t=W.value[e],n=Q(e);if(t.maxLevel!==void 0&&n>=t.maxLevel)return!1;let r=l(H.player.technologies);if(K.value.researchQueue.length>=r)return!1;let i=$(e,n+1);return h(G.value,H.player.technologies,t.requirements)&&G.value.resources.metal>=i.metal&&G.value.resources.crystal>=i.crystal&&G.value.resources.deuterium>=i.deuterium&&G.value.resources.darkMatter>=i.darkMatter},$=(e,t)=>a(e,t);return(a,o)=>G.value?(m(),c(`div`,L,[f(I,{"required-building":r(_).ResearchLab,"required-level":1},null,8,[`required-building`]),d(`h1`,R,u(r(U)(`researchView.title`)),1),d(`div`,fe,[(m(!0),c(i,null,p(Object.values(r(v)),a=>(m(),te(r(S),{key:a,class:`relative`},{default:n(()=>[f(F,{requirements:r(W)[a].requirements,currentLevel:Q(a)},null,8,[`requirements`,`currentLevel`]),f(r(M),null,{default:n(()=>[d(`div`,z,[d(`div`,B,[f(r(b),{class:`text-sm sm:text-base lg:text-lg cursor-pointer hover:text-primary transition-colors underline decoration-dotted underline-offset-4 order-2 sm:order-1`,onClick:e=>r(_e).openTechnology(a,Q(a))},{default:n(()=>[e(u(r(W)[a].name),1)]),_:2},1032,[`onClick`]),f(r(le),{variant:`secondary`,class:`text-xs whitespace-nowrap self-start order-1 sm:order-2`},{default:n(()=>[e(` Lv `+u(Q(a)),1)]),_:2},1024)])]),f(r(se),{class:`text-xs sm:text-sm`},{default:n(()=>[e(u(r(W)[a].description),1)]),_:2},1024)]),_:2},1024),f(r(N),null,{default:n(()=>[d(`div`,V,[d(`div`,pe,[d(`p`,me,u(r(U)(`researchView.researchCost`))+`:`,1),d(`div`,he,[(m(),c(i,null,p(ye,e=>t(d(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[f(de,{type:e.key,size:`sm`},null,8,[`type`]),d(`span`,ge,u(r(U)(`resources.${e.key}`))+`:`,1),d(`span`,{class:ie([`font-medium text-xs sm:text-sm`,r(w)(G.value.resources[e.key],$(a,Q(a)+1)[e.key])])},u(r(C)($(a,Q(a)+1)[e.key])),3)]),[[ee,e.key!==`darkMatter`||$(a,Q(a)+1).darkMatter>0]])),64))])]),f(r(y),{onClick:e=>Se(a),disabled:!Ce(a),class:`w-full`},{default:n(()=>[e(u(be(a)),1)]),_:2},1032,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),f(r(j),{open:q.value,"onUpdate:open":o[0]||=e=>q.value=e},{default:n(()=>[f(r(A),null,{default:n(()=>[f(r(T),null,{default:n(()=>[f(r(k),null,{default:n(()=>[e(u(J.value),1)]),_:1}),f(r(D),{class:`whitespace-pre-line`},{default:n(()=>[e(u(Y.value),1)]),_:1})]),_:1}),f(r(x),null,{default:n(()=>[f(r(E),null,{default:n(()=>[e(u(r(U)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])):ne(``,!0)}});export{H as default}; \ No newline at end of file diff --git a/docs/assets/SelectValue-Cm2l40Fd.js b/docs/assets/SelectValue-Cm2l40Fd.js deleted file mode 100644 index 5a633ca..0000000 --- a/docs/assets/SelectValue-Cm2l40Fd.js +++ /dev/null @@ -1 +0,0 @@ -import{Cn as e,Dt as t,En as n,Ft as r,Kt as i,Mt as a,Nt as o,Ot as s,Tn as c,Vt as l,Yt as u,in as d}from"./game-logic-CfBcTF_c.js";import{c as f}from"./vendor-others-CUjrprN5.js";import{H as p,U as m,_ as h,c as g,d as _,f as v,g as y,h as b,l as x,m as S,p as C,s as w,u as T,v as E}from"./vendor-reka-ui-CZQh7FLl.js";import{H as D,U as O,W as k}from"./vendor-icons-W6Ny__75.js";import{N as A}from"./index-DWmvUlvu.js";var j=o({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(t,{emit:a}){let o=p(t,a);return(t,a)=>(i(),s(e(E),l({"data-slot":`select`},e(o)),{default:d(e=>[u(t.$slots,`default`,n(r(e)))]),_:3},16))}}),M=o({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,o=n,m=p(f(r,`class`),o);return(n,o)=>(i(),s(e(v),null,{default:d(()=>[a(e(h),l({"data-slot":`select-content`},{...n.$attrs,...e(m)},{class:e(A)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,t.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,r.class)}),{default:d(()=>[a(e(I)),a(e(w),{class:c(e(A)(`p-1`,t.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:d(()=>[u(n.$slots,`default`)]),_:3},8,[`class`]),a(e(F))]),_:3},16,[`class`])]),_:3}))}}),N={class:`absolute right-2 flex size-3.5 items-center justify-center`},P=o({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(n){let r=n,o=m(f(r,`class`));return(n,c)=>(i(),s(e(b),l({"data-slot":`select-item`},e(o),{class:e(A)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,r.class)}),{default:d(()=>[t(`span`,N,[a(e(S),null,{default:d(()=>[u(n.$slots,`indicator-icon`,{},()=>[a(e(k),{class:`size-4`})])]),_:3})]),a(e(C),null,{default:d(()=>[u(n.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),F=o({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{}},setup(t){let n=t,r=m(f(n,`class`));return(t,o)=>(i(),s(e(_),l({"data-slot":`select-scroll-down-button`},e(r),{class:e(A)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:d(()=>[u(t.$slots,`default`,{},()=>[a(e(O),{class:`size-4`})])]),_:3},16,[`class`]))}}),I=o({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{}},setup(t){let n=t,r=m(f(n,`class`));return(t,o)=>(i(),s(e(T),l({"data-slot":`select-scroll-up-button`},e(r),{class:e(A)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:d(()=>[u(t.$slots,`default`,{},()=>[a(e(D),{class:`size-4`})])]),_:3},16,[`class`]))}}),L=o({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},size:{default:`default`}},setup(t){let n=t,r=m(f(n,`class`,`size`));return(o,c)=>(i(),s(e(x),l({"data-slot":`select-trigger`,"data-size":t.size},e(r),{class:e(A)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,n.class)}),{default:d(()=>[u(o.$slots,`default`),a(e(y),{"as-child":``},{default:d(()=>[a(e(O),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),R=o({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(i(),s(e(g),l({"data-slot":`select-value`},n),{default:d(()=>[u(t.$slots,`default`)]),_:3},16))}});export{j as a,M as i,L as n,P as r,R as t}; \ No newline at end of file diff --git a/docs/assets/SelectValue-DmEWUfvu.js b/docs/assets/SelectValue-DmEWUfvu.js new file mode 100644 index 0000000..88bb573 --- /dev/null +++ b/docs/assets/SelectValue-DmEWUfvu.js @@ -0,0 +1 @@ +import{En as e,Gn as t,Jn as n,Xt as r,Yt as i,_n as a,en as o,ln as s,mn as c,qn as l,rn as u,tn as d}from"./game-logic-Bi1l7y4K.js";import{c as f}from"./vendor-others-DTUzJ7S-.js";import{$ as p,S as m,_ as h,b as g,d as _,et as v,f as y,g as b,h as x,m as S,p as C,v as w,x as T,y as E}from"./vendor-reka-ui-BEHIKScj.js";import{K as D,U as O,q as k}from"./vendor-icons-z9V6Jdbh.js";import{G as A}from"./index-BT5w6et-.js";var j=d({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(i,{emit:o}){let l=p(i,o);return(i,o)=>(c(),r(t(m),s({"data-slot":`select`},t(l)),{default:e(e=>[a(i.$slots,`default`,n(u(e)))]),_:3},16))}}),M=d({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(n,{emit:i}){let u=n,d=i,m=p(f(u,`class`),d);return(i,d)=>(c(),r(t(b),null,{default:e(()=>[o(t(T),s({"data-slot":`select-content`},{...i.$attrs,...t(m)},{class:t(A)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,n.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,u.class)}),{default:e(()=>[o(t(I)),o(t(_),{class:l(t(A)(`p-1`,n.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:e(()=>[a(i.$slots,`default`)]),_:3},8,[`class`]),o(t(F))]),_:3},16,[`class`])]),_:3}))}}),N={class:`absolute right-2 flex size-3.5 items-center justify-center`},P=d({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(n){let l=n,u=v(f(l,`class`));return(n,d)=>(c(),r(t(E),s({"data-slot":`select-item`},t(u),{class:t(A)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,l.class)}),{default:e(()=>[i(`span`,N,[o(t(w),null,{default:e(()=>[a(n.$slots,`indicator-icon`,{},()=>[o(t(k),{class:`size-4`})])]),_:3})]),o(t(h),null,{default:e(()=>[a(n.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),F=d({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{}},setup(n){let i=n,l=v(f(i,`class`));return(n,u)=>(c(),r(t(x),s({"data-slot":`select-scroll-down-button`},t(l),{class:t(A)(`flex cursor-default items-center justify-center py-1`,i.class)}),{default:e(()=>[a(n.$slots,`default`,{},()=>[o(t(D),{class:`size-4`})])]),_:3},16,[`class`]))}}),I=d({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{}},setup(n){let i=n,l=v(f(i,`class`));return(n,u)=>(c(),r(t(S),s({"data-slot":`select-scroll-up-button`},t(l),{class:t(A)(`flex cursor-default items-center justify-center py-1`,i.class)}),{default:e(()=>[a(n.$slots,`default`,{},()=>[o(t(O),{class:`size-4`})])]),_:3},16,[`class`]))}}),L=d({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},size:{default:`default`}},setup(n){let i=n,l=v(f(i,`class`,`size`));return(u,d)=>(c(),r(t(C),s({"data-slot":`select-trigger`,"data-size":n.size},t(l),{class:t(A)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i.class)}),{default:e(()=>[a(u.$slots,`default`),o(t(g),{"as-child":``},{default:e(()=>[o(t(D),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),R=d({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(n){let i=n;return(n,o)=>(c(),r(t(y),s({"data-slot":`select-value`},i),{default:e(()=>[a(n.$slots,`default`)]),_:3},16))}});export{j as a,M as i,L as n,P as r,R as t}; \ No newline at end of file diff --git a/docs/assets/SettingsView-C1jUcCe5.js b/docs/assets/SettingsView-C1jUcCe5.js deleted file mode 100644 index c9817ac..0000000 --- a/docs/assets/SettingsView-C1jUcCe5.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Dt as n,En as r,Ft as i,Kt as a,Mt as o,Nt as s,On as c,Ot as l,Tn as u,Vt as d,Xt as ee,Yt as f,hn as p,in as m,jt as h,kt as te}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import{c as g,n as _}from"./vendor-others-CUjrprN5.js";import{A as v,D as y,E as b,H as x,M as S,N as C,O as w,j as T,k as E}from"./vendor-reka-ui-CZQh7FLl.js";import{t as D}from"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import{L as O,R as k,T as A,b as j,i as M,s as N,y as P}from"./vendor-icons-W6Ny__75.js";import{t as F}from"./CardDescription-D2AN1hhX.js";import{I as ne,L as I,M as L,N as R,P as z,c as B,j as V,l as H,s as U,u as W}from"./index-DWmvUlvu.js";var G=s({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let o=x(e,n);return(e,n)=>(a(),l(t(y),d({"data-slot":`alert-dialog`},t(o)),{default:m(t=>[f(e.$slots,`default`,r(i(t)))]),_:3},16))}}),K=s({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let n=e,r=g(n,`class`);return(e,i)=>(a(),l(t(C),d(t(r),{class:t(R)(t(V)(),n.class)}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}}),q=s({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let n=e,r=g(n,`class`);return(e,i)=>(a(),l(t(T),d(t(r),{class:t(R)(t(V)({variant:`outline`}),`mt-2 sm:mt-0`,n.class)}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}}),J=s({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,s=x(g(r,`class`),i);return(e,n)=>(a(),l(t(w),null,{default:m(()=>[o(t(E),{"data-slot":`alert-dialog-overlay`,class:`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`}),o(t(S),d({"data-slot":`alert-dialog-content`},{...e.$attrs,...t(s)},{class:t(R)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,r.class)}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),Y=s({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let n=e,r=g(n,`class`);return(e,i)=>(a(),l(t(v),d({"data-slot":`alert-dialog-description`},t(r),{class:t(R)(`text-muted-foreground text-sm`,n.class)}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}}),X=s({__name:`AlertDialogFooter`,props:{class:{}},setup(n){let r=n;return(n,i)=>(a(),e(`div`,{"data-slot":`alert-dialog-footer`,class:u(t(R)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,r.class))},[f(n.$slots,`default`)],2))}}),Z=s({__name:`AlertDialogHeader`,props:{class:{}},setup(n){let r=n;return(n,i)=>(a(),e(`div`,{"data-slot":`alert-dialog-header`,class:u(t(R)(`flex flex-col gap-2 text-center sm:text-left`,r.class))},[f(n.$slots,`default`)],2))}}),re=s({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let n=e,r=g(n,`class`);return(e,i)=>(a(),l(t(b),d({"data-slot":`alert-dialog-title`},t(r),{class:t(R)(`text-lg font-semibold`,n.class)}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}}),ie=D(),ae={class:`container mx-auto p-4 sm:p-6 space-y-6`},oe={class:`flex items-center justify-between`},se={class:`text-2xl font-bold`},ce={class:`flex items-center justify-between p-4 border rounded-lg`},le={class:`space-y-1`},ue={class:`font-medium`},de={class:`text-sm text-muted-foreground`},fe={class:`flex items-center justify-between p-4 border rounded-lg`},pe={class:`space-y-1`},me={class:`font-medium`},he={class:`text-sm text-muted-foreground`},ge={class:`flex gap-2`},_e={class:`flex items-center justify-between p-4 border rounded-lg border-destructive/50`},ve={class:`space-y-1`},ye={class:`font-medium text-destructive`},be={class:`text-sm text-muted-foreground`},xe={class:`flex items-center justify-between p-4 border rounded-lg`},Se={class:`space-y-1`},Ce={class:`font-medium`},we={class:`text-sm text-muted-foreground`},Te={class:`space-y-2`},Ee={class:`flex items-center justify-between text-sm`},De={class:`text-muted-foreground`},Oe={class:`font-medium`},Q={class:`flex items-center justify-between text-sm`},ke={class:`text-muted-foreground`},Ae={class:`font-medium`},je={class:`pt-2 border-t space-y-2`},Me={class:`text-sm font-medium`},Ne={class:`flex flex-col gap-2`},Pe={class:`ml-auto text-xs text-muted-foreground`},$=s({__name:`SettingsView`,setup(r){let{t:i}=z(),s=ne(),u=p(),d=p(!1),f=p(!1),g=p(``),v=p(``),y=null,b=()=>{window.open(`https://github.com/${I.author}/${I.name}`,`_blank`)},x=()=>{window.open(`https://qm.qq.com/q/${I.id}`,`_blank`)},S=async()=>{try{d.value=!0;let e=localStorage.getItem(I.name),t=localStorage.getItem(`${I.name}-universe`);if(!e){_.error(i(`settings.exportFailed`));return}let n={game:e,universe:t||null},r=`${I.name}-${new Date().toISOString().slice(0,10)}-${Date.now()}.json`,a=JSON.stringify(n,null,2);(0,ie.saveAs)(new Blob([a],{type:`application/json`}),r),_.success(i(`settings.exportSuccess`))}catch(e){console.error(`Export failed:`,e),_.error(i(`settings.exportFailed`))}finally{d.value=!1}},C=()=>{u.value?.click()},w=e=>{let t=e.target.files?.[0];t&&(g.value=i(`settings.importConfirmTitle`),v.value=i(`settings.importConfirmMessage`),f.value=!0,s.isPaused=!0,y=()=>T(t))},T=async e=>{try{let t=new FileReader;t.onload=e=>{try{let t=e.target?.result;if(typeof t==`string`){let e=JSON.parse(t);if(typeof e==`string`||!e.game){localStorage.setItem(I.name,t),_.success(i(`settings.importSuccess`)),setTimeout(()=>window.location.reload(),1e3);return}e.game&&localStorage.setItem(I.name,e.game),e.universe&&localStorage.setItem(`${I.name}-universe`,e.universe),_.success(i(`settings.importSuccess`)),setTimeout(()=>window.location.reload(),1e3)}else _.error(i(`settings.importFailed`))}catch(e){let t=e instanceof Error?e.message:String(e);_.error(i(`settings.importFailed`)+`: `+t)}},t.readAsText(e)}catch(e){console.error(`Import failed:`,e),_.error(i(`settings.importFailed`))}},E=()=>{g.value=i(`settings.clearConfirmTitle`),v.value=i(`settings.clearConfirmMessage`),f.value=!0,y=D},D=()=>{localStorage.clear(),window.location.reload()},R=()=>{s.isPaused=!s.isPaused,s.isPaused?_.info(i(`settings.gamePaused`)):_.success(i(`settings.gameResumed`))},V=()=>{y&&=(y(),null),f.value=!1},$=()=>{s.isPaused=!1,y=null,f.value=!1,u.value&&(u.value.value=``)};return(r,p)=>(a(),e(`div`,ae,[n(`div`,oe,[n(`h1`,se,c(t(i)(`nav.settings`)),1)]),o(t(W),null,{default:m(()=>[o(t(B),null,{default:m(()=>[o(t(U),null,{default:m(()=>[h(c(t(i)(`settings.dataManagement`)),1)]),_:1}),o(t(F),null,{default:m(()=>[h(c(t(i)(`settings.dataManagementDesc`)),1)]),_:1})]),_:1}),o(t(H),{class:`space-y-4`},{default:m(()=>[n(`div`,ce,[n(`div`,le,[n(`h3`,ue,c(t(i)(`settings.exportData`)),1),n(`p`,de,c(t(i)(`settings.exportDataDesc`)),1)]),o(t(L),{onClick:S,disabled:d.value},{default:m(()=>[o(t(k),{class:`mr-2 h-4 w-4`}),h(` `+c(d.value?t(i)(`settings.exporting`):t(i)(`settings.export`)),1)]),_:1},8,[`disabled`])]),n(`div`,fe,[n(`div`,pe,[n(`h3`,me,c(t(i)(`settings.importData`)),1),n(`p`,he,c(t(i)(`settings.importDataDesc`)),1)]),n(`div`,ge,[n(`input`,{ref_key:`fileInputRef`,ref:u,type:`file`,accept:`.json`,class:`hidden`,onChange:w},null,544),o(t(L),{onClick:C,variant:`outline`},{default:m(()=>[o(t(M),{class:`mr-2 h-4 w-4`}),h(` `+c(t(i)(`settings.selectFile`)),1)]),_:1})])]),n(`div`,_e,[n(`div`,ve,[n(`h3`,ye,c(t(i)(`settings.clearData`)),1),n(`p`,be,c(t(i)(`settings.clearDataDesc`)),1)]),o(t(L),{onClick:E,variant:`destructive`},{default:m(()=>[o(t(N),{class:`mr-2 h-4 w-4`}),h(` `+c(t(i)(`settings.clear`)),1)]),_:1})])]),_:1})]),_:1}),o(t(W),null,{default:m(()=>[o(t(B),null,{default:m(()=>[o(t(U),null,{default:m(()=>[h(c(t(i)(`settings.gameSettings`)),1)]),_:1}),o(t(F),null,{default:m(()=>[h(c(t(i)(`settings.gameSettingsDesc`)),1)]),_:1})]),_:1}),o(t(H),{class:`space-y-4`},{default:m(()=>[n(`div`,xe,[n(`div`,Se,[n(`h3`,Ce,c(t(i)(`settings.gamePause`)),1),n(`p`,we,c(t(i)(`settings.gamePauseDesc`)),1)]),o(t(L),{onClick:R,variant:t(s).isPaused?`default`:`outline`},{default:m(()=>[(a(),l(ee(t(s).isPaused?t(P):t(j)),{class:`mr-2 h-4 w-4`})),h(` `+c(t(s).isPaused?t(i)(`settings.resume`):t(i)(`settings.pause`)),1)]),_:1},8,[`variant`])])]),_:1})]),_:1}),o(t(W),null,{default:m(()=>[o(t(B),null,{default:m(()=>[o(t(U),null,{default:m(()=>[h(c(t(i)(`settings.about`)),1)]),_:1})]),_:1}),o(t(H),{class:`space-y-4`},{default:m(()=>[n(`div`,Te,[n(`div`,Ee,[n(`span`,De,c(t(i)(`settings.version`))+`:`,1),n(`span`,Oe,c(t(I).version),1)]),n(`div`,Q,[n(`span`,ke,c(t(i)(`settings.buildDate`))+`:`,1),n(`span`,Ae,c(t(I).buildDate),1)])]),n(`div`,je,[n(`h3`,Me,c(t(i)(`settings.community`)),1),n(`div`,Ne,[o(t(L),{variant:`outline`,class:`w-full justify-start`,onClick:b},{default:m(()=>[o(t(O),{class:`mr-2 h-4 w-4`}),h(` `+c(t(i)(`settings.github`)),1)]),_:1}),t(s).locale===`zh-CN`||t(s).locale===`zh-TW`?(a(),l(t(L),{key:0,variant:`outline`,class:`w-full justify-start`,onClick:x},{default:m(()=>[o(t(A),{class:`mr-2 h-4 w-4`}),h(` `+c(t(i)(`settings.qqGroup`))+` `,1),n(`span`,Pe,c(t(I).qq),1)]),_:1})):te(``,!0)])])]),_:1})]),_:1}),o(t(G),{open:f.value,"onUpdate:open":p[0]||=e=>f.value=e},{default:m(()=>[o(t(J),null,{default:m(()=>[o(t(Z),null,{default:m(()=>[o(t(re),null,{default:m(()=>[h(c(g.value),1)]),_:1}),o(t(Y),null,{default:m(()=>[h(c(v.value),1)]),_:1})]),_:1}),o(t(X),null,{default:m(()=>[o(t(q),{onClick:$},{default:m(()=>[h(c(t(i)(`common.cancel`)),1)]),_:1}),o(t(K),{onClick:V},{default:m(()=>[h(c(t(i)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{$ as default}; \ No newline at end of file diff --git a/docs/assets/SettingsView-yJRibE1k.js b/docs/assets/SettingsView-yJRibE1k.js new file mode 100644 index 0000000..b7fccbe --- /dev/null +++ b/docs/assets/SettingsView-yJRibE1k.js @@ -0,0 +1 @@ +import{$t as e,En as t,Gn as n,Ln as r,Qt as i,Xn as a,Xt as o,Yt as s,Zt as ee,en as c,mn as l,tn as u,vn as te}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import{n as d}from"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import{t as f}from"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import{R as ne,T as re,b as ie,i as p,s as m,y as ae,z as oe}from"./vendor-icons-z9V6Jdbh.js";import{t as h}from"./CardDescription-BSLS07AU.js";import{J as g,K as se,W as _,_ as v,a as ce,b as y,c as b,i as x,l as S,o as C,q as w,r as T,s as E,u as D,v as O,y as k}from"./index-BT5w6et-.js";var A=f(),j={class:`container mx-auto p-4 sm:p-6 space-y-6`},M={class:`flex items-center justify-between`},N={class:`text-2xl font-bold`},P={class:`flex items-center justify-between p-4 border rounded-lg`},F={class:`space-y-1`},I={class:`font-medium`},L={class:`text-sm text-muted-foreground`},R={class:`flex items-center justify-between p-4 border rounded-lg`},z={class:`space-y-1`},B={class:`font-medium`},V={class:`text-sm text-muted-foreground`},H={class:`flex gap-2`},U={class:`flex items-center justify-between p-4 border rounded-lg border-destructive/50`},W={class:`space-y-1`},G={class:`font-medium text-destructive`},le={class:`text-sm text-muted-foreground`},ue={class:`flex items-center justify-between p-4 border rounded-lg`},de={class:`space-y-1`},fe={class:`font-medium`},pe={class:`text-sm text-muted-foreground`},me={class:`space-y-2`},he={class:`flex items-center justify-between text-sm`},ge={class:`text-muted-foreground`},_e={class:`font-medium`},ve={class:`flex items-center justify-between text-sm`},ye={class:`text-muted-foreground`},be={class:`font-medium`},xe={class:`pt-2 border-t space-y-2`},Se={class:`text-sm font-medium`},Ce={class:`flex flex-col gap-2`},we={class:`ml-auto text-xs text-muted-foreground`},K=u({__name:`SettingsView`,setup(u){let{t:f}=se(),K=w(),q=r(),J=r(!1),Y=r(!1),X=r(``),Z=r(``),Q=null,Te=()=>{window.open(`https://github.com/${g.author.name}/${g.name}`,`_blank`)},Ee=()=>{window.open(`https://qm.qq.com/q/${g.id}`,`_blank`)},De=async()=>{try{J.value=!0;let e=localStorage.getItem(g.name),t=localStorage.getItem(`${g.name}-universe`),n=localStorage.getItem(`${g.name}-npcs`);if(!e){d.error(f(`settings.exportFailed`));return}let r={game:e,npcs:n,universe:t||null},i=`${g.name}-${new Date().toISOString().slice(0,10)}-${Date.now()}.json`,a=JSON.stringify(r,null,2);(0,A.saveAs)(new Blob([a],{type:`application/json`}),i),d.success(f(`settings.exportSuccess`))}catch(e){console.error(`Export failed:`,e),d.error(f(`settings.exportFailed`))}finally{J.value=!1}},Oe=()=>{q.value?.click()},ke=e=>{let t=e.target.files?.[0];t&&(X.value=f(`settings.importConfirmTitle`),Z.value=f(`settings.importConfirmMessage`),Y.value=!0,K.isPaused=!0,Q=()=>Ae(t))},Ae=async e=>{try{let t=new FileReader;t.onload=e=>{try{let t=e.target?.result;if(typeof t==`string`){let e=JSON.parse(t);if(typeof e==`string`||!e.game){localStorage.setItem(g.name,t),d.success(f(`settings.importSuccess`)),setTimeout(()=>window.location.reload(),1e3);return}e.game&&localStorage.setItem(g.name,e.game),e.universe&&localStorage.setItem(`${g.name}-universe`,e.universe),e.npcs&&localStorage.setItem(`${g.name}-npcs`,e.npcs),d.success(f(`settings.importSuccess`)),setTimeout(()=>window.location.reload(),1e3)}else d.error(f(`settings.importFailed`))}catch(e){let t=e instanceof Error?e.message:String(e);d.error(f(`settings.importFailed`)+`: `+t)}},t.readAsText(e)}catch(e){console.error(`Import failed:`,e),d.error(f(`settings.importFailed`))}},$=()=>{X.value=f(`settings.clearConfirmTitle`),Z.value=f(`settings.clearConfirmMessage`),Y.value=!0,Q=je},je=()=>{localStorage.clear(),window.location.reload()},Me=()=>{K.isPaused=!K.isPaused,K.isPaused?d.info(f(`settings.gamePaused`)):d.success(f(`settings.gameResumed`))},Ne=()=>{Q&&=(Q(),null),Y.value=!1},Pe=()=>{K.isPaused=!1,Q=null,Y.value=!1,q.value&&(q.value.value=``)};return(r,u)=>(l(),i(`div`,j,[s(`div`,M,[s(`h1`,N,a(n(f)(`nav.settings`)),1)]),c(n(y),null,{default:t(()=>[c(n(O),null,{default:t(()=>[c(n(v),null,{default:t(()=>[e(a(n(f)(`settings.dataManagement`)),1)]),_:1}),c(n(h),null,{default:t(()=>[e(a(n(f)(`settings.dataManagementDesc`)),1)]),_:1})]),_:1}),c(n(k),{class:`space-y-4`},{default:t(()=>[s(`div`,P,[s(`div`,F,[s(`h3`,I,a(n(f)(`settings.exportData`)),1),s(`p`,L,a(n(f)(`settings.exportDataDesc`)),1)]),c(n(_),{onClick:De,disabled:J.value},{default:t(()=>[c(n(oe),{class:`mr-2 h-4 w-4`}),e(` `+a(J.value?n(f)(`settings.exporting`):n(f)(`settings.export`)),1)]),_:1},8,[`disabled`])]),s(`div`,R,[s(`div`,z,[s(`h3`,B,a(n(f)(`settings.importData`)),1),s(`p`,V,a(n(f)(`settings.importDataDesc`)),1)]),s(`div`,H,[s(`input`,{ref_key:`fileInputRef`,ref:q,type:`file`,accept:`.json`,class:`hidden`,onChange:ke},null,544),c(n(_),{onClick:Oe,variant:`outline`},{default:t(()=>[c(n(p),{class:`mr-2 h-4 w-4`}),e(` `+a(n(f)(`settings.selectFile`)),1)]),_:1})])]),s(`div`,U,[s(`div`,W,[s(`h3`,G,a(n(f)(`settings.clearData`)),1),s(`p`,le,a(n(f)(`settings.clearDataDesc`)),1)]),c(n(_),{onClick:$,variant:`destructive`},{default:t(()=>[c(n(m),{class:`mr-2 h-4 w-4`}),e(` `+a(n(f)(`settings.clear`)),1)]),_:1})])]),_:1})]),_:1}),c(n(y),null,{default:t(()=>[c(n(O),null,{default:t(()=>[c(n(v),null,{default:t(()=>[e(a(n(f)(`settings.gameSettings`)),1)]),_:1}),c(n(h),null,{default:t(()=>[e(a(n(f)(`settings.gameSettingsDesc`)),1)]),_:1})]),_:1}),c(n(k),{class:`space-y-4`},{default:t(()=>[s(`div`,ue,[s(`div`,de,[s(`h3`,fe,a(n(f)(`settings.gamePause`)),1),s(`p`,pe,a(n(f)(`settings.gamePauseDesc`)),1)]),c(n(_),{onClick:Me,variant:n(K).isPaused?`default`:`outline`},{default:t(()=>[(l(),o(te(n(K).isPaused?n(ae):n(ie)),{class:`mr-2 h-4 w-4`})),e(` `+a(n(K).isPaused?n(f)(`settings.resume`):n(f)(`settings.pause`)),1)]),_:1},8,[`variant`])])]),_:1})]),_:1}),c(n(y),null,{default:t(()=>[c(n(O),null,{default:t(()=>[c(n(v),null,{default:t(()=>[e(a(n(f)(`settings.about`)),1)]),_:1})]),_:1}),c(n(k),{class:`space-y-4`},{default:t(()=>[s(`div`,me,[s(`div`,he,[s(`span`,ge,a(n(f)(`settings.version`))+`:`,1),s(`span`,_e,a(n(g).version),1)]),s(`div`,ve,[s(`span`,ye,a(n(f)(`settings.buildDate`))+`:`,1),s(`span`,be,a(n(g).buildDate),1)])]),s(`div`,xe,[s(`h3`,Se,a(n(f)(`settings.community`)),1),s(`div`,Ce,[c(n(_),{variant:`outline`,class:`w-full justify-start`,onClick:Te},{default:t(()=>[c(n(ne),{class:`mr-2 h-4 w-4`}),e(` `+a(n(f)(`settings.github`)),1)]),_:1}),n(K).locale===`zh-CN`||n(K).locale===`zh-TW`?(l(),o(n(_),{key:0,variant:`outline`,class:`w-full justify-start`,onClick:Ee},{default:t(()=>[c(n(re),{class:`mr-2 h-4 w-4`}),e(` `+a(n(f)(`settings.qqGroup`))+` `,1),s(`span`,we,a(n(g).qq),1)]),_:1})):ee(``,!0)])])]),_:1})]),_:1}),c(n(D),{open:Y.value,"onUpdate:open":u[0]||=e=>Y.value=e},{default:t(()=>[c(n(E),null,{default:t(()=>[c(n(x),null,{default:t(()=>[c(n(T),null,{default:t(()=>[e(a(X.value),1)]),_:1}),c(n(C),null,{default:t(()=>[e(a(Z.value),1)]),_:1})]),_:1}),c(n(ce),null,{default:t(()=>[c(n(b),{onClick:Pe},{default:t(()=>[e(a(n(f)(`common.cancel`)),1)]),_:1}),c(n(S),{onClick:Ne},{default:t(()=>[e(a(n(f)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{K as default}; \ No newline at end of file diff --git a/docs/assets/ShipyardView-C8y8F-rK.js b/docs/assets/ShipyardView-C8y8F-rK.js new file mode 100644 index 0000000..4c0fa81 --- /dev/null +++ b/docs/assets/ShipyardView-C8y8F-rK.js @@ -0,0 +1 @@ +import{$t as e,Dn as t,En as n,Gn as r,Gt as i,Jt as a,Ln as o,Qt as s,Vt as c,Xn as l,Xt as ee,Yn as te,Yt as u,Zt as d,c as ne,en as f,gn as p,mn as m,o as re,qn as h,r as ie,s as ae,tn as oe,v as se}from"./game-logic-Bi1l7y4K.js";import"./vendor-pinia-DqhKuBjp.js";import"./vendor-vue-router-1sDnnIWZ.js";import"./vendor-crypto-CQM8pryk.js";import"./game-i18n-Dr0JspcV.js";import"./vendor-others-DTUzJ7S-.js";import"./vendor-reka-ui-BEHIKScj.js";import"./vendor-utils-BlvnUqQX.js";import"./vendor-vueuse-CJcfYqoW.js";import"./vendor-icons-z9V6Jdbh.js";import{t as ce}from"./CardDescription-BSLS07AU.js";import{_ as g,d as le}from"./game-config-CG6z6nnH.js";import{D as _,K as v,L as ue,N as y,W as de,_ as fe,a as pe,b,f as x,g as S,h as C,i as w,l as T,o as E,q as D,r as O,s as k,u as A,v as j,y as M}from"./index-BT5w6et-.js";import{t as N}from"./useGameConfig-b98LOtBY.js";import{t as P}from"./CardUnlockOverlay-DYfgGY6J.js";import{t as F}from"./UnlockRequirement-CoWPiUl8.js";var I={key:0,class:`container mx-auto p-4 sm:p-6`},L={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},R={class:`mb-4 sm:mb-6 p-3 sm:p-4 bg-muted/50 rounded-lg border`},z={class:`flex items-center justify-between`},B={class:`text-sm sm:text-base font-medium`},me={class:`text-sm sm:text-base font-bold`},he={class:`mt-2`},ge={class:`w-full bg-background rounded-full h-2.5 sm:h-3 overflow-hidden`},_e={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},V={class:`space-y-3 sm:space-y-4`},ve={class:`grid grid-cols-2 gap-2 text-xs sm:text-sm`},ye={class:`text-muted-foreground`},be={class:`font-medium`},xe={class:`text-muted-foreground`},Se={class:`font-medium`},Ce={class:`text-muted-foreground`},we={class:`font-medium`},Te={class:`text-muted-foreground`},Ee={class:`font-medium`},De={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},Oe={class:`text-muted-foreground mb-1 sm:mb-2`},ke={class:`space-y-1 sm:space-y-1.5`},Ae={class:`text-xs`},je={class:`space-y-2`},Me={key:0,class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2 p-2.5 sm:p-3 bg-muted rounded-lg`},Ne={class:`font-medium text-muted-foreground`},Pe={class:`space-y-1 sm:space-y-1.5`},Fe={class:`text-xs`},H=oe({__name:`ShipyardView`,setup(oe){let H=D(),Ie=_(),{t:U}=v(),{SHIPS:W}=N(),G=a(()=>H.currentPlanet),K=o(!1),q=o(``),J=o(``),Y=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`darkMatter`}],X=a(()=>G.value?ae(G.value.fleet):0),Z=a(()=>G.value?ne(G.value,H.player.technologies):0),Q=o({[g.LightFighter]:0,[g.HeavyFighter]:0,[g.Cruiser]:0,[g.Battleship]:0,[g.Battlecruiser]:0,[g.Bomber]:0,[g.Destroyer]:0,[g.SmallCargo]:0,[g.LargeCargo]:0,[g.ColonyShip]:0,[g.Recycler]:0,[g.EspionageProbe]:0,[g.SolarSatellite]:0,[g.DarkMatterHarvester]:0,[g.Deathstar]:0}),Le=(e,t)=>{if(!H.currentPlanet||!re(H.currentPlanet,e,t,H.player.technologies).valid)return!1;let n=ie(H.currentPlanet,e,t,H.player.officers);return H.currentPlanet.buildQueue.push(n),!0},Re=e=>{let t=Q.value[e];if(t<=0){q.value=U(`shipyardView.inputError`),J.value=U(`shipyardView.inputErrorMessage`),K.value=!0;return}Le(e,t)?Q.value[e]=0:(q.value=U(`shipyardView.buildFailed`),J.value=U(`shipyardView.buildFailedMessage`),K.value=!0)},ze=e=>{if(!G.value)return!1;let t=Q.value[e];if(t<=0)return!1;let n=W.value[e],r={metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t};return se(G.value,H.player.technologies,n.requirements)&&G.value.resources.metal>=r.metal&&G.value.resources.crystal>=r.crystal&&G.value.resources.deuterium>=r.deuterium&&G.value.resources.darkMatter>=r.darkMatter},$=e=>{let t=Q.value[e],n=W.value[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t}};return(a,o)=>G.value?(m(),s(`div`,I,[f(F,{"required-building":r(le).Shipyard,"required-level":1},null,8,[`required-building`]),u(`h1`,L,l(r(U)(`shipyardView.title`)),1),u(`div`,R,[u(`div`,z,[u(`div`,B,l(r(U)(`shipyardView.fleetStorage`))+`:`,1),u(`div`,me,[u(`span`,{class:h(X.value>Z.value?`text-destructive`:`text-primary`)},l(r(x)(X.value)),3),o[1]||=u(`span`,{class:`text-muted-foreground mx-1`},`/`,-1),u(`span`,null,l(r(x)(Z.value)),1)])]),u(`div`,he,[u(`div`,ge,[u(`div`,{class:h([`h-full transition-all duration-300`,X.value>Z.value?`bg-destructive`:`bg-primary`]),style:te({width:`${Math.min(X.value/Z.value*100,100)}%`})},null,6)])])]),u(`div`,_e,[(m(!0),s(i,null,p(Object.values(r(g)),a=>(m(),ee(r(b),{key:a,class:`relative`},{default:n(()=>[f(P,{requirements:r(W)[a].requirements},null,8,[`requirements`]),f(r(j),{class:`pb-3`},{default:n(()=>[f(r(fe),{class:`text-sm sm:text-base lg:text-lg cursor-pointer hover:text-primary transition-colors underline decoration-dotted underline-offset-4 mb-2`,onClick:e=>r(Ie).openShip(a)},{default:n(()=>[e(l(r(W)[a].name),1)]),_:2},1032,[`onClick`]),f(r(ce),{class:`text-xs sm:text-sm`},{default:n(()=>[e(l(r(W)[a].description),1)]),_:2},1024)]),_:2},1024),f(r(M),null,{default:n(()=>[u(`div`,V,[u(`div`,ve,[u(`div`,null,[u(`p`,ye,l(r(U)(`shipyardView.attack`)),1),u(`p`,be,l(r(W)[a].attack),1)]),u(`div`,null,[u(`p`,xe,l(r(U)(`shipyardView.shield`)),1),u(`p`,Se,l(r(W)[a].shield),1)]),u(`div`,null,[u(`p`,Ce,l(r(U)(`shipyardView.speed`)),1),u(`p`,we,l(r(W)[a].speed),1)]),u(`div`,null,[u(`p`,Te,l(r(U)(`shipyardView.cargoCapacity`)),1),u(`p`,Ee,l(r(x)(r(W)[a].cargoCapacity)),1)])]),u(`div`,De,[u(`p`,Oe,l(r(U)(`shipyardView.unitCost`))+`:`,1),u(`div`,ke,[(m(),s(i,null,p(Y,e=>t(u(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[f(y,{type:e.key,size:`sm`},null,8,[`type`]),u(`span`,Ae,l(r(U)(`resources.${e.key}`))+`:`,1),u(`span`,{class:h([`font-medium text-xs sm:text-sm`,r(C)(G.value.resources[e.key],r(W)[a].cost[e.key])])},l(r(x)(r(W)[a].cost[e.key])),3)]),[[c,e.key!==`darkMatter`||r(W)[a].cost.darkMatter>0]])),64))])]),u(`div`,je,[f(r(S),{for:`quantity-${a}`,class:`text-xs sm:text-sm`},{default:n(()=>[e(l(r(U)(`shipyardView.buildQuantity`)),1)]),_:1},8,[`for`]),f(r(ue),{id:`quantity-${a}`,modelValue:Q.value[a],"onUpdate:modelValue":e=>Q.value[a]=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]),Q.value[a]>0?(m(),s(`div`,Me,[u(`p`,Ne,l(r(U)(`shipyardView.totalCost`))+`:`,1),u(`div`,Pe,[(m(),s(i,null,p(Y,e=>t(u(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2`},[f(y,{type:e.key,size:`sm`},null,8,[`type`]),u(`span`,Fe,l(r(U)(`resources.${e.key}`))+`:`,1),u(`span`,{class:h([`font-medium text-xs sm:text-sm`,r(C)(G.value.resources[e.key],$(a)[e.key])])},l(r(x)($(a)[e.key])),3)]),[[c,e.key!==`darkMatter`||$(a).darkMatter>0]])),64))])])):d(``,!0),f(r(de),{onClick:e=>Re(a),disabled:!ze(a),class:`w-full`},{default:n(()=>[e(l(r(U)(`shipyardView.build`)),1)]),_:1},8,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),f(r(A),{open:K.value,"onUpdate:open":o[0]||=e=>K.value=e},{default:n(()=>[f(r(k),null,{default:n(()=>[f(r(w),null,{default:n(()=>[f(r(O),null,{default:n(()=>[e(l(q.value),1)]),_:1}),f(r(E),{class:`whitespace-pre-line`},{default:n(()=>[e(l(J.value),1)]),_:1})]),_:1}),f(r(pe),null,{default:n(()=>[f(r(T),null,{default:n(()=>[e(l(r(U)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])])):d(``,!0)}});export{H as default}; \ No newline at end of file diff --git a/docs/assets/ShipyardView-CezaC9x_.js b/docs/assets/ShipyardView-CezaC9x_.js deleted file mode 100644 index 7f5000a..0000000 --- a/docs/assets/ShipyardView-CezaC9x_.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dn as r,Dt as i,Et as a,Jt as ee,Kt as o,Mt as s,N as c,Nt as l,On as u,Ot as d,Tn as f,c as p,hn as m,in as h,jt as g,kt as _,o as te,r as ne,s as re}from"./game-logic-CfBcTF_c.js";import"./vendor-pinia-DP9x75p8.js";import"./vendor-vue-router-CWDMmE-U.js";import"./vendor-crypto-Ce_BCn-h.js";import"./game-i18n-DEf7ySVe.js";import"./vendor-others-CUjrprN5.js";import"./vendor-reka-ui-CZQh7FLl.js";import"./vendor-utils-Dg-HLkEU.js";import"./vendor-vueuse-C7EbLx--.js";import"./vendor-icons-W6Ny__75.js";import{t as ie}from"./CardDescription-D2AN1hhX.js";import{m as v,u as ae}from"./game-config-D-D7cMgJ.js";import{I as oe,M as se,O as ce,P as le,_ as ue,c as y,l as b,o as x,r as S,s as C,t as w,u as T,w as E}from"./index-DWmvUlvu.js";import{t as D}from"./useGameConfig-B5wf1i8i.js";import{t as O}from"./AlertDialog-CiXBEnQ0.js";import{t as k}from"./CardUnlockOverlay-BA1LyGjd.js";import{t as A}from"./UnlockRequirement-c2kDZKZ0.js";var j={key:0,class:`container mx-auto p-4 sm:p-6`},M={class:`text-2xl sm:text-3xl font-bold mb-4 sm:mb-6`},N={class:`mb-4 sm:mb-6 p-3 sm:p-4 bg-muted/50 rounded-lg border`},P={class:`flex items-center justify-between`},F={class:`text-sm sm:text-base font-medium`},I={class:`text-sm sm:text-base font-bold`},L={class:`mt-2`},R={class:`w-full bg-background rounded-full h-2.5 sm:h-3 overflow-hidden`},z={class:`grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4`},B={class:`space-y-3 sm:space-y-4`},V={class:`grid grid-cols-2 gap-2 text-xs sm:text-sm`},H={class:`text-muted-foreground`},U={class:`font-medium`},de={class:`text-muted-foreground`},fe={class:`font-medium`},pe={class:`text-muted-foreground`},me={class:`font-medium`},he={class:`text-muted-foreground`},ge={class:`font-medium`},_e={class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2`},ve={class:`text-muted-foreground mb-1 sm:mb-2`},ye={class:`space-y-1 sm:space-y-1.5`},be={class:`flex items-center gap-1.5 sm:gap-2`},xe={class:`text-xs`},Se={class:`flex items-center gap-1.5 sm:gap-2`},Ce={class:`text-xs`},we={class:`flex items-center gap-1.5 sm:gap-2`},Te={class:`text-xs`},Ee={class:`space-y-2`},De={key:0,class:`text-xs sm:text-sm space-y-1.5 sm:space-y-2 p-2.5 sm:p-3 bg-muted rounded-lg`},Oe={class:`font-medium text-muted-foreground`},ke={class:`space-y-1 sm:space-y-1.5`},Ae={class:`flex items-center gap-1.5 sm:gap-2`},je={class:`text-xs`},Me={class:`flex items-center gap-1.5 sm:gap-2`},Ne={class:`text-xs`},Pe={class:`flex items-center gap-1.5 sm:gap-2`},Fe={class:`text-xs`},W=l({__name:`ShipyardView`,setup(l){let W=oe(),G=ue(),{t:K}=le(),{SHIPS:q}=D(),J=a(()=>W.currentPlanet),Y=m(null),X=a(()=>J.value?re(J.value.fleet):0),Z=a(()=>J.value?p(J.value,W.player.technologies):0),Q=m({[v.LightFighter]:0,[v.HeavyFighter]:0,[v.Cruiser]:0,[v.Battleship]:0,[v.SmallCargo]:0,[v.LargeCargo]:0,[v.ColonyShip]:0,[v.Recycler]:0,[v.EspionageProbe]:0,[v.DarkMatterHarvester]:0,[v.Deathstar]:0}),Ie=(e,t)=>{if(!W.currentPlanet||!te(W.currentPlanet,e,t,W.player.technologies).valid)return!1;let n=ne(W.currentPlanet,e,t,W.player.officers);return W.currentPlanet.buildQueue.push(n),!0},Le=e=>{let t=Q.value[e];if(t<=0){Y.value?.show({title:K(`shipyardView.inputError`),message:K(`shipyardView.inputErrorMessage`)});return}Ie(e,t)?Q.value[e]=0:Y.value?.show({title:K(`shipyardView.buildFailed`),message:K(`shipyardView.buildFailedMessage`)})},Re=e=>{if(!J.value)return!1;let t=Q.value[e];if(t<=0)return!1;let n=q.value[e],r={metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t};return c(J.value,W.player.technologies,n.requirements)&&J.value.resources.metal>=r.metal&&J.value.resources.crystal>=r.crystal&&J.value.resources.deuterium>=r.deuterium},$=e=>{let t=Q.value[e],n=q.value[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t}};return(a,c)=>J.value?(o(),e(`div`,j,[s(A,{"required-building":t(ae).Shipyard,"required-level":1},null,8,[`required-building`]),i(`h1`,M,u(t(K)(`shipyardView.title`)),1),i(`div`,N,[i(`div`,P,[i(`div`,F,u(t(K)(`shipyardView.fleetStorage`))+`:`,1),i(`div`,I,[i(`span`,{class:f(X.value>Z.value?`text-destructive`:`text-primary`)},u(t(S)(X.value)),3),c[0]||=i(`span`,{class:`text-muted-foreground mx-1`},`/`,-1),i(`span`,null,u(t(S)(Z.value)),1)])]),i(`div`,L,[i(`div`,R,[i(`div`,{class:f([`h-full transition-all duration-300`,X.value>Z.value?`bg-destructive`:`bg-primary`]),style:r({width:`${Math.min(X.value/Z.value*100,100)}%`})},null,6)])])]),i(`div`,z,[(o(!0),e(n,null,ee(Object.values(t(v)),n=>(o(),d(t(T),{key:n,class:`relative`},{default:h(()=>[s(k,{requirements:t(q)[n].requirements},null,8,[`requirements`]),s(t(y),null,{default:h(()=>[s(t(C),{class:`text-base sm:text-lg cursor-pointer hover:text-primary transition-colors`,onClick:e=>t(G).openShip(n)},{default:h(()=>[g(u(t(q)[n].name),1)]),_:2},1032,[`onClick`]),s(t(ie),{class:`text-xs sm:text-sm`},{default:h(()=>[g(u(t(q)[n].description),1)]),_:2},1024)]),_:2},1024),s(t(b),null,{default:h(()=>[i(`div`,B,[i(`div`,V,[i(`div`,null,[i(`p`,H,u(t(K)(`shipyardView.attack`)),1),i(`p`,U,u(t(q)[n].attack),1)]),i(`div`,null,[i(`p`,de,u(t(K)(`shipyardView.shield`)),1),i(`p`,fe,u(t(q)[n].shield),1)]),i(`div`,null,[i(`p`,pe,u(t(K)(`shipyardView.speed`)),1),i(`p`,me,u(t(q)[n].speed),1)]),i(`div`,null,[i(`p`,he,u(t(K)(`shipyardView.cargoCapacity`)),1),i(`p`,ge,u(t(S)(t(q)[n].cargoCapacity)),1)])]),i(`div`,_e,[i(`p`,ve,u(t(K)(`shipyardView.unitCost`))+`:`,1),i(`div`,ye,[i(`div`,be,[s(E,{type:`metal`,size:`sm`}),i(`span`,xe,u(t(K)(`resources.metal`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.metal,t(q)[n].cost.metal)])},u(t(S)(t(q)[n].cost.metal)),3)]),i(`div`,Se,[s(E,{type:`crystal`,size:`sm`}),i(`span`,Ce,u(t(K)(`resources.crystal`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.crystal,t(q)[n].cost.crystal)])},u(t(S)(t(q)[n].cost.crystal)),3)]),i(`div`,we,[s(E,{type:`deuterium`,size:`sm`}),i(`span`,Te,u(t(K)(`resources.deuterium`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.deuterium,t(q)[n].cost.deuterium)])},u(t(S)(t(q)[n].cost.deuterium)),3)])])]),i(`div`,Ee,[s(t(w),{for:`quantity-${n}`,class:`text-xs sm:text-sm`},{default:h(()=>[g(u(t(K)(`shipyardView.buildQuantity`)),1)]),_:1},8,[`for`]),s(t(ce),{id:`quantity-${n}`,modelValue:Q.value[n],"onUpdate:modelValue":e=>Q.value[n]=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`0`,class:`text-sm`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]),Q.value[n]>0?(o(),e(`div`,De,[i(`p`,Oe,u(t(K)(`shipyardView.totalCost`))+`:`,1),i(`div`,ke,[i(`div`,Ae,[s(E,{type:`metal`,size:`sm`}),i(`span`,je,u(t(K)(`resources.metal`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.metal,$(n).metal)])},u(t(S)($(n).metal)),3)]),i(`div`,Me,[s(E,{type:`crystal`,size:`sm`}),i(`span`,Ne,u(t(K)(`resources.crystal`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.crystal,$(n).crystal)])},u(t(S)($(n).crystal)),3)]),i(`div`,Pe,[s(E,{type:`deuterium`,size:`sm`}),i(`span`,Fe,u(t(K)(`resources.deuterium`))+`:`,1),i(`span`,{class:f([`font-medium text-xs sm:text-sm`,t(x)(J.value.resources.deuterium,$(n).deuterium)])},u(t(S)($(n).deuterium)),3)])])])):_(``,!0),s(t(se),{onClick:e=>Le(n),disabled:!Re(n),class:`w-full`},{default:h(()=>[g(u(t(K)(`shipyardView.build`)),1)]),_:1},8,[`onClick`,`disabled`])])]),_:2},1024)]),_:2},1024))),128))]),s(O,{ref_key:`alertDialog`,ref:Y},null,512)])):_(``,!0)}});export{W as default}; \ No newline at end of file diff --git a/docs/assets/TabsTrigger-DrosU7aN.js b/docs/assets/TabsTrigger-DrosU7aN.js new file mode 100644 index 0000000..4190b14 --- /dev/null +++ b/docs/assets/TabsTrigger-DrosU7aN.js @@ -0,0 +1 @@ +import{En as e,Gn as t,Jn as n,Xt as r,_n as i,ln as a,mn as o,rn as s,tn as c}from"./game-logic-Bi1l7y4K.js";import{c as l}from"./vendor-others-DTUzJ7S-.js";import{$ as u,c as d,et as f,l as p,s as m,u as h}from"./vendor-reka-ui-BEHIKScj.js";import{G as g}from"./index-BT5w6et-.js";var _=c({__name:`Tabs`,props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`update:modelValue`],setup(c,{emit:d}){let f=c,p=d,m=u(l(f,`class`),p);return(c,l)=>(o(),r(t(h),a({"data-slot":`tabs`},t(m),{class:t(g)(`flex flex-col gap-2`,f.class)}),{default:e(e=>[i(c.$slots,`default`,n(s(e)))]),_:3},16,[`class`]))}}),v=c({__name:`TabsContent`,props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(n){let s=n,c=l(s,`class`);return(n,l)=>(o(),r(t(p),a({"data-slot":`tabs-content`,class:t(g)(`flex-1 outline-none`,s.class)},t(c)),{default:e(()=>[i(n.$slots,`default`)]),_:3},16,[`class`]))}}),y=c({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{},tabCount:{}},setup(n){let s=n,c=l(s,`class`,`tabCount`);return(l,u)=>(o(),r(t(d),a({"data-slot":`tabs-list`},t(c),{class:t(g)(`bg-muted text-muted-foreground inline-flex w-fit items-center justify-center rounded-lg p-[3px]`,n.tabCount&&n.tabCount>3?n.tabCount>6?`h-[85px] sm:h-9`:`h-[65px] sm:h-9`:`h-9`,s.class)}),{default:e(()=>[i(l.$slots,`default`)]),_:3},16,[`class`]))}}),b=c({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(n){let s=n,c=f(l(s,`class`));return(n,l)=>(o(),r(t(m),a({"data-slot":`tabs-trigger`,class:t(g)(`inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all`,`text-muted-foreground hover:text-foreground`,`data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-md data-[state=active]:border-border`,`dark:data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-border dark:data-[state=active]:shadow-lg`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:outline-1`,`disabled:pointer-events-none disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,s.class)},t(c)),{default:e(()=>[i(n.$slots,`default`)]),_:3},16,[`class`]))}});export{_ as i,y as n,v as r,b as t}; \ No newline at end of file diff --git a/docs/assets/TooltipProvider-BAp4BAXy.js b/docs/assets/TooltipProvider-BAp4BAXy.js deleted file mode 100644 index 646b257..0000000 --- a/docs/assets/TooltipProvider-BAp4BAXy.js +++ /dev/null @@ -1 +0,0 @@ -import{Cn as e,En as t,Ft as n,Kt as r,Nt as i,Ot as a,Yt as o,in as s}from"./game-logic-CfBcTF_c.js";import{a as c}from"./vendor-reka-ui-CZQh7FLl.js";var l=i({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},setup(i){let l=i;return(i,u)=>(r(),a(e(c),t(n(l)),{default:s(()=>[o(i.$slots,`default`)]),_:3},16))}});export{l as t}; \ No newline at end of file diff --git a/docs/assets/TooltipProvider-BwjgS8_x.js b/docs/assets/TooltipProvider-BwjgS8_x.js new file mode 100644 index 0000000..4544a02 --- /dev/null +++ b/docs/assets/TooltipProvider-BwjgS8_x.js @@ -0,0 +1 @@ +import{En as e,Gn as t,Jn as n,Xt as r,_n as i,mn as a,rn as o,tn as s}from"./game-logic-Bi1l7y4K.js";import{a as c}from"./vendor-reka-ui-BEHIKScj.js";var l=s({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},setup(s){let l=s;return(s,u)=>(a(),r(t(c),n(o(l)),{default:e(()=>[i(s.$slots,`default`)]),_:3},16))}});export{l as t}; \ No newline at end of file diff --git a/docs/assets/UnlockRequirement-CoWPiUl8.js b/docs/assets/UnlockRequirement-CoWPiUl8.js new file mode 100644 index 0000000..0e0c17b --- /dev/null +++ b/docs/assets/UnlockRequirement-CoWPiUl8.js @@ -0,0 +1 @@ +import{$t as e,En as t,Gn as n,Jt as r,Qt as i,Xn as a,Yt as o,Zt as s,en as c,mn as l,tn as u}from"./game-logic-Bi1l7y4K.js";import{o as d}from"./vendor-vue-router-1sDnnIWZ.js";import{D as f,J as p}from"./vendor-icons-z9V6Jdbh.js";import{t as m}from"./CardDescription-BSLS07AU.js";import{H as h,K as g,W as _,_ as v,b as y,q as b,v as x,y as S}from"./index-BT5w6et-.js";import{t as C}from"./useGameConfig-b98LOtBY.js";var w={key:0,class:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center p-4`},T={class:`flex justify-center mb-4`},E={class:`rounded-full bg-muted p-4`},D={class:`p-4 bg-muted rounded-lg space-y-2`},O={class:`text-sm font-medium text-center`},k={class:`flex items-center justify-center gap-2`},A={class:`text-base sm:text-lg font-bold`},j={key:0,class:`text-xs text-center text-muted-foreground`},M={class:`flex gap-2`},N=u({__name:`UnlockRequirement`,props:{requiredBuilding:{},requiredLevel:{}},setup(u){let N=u,P=d(),F=b(),{t:I}=g(),{BUILDINGS:L}=C(),R=r(()=>L.value[N.requiredBuilding]?.name||N.requiredBuilding),z=r(()=>F.currentPlanet&&F.currentPlanet.buildings[N.requiredBuilding]||0),B=r(()=>z.value>=N.requiredLevel),V=()=>{P.push(`/buildings`)};return(r,d)=>B.value?s(``,!0):(l(),i(`div`,w,[c(n(y),{class:`max-w-md w-full`},{default:t(()=>[c(n(x),{class:`text-center`},{default:t(()=>[o(`div`,T,[o(`div`,E,[c(n(f),{size:48,class:`text-muted-foreground`})])]),c(n(v),{class:`text-xl sm:text-2xl`},{default:t(()=>[e(a(n(I)(`common.featureLocked`)),1)]),_:1}),c(n(m),{class:`text-sm sm:text-base`},{default:t(()=>[e(a(n(I)(`common.unlockRequired`)),1)]),_:1})]),_:1}),c(n(S),{class:`space-y-4`},{default:t(()=>[o(`div`,D,[o(`p`,O,a(n(I)(`common.requiredBuilding`))+`:`,1),o(`div`,k,[o(`span`,A,a(R.value),1),c(n(h),{variant:`default`},{default:t(()=>[e(`Lv `+a(u.requiredLevel),1)]),_:1})]),z.value===void 0?s(``,!0):(l(),i(`p`,j,a(n(I)(`common.currentLevel`))+`: Lv `+a(z.value),1))]),o(`div`,M,[c(n(_),{onClick:V,class:`flex-1`},{default:t(()=>[c(n(p),{size:16,class:`mr-2`}),e(` `+a(n(I)(`common.goToBuildings`)),1)]),_:1})])]),_:1})]),_:1})]))}});export{N as t}; \ No newline at end of file diff --git a/docs/assets/UnlockRequirement-c2kDZKZ0.js b/docs/assets/UnlockRequirement-c2kDZKZ0.js deleted file mode 100644 index d49d4d0..0000000 --- a/docs/assets/UnlockRequirement-c2kDZKZ0.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Dt as n,Et as r,Kt as i,Mt as a,Nt as o,On as s,in as c,jt as l,kt as u}from"./game-logic-CfBcTF_c.js";import{o as d}from"./vendor-vue-router-CWDMmE-U.js";import{D as f,G as p}from"./vendor-icons-W6Ny__75.js";import{t as m}from"./CardDescription-D2AN1hhX.js";import{A as h,I as g,M as _,P as v,c as y,l as b,s as x,u as S}from"./index-DWmvUlvu.js";import{t as C}from"./useGameConfig-B5wf1i8i.js";var w={key:0,class:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center p-4`},T={class:`flex justify-center mb-4`},E={class:`rounded-full bg-muted p-4`},D={class:`p-4 bg-muted rounded-lg space-y-2`},O={class:`text-sm font-medium text-center`},k={class:`flex items-center justify-center gap-2`},A={class:`text-base sm:text-lg font-bold`},j={key:0,class:`text-xs text-center text-muted-foreground`},M={class:`flex gap-2`},N=o({__name:`UnlockRequirement`,props:{requiredBuilding:{},requiredLevel:{}},setup(o){let N=o,P=d(),F=g(),{t:I}=v(),{BUILDINGS:L}=C(),R=r(()=>L.value[N.requiredBuilding]?.name||N.requiredBuilding),z=r(()=>F.currentPlanet&&F.currentPlanet.buildings[N.requiredBuilding]||0),B=r(()=>z.value>=N.requiredLevel),V=()=>{P.push(`/buildings`)};return(r,d)=>B.value?u(``,!0):(i(),e(`div`,w,[a(t(S),{class:`max-w-md w-full`},{default:c(()=>[a(t(y),{class:`text-center`},{default:c(()=>[n(`div`,T,[n(`div`,E,[a(t(f),{size:48,class:`text-muted-foreground`})])]),a(t(x),{class:`text-xl sm:text-2xl`},{default:c(()=>[l(s(t(I)(`common.featureLocked`)),1)]),_:1}),a(t(m),{class:`text-sm sm:text-base`},{default:c(()=>[l(s(t(I)(`common.unlockRequired`)),1)]),_:1})]),_:1}),a(t(b),{class:`space-y-4`},{default:c(()=>[n(`div`,D,[n(`p`,O,s(t(I)(`common.requiredBuilding`))+`:`,1),n(`div`,k,[n(`span`,A,s(R.value),1),a(t(h),{variant:`default`},{default:c(()=>[l(`Lv `+s(o.requiredLevel),1)]),_:1})]),z.value===void 0?u(``,!0):(i(),e(`p`,j,s(t(I)(`common.currentLevel`))+`: Lv `+s(z.value),1))]),n(`div`,M,[a(t(_),{onClick:V,class:`flex-1`},{default:c(()=>[a(t(p),{size:16,class:`mr-2`}),l(` `+s(t(I)(`common.goToBuildings`)),1)]),_:1})])]),_:1})]),_:1})]))}});export{N as t}; \ No newline at end of file diff --git a/docs/assets/battle.worker-CNO8oZzx.js b/docs/assets/battle.worker-CNO8oZzx.js deleted file mode 100644 index 6079c0b..0000000 --- a/docs/assets/battle.worker-CNO8oZzx.js +++ /dev/null @@ -1 +0,0 @@ -(function(){let e={MetalMine:`metalMine`,CrystalMine:`crystalMine`,DeuteriumSynthesizer:`deuteriumSynthesizer`,SolarPlant:`solarPlant`,RoboticsFactory:`roboticsFactory`,NaniteFactory:`naniteFactory`,Shipyard:`shipyard`,ResearchLab:`researchLab`,MetalStorage:`metalStorage`,CrystalStorage:`crystalStorage`,DeuteriumTank:`deuteriumTank`,DarkMatterCollector:`darkMatterCollector`,Terraformer:`terraformer`,LunarBase:`lunarBase`,SensorPhalanx:`sensorPhalanx`,JumpGate:`jumpGate`,PlanetDestroyerFactory:`planetDestroyerFactory`},t={EnergyTechnology:`energyTechnology`,LaserTechnology:`laserTechnology`,IonTechnology:`ionTechnology`,HyperspaceTechnology:`hyperspaceTechnology`,PlasmaTechnology:`plasmaTechnology`,ComputerTechnology:`computerTechnology`,CombustionDrive:`combustionDrive`,ImpulseDrive:`impulseDrive`,HyperspaceDrive:`hyperspaceDrive`,DarkMatterTechnology:`darkMatterTechnology`,TerraformingTechnology:`terraformingTechnology`,PlanetDestructionTech:`planetDestructionTech`},n={RocketLauncher:`rocketLauncher`,LightLaser:`lightLaser`,HeavyLaser:`heavyLaser`,GaussCannon:`gaussCannon`,IonCannon:`ionCannon`,PlasmaTurret:`plasmaTurret`,SmallShieldDome:`smallShieldDome`,LargeShieldDome:`largeShieldDome`,PlanetaryShield:`planetaryShield`},r={LightFighter:`lightFighter`,HeavyFighter:`heavyFighter`,Cruiser:`cruiser`,Battleship:`battleship`,SmallCargo:`smallCargo`,LargeCargo:`largeCargo`,ColonyShip:`colonyShip`,Recycler:`recycler`,EspionageProbe:`espionageProbe`,DarkMatterHarvester:`darkMatterHarvester`,Deathstar:`deathstar`},i={Commander:`commander`,Admiral:`admiral`,Engineer:`engineer`,Geologist:`geologist`,Technocrat:`technocrat`,DarkMatterSpecialist:`darkMatterSpecialist`};e.MetalMine,e.MetalMine,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.CrystalMine,e.CrystalMine,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.DeuteriumSynthesizer,e.DeuteriumSynthesizer,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.SolarPlant,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.RoboticsFactory,e.RoboticsFactory,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.ResearchLab,e.SolarPlant,e.ResearchLab,e.SolarPlant,e.MetalMine,e.CrystalMine,e.ResearchLab,e.NaniteFactory,e.NaniteFactory,e.NaniteFactory,e.RoboticsFactory,e.ResearchLab,e.Shipyard,t.ComputerTechnology,e.ResearchLab,e.Shipyard,t.ComputerTechnology,e.Shipyard,e.Shipyard,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.ResearchLab,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.RoboticsFactory,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.RoboticsFactory,e.NaniteFactory,t.EnergyTechnology,e.MetalStorage,e.MetalStorage,e.MetalMine,e.MetalMine,e.RoboticsFactory,e.MetalMine,e.RoboticsFactory,e.CrystalStorage,e.CrystalStorage,e.CrystalMine,e.CrystalMine,e.RoboticsFactory,e.CrystalMine,e.RoboticsFactory,e.DeuteriumTank,e.DeuteriumTank,e.DeuteriumSynthesizer,e.DeuteriumSynthesizer,e.RoboticsFactory,e.DeuteriumSynthesizer,e.RoboticsFactory,e.DarkMatterCollector,e.DarkMatterCollector,e.ResearchLab,t.DarkMatterTechnology,e.ResearchLab,t.DarkMatterTechnology,e.RoboticsFactory,e.ResearchLab,t.DarkMatterTechnology,e.NaniteFactory,e.Terraformer,e.Terraformer,e.ResearchLab,e.RoboticsFactory,t.TerraformingTechnology,e.ResearchLab,t.TerraformingTechnology,e.NaniteFactory,e.ResearchLab,t.TerraformingTechnology,e.NaniteFactory,e.LunarBase,e.LunarBase,e.RoboticsFactory,e.RoboticsFactory,e.NaniteFactory,e.SensorPhalanx,e.SensorPhalanx,e.LunarBase,e.LunarBase,t.ComputerTechnology,e.LunarBase,t.ComputerTechnology,e.NaniteFactory,e.JumpGate,e.JumpGate,e.LunarBase,t.HyperspaceTechnology,e.LunarBase,t.HyperspaceTechnology,e.NaniteFactory,e.PlanetDestroyerFactory,e.PlanetDestroyerFactory,e.Shipyard,e.RoboticsFactory,e.NaniteFactory,t.PlanetDestructionTech,e.Shipyard,e.NaniteFactory,t.PlanetDestructionTech,t.HyperspaceTechnology,t.EnergyTechnology,t.EnergyTechnology,e.ResearchLab,e.ResearchLab,e.SolarPlant,e.ResearchLab,e.SolarPlant,e.RoboticsFactory,e.ResearchLab,e.RoboticsFactory,e.NaniteFactory,t.LaserTechnology,t.LaserTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.IonTechnology,t.IonTechnology,e.ResearchLab,t.LaserTechnology,t.EnergyTechnology,e.ResearchLab,t.LaserTechnology,t.EnergyTechnology,e.ResearchLab,t.LaserTechnology,e.NaniteFactory,t.HyperspaceTechnology,t.HyperspaceTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.NaniteFactory,t.PlasmaTechnology,t.PlasmaTechnology,e.ResearchLab,t.EnergyTechnology,t.LaserTechnology,t.IonTechnology,e.ResearchLab,t.EnergyTechnology,t.IonTechnology,e.NaniteFactory,e.ResearchLab,t.EnergyTechnology,t.IonTechnology,e.NaniteFactory,t.ComputerTechnology,t.ComputerTechnology,e.ResearchLab,e.ResearchLab,e.ResearchLab,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,t.CombustionDrive,t.CombustionDrive,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.ImpulseDrive,t.ImpulseDrive,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.HyperspaceDrive,t.HyperspaceDrive,e.ResearchLab,t.HyperspaceTechnology,e.ResearchLab,t.HyperspaceTechnology,e.Shipyard,e.ResearchLab,t.HyperspaceTechnology,e.NaniteFactory,t.DarkMatterTechnology,t.DarkMatterTechnology,e.ResearchLab,t.HyperspaceTechnology,e.ResearchLab,t.HyperspaceTechnology,e.RoboticsFactory,t.EnergyTechnology,e.ResearchLab,t.HyperspaceTechnology,e.NaniteFactory,t.EnergyTechnology,t.TerraformingTechnology,t.TerraformingTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.RoboticsFactory,e.ResearchLab,t.EnergyTechnology,e.NaniteFactory,t.PlanetDestructionTech,t.PlanetDestructionTech,e.ResearchLab,t.HyperspaceTechnology,t.HyperspaceDrive,t.PlasmaTechnology,e.ResearchLab,t.HyperspaceTechnology,t.HyperspaceDrive,t.PlasmaTechnology,e.NaniteFactory;let a={[r.LightFighter]:{id:r.LightFighter,name:`轻型战斗机`,description:`基础战斗单位`,cost:{metal:3e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,cargoCapacity:50,attack:50,shield:10,armor:400,speed:12500,fuelConsumption:20,storageUsage:5,requirements:{[e.Shipyard]:1,[t.CombustionDrive]:1}},[r.HeavyFighter]:{id:r.HeavyFighter,name:`重型战斗机`,description:`强力战斗单位`,cost:{metal:6e3,crystal:4e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:100,attack:150,shield:25,armor:1e3,speed:1e4,fuelConsumption:75,storageUsage:10,requirements:{[e.Shipyard]:3,[t.ImpulseDrive]:2}},[r.Cruiser]:{id:r.Cruiser,name:`巡洋舰`,description:`中型战舰`,cost:{metal:2e4,crystal:7e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:800,attack:400,shield:50,armor:2700,speed:15e3,fuelConsumption:300,storageUsage:15,requirements:{[e.Shipyard]:5,[t.ImpulseDrive]:4,[t.IonTechnology]:2}},[r.Battleship]:{id:r.Battleship,name:`战列舰`,description:`重型战舰`,cost:{metal:45e3,crystal:15e3,deuterium:0,darkMatter:0,energy:0},buildTime:90,cargoCapacity:1500,attack:1e3,shield:200,armor:6e3,speed:1e4,fuelConsumption:500,storageUsage:25,requirements:{[e.Shipyard]:7,[t.HyperspaceDrive]:4}},[r.SmallCargo]:{id:r.SmallCargo,name:`小型运输船`,description:`运输资源`,cost:{metal:2e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:15,cargoCapacity:5e3,attack:5,shield:10,armor:400,speed:5e3,fuelConsumption:10,storageUsage:10,requirements:{[e.Shipyard]:2,[t.CombustionDrive]:2}},[r.LargeCargo]:{id:r.LargeCargo,name:`大型运输船`,description:`大量运输资源`,cost:{metal:6e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:25e3,attack:5,shield:25,armor:1200,speed:7500,fuelConsumption:50,storageUsage:20,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.ColonyShip]:{id:r.ColonyShip,name:`殖民船`,description:`建立新殖民地`,cost:{metal:1e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:7500,attack:50,shield:100,armor:3e3,speed:2500,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:4,[t.ImpulseDrive]:3}},[r.Recycler]:{id:r.Recycler,name:`回收船`,description:`回收废墟资源`,cost:{metal:1e4,crystal:6e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:2e4,attack:1,shield:10,armor:1600,speed:2e3,fuelConsumption:300,storageUsage:30,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.EspionageProbe]:{id:r.EspionageProbe,name:`间谍探测器`,description:`侦察敌方星球`,cost:{metal:0,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:5,cargoCapacity:5,attack:0,shield:0,armor:100,speed:1e8,fuelConsumption:1,storageUsage:2,requirements:{[e.Shipyard]:3,[t.CombustionDrive]:3}},[r.DarkMatterHarvester]:{id:r.DarkMatterHarvester,name:`暗物质采集船`,description:`专门用于采集暗物质的特殊飞船`,cost:{metal:1e5,crystal:15e4,deuterium:5e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:1e3,attack:10,shield:50,armor:2e3,speed:5e3,fuelConsumption:500,storageUsage:50,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.DarkMatterTechnology]:1}},[r.Deathstar]:{id:r.Deathstar,name:`死星`,description:`终极武器,能够摧毁整个行星`,cost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:0,energy:0},buildTime:600,cargoCapacity:1e6,attack:2e5,shield:5e4,armor:9e5,speed:100,fuelConsumption:1,storageUsage:100,requirements:{[e.PlanetDestroyerFactory]:10,[t.PlanetDestructionTech]:7,[t.HyperspaceDrive]:7}}},o={[n.RocketLauncher]:{id:n.RocketLauncher,name:`火箭发射器`,description:`基础防御设施`,cost:{metal:2e3,crystal:0,deuterium:0,darkMatter:0,energy:0},buildTime:10,attack:80,shield:20,armor:200,requirements:{[e.Shipyard]:1}},[n.LightLaser]:{id:n.LightLaser,name:`轻型激光炮`,description:`激光防御武器`,cost:{metal:1500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildTime:12,attack:100,shield:25,armor:200,requirements:{[e.Shipyard]:2,[t.LaserTechnology]:3}},[n.HeavyLaser]:{id:n.HeavyLaser,name:`重型激光炮`,description:`强力激光武器`,cost:{metal:6e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,attack:250,shield:100,armor:800,requirements:{[e.Shipyard]:4,[t.LaserTechnology]:6}},[n.GaussCannon]:{id:n.GaussCannon,name:`高斯炮`,description:`电磁加速武器`,cost:{metal:2e4,crystal:15e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:35,attack:1100,shield:200,armor:3500,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.IonCannon]:{id:n.IonCannon,name:`离子炮`,description:`离子武器系统`,cost:{metal:2e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:150,shield:500,armor:800,requirements:{[e.Shipyard]:4,[t.IonTechnology]:4}},[n.PlasmaTurret]:{id:n.PlasmaTurret,name:`等离子炮台`,description:`最强防御武器`,cost:{metal:5e4,crystal:5e4,deuterium:3e4,darkMatter:0,energy:0},buildTime:60,attack:3e3,shield:300,armor:1e4,requirements:{[e.Shipyard]:8,[t.PlasmaTechnology]:7}},[n.SmallShieldDome]:{id:n.SmallShieldDome,name:`小型护盾罩`,description:`保护星球的能量护盾`,cost:{metal:1e4,crystal:1e4,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:1,shield:2e3,armor:2e3,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:3}},[n.LargeShieldDome]:{id:n.LargeShieldDome,name:`大型护盾罩`,description:`强大的星球护盾`,cost:{metal:5e4,crystal:5e4,deuterium:0,darkMatter:0,energy:0},buildTime:60,attack:1,shield:1e4,armor:1e4,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.PlanetaryShield]:{id:n.PlanetaryShield,name:`行星护盾`,description:`保护行星免受毁灭攻击的超级护盾`,cost:{metal:2e6,crystal:2e6,deuterium:1e6,darkMatter:0,energy:0},buildTime:180,attack:1,shield:1e5,armor:1e5,requirements:{[e.Shipyard]:10,[t.EnergyTechnology]:10,[t.HyperspaceTechnology]:8}}};i.Commander,i.Commander,i.Admiral,i.Admiral,i.Engineer,i.Engineer,i.Geologist,i.Geologist,i.Technocrat,i.Technocrat,i.DarkMatterSpecialist,i.DarkMatterSpecialist;let s={SIMULATE_BATTLE:`SIMULATE_BATTLE`,CALCULATE_PLUNDER:`CALCULATE_PLUNDER`,CALCULATE_DEBRIS:`CALCULATE_DEBRIS`,SUCCESS:`SUCCESS`,ERROR:`ERROR`},c=(e,t=0,n=.1)=>Math.floor(e*(1+t*n)),l=(e,t=!1)=>{let n=[];if(e.ships){for(let[t,r]of Object.entries(e.ships))if(r>0){let i=a[t];n.push({type:t,count:r,attack:c(i.attack,e.weaponTech),shield:c(i.shield,e.shieldTech),armor:c(i.armor,e.armorTech)})}}if(t&&e.defense){for(let[t,r]of Object.entries(e.defense))if(r>0){let i=o[t];n.push({type:t,count:r,attack:c(i.attack,e.weaponTech),shield:c(i.shield,e.shieldTech),armor:c(i.armor,e.armorTech)})}}return n},u=(e,t)=>{let n=e.attack,r=t.shield,i=t.armor,a=0,o=0;if(n.01)return{destroyed:0,damagedShield:0};let s=n;if(s>r)s-=r,o=r;else return o=s,{destroyed:0,damagedShield:o};if(s>i)a=1;else{let e=s/i;Math.random(){let n={},i={},a={};for(let n of e)for(let e=0;e0){if(o.count-=s,Object.values(r).includes(o.type)){let e=o.type;i[e]=(i[e]||0)+s}else{let e=o.type;a[e]=(a[e]||0)+s}o.count<=0&&t.splice(e,1)}}for(let r of t)for(let t=0;t0){i.count-=a;let r=i.type;n[r]=(n[r]||0)+a,i.count<=0&&e.splice(t,1)}}let o=e.reduce((e,t)=>e+t.count*t.attack,0),s=t.reduce((e,t)=>e+t.count*t.attack,0);return{attackerLosses:n,defenderLosses:{fleet:i,defense:a},attackerRemainingPower:o,defenderRemainingPower:s}},f=(e,t,n=6)=>{let i=l(e,!1),a=l(t,!0),o={},s={},c={},u=[],f=0;for(let e=0;e0&&(p[e]=n,c[e]=t-n)}let m={};for(let e of i)e.count>0&&(m[e.type]=e.count);let h={},g={};for(let e of a)e.count>0&&(Object.values(r).includes(e.type)?h[e.type]=e.count:g[e.type]=e.count);for(let[e,t]of Object.entries(p))g[e]=(g[e]||0)+t;let _;return _=i.length===0&&a.length===0?`draw`:i.length===0?`defender`:a.length===0?`attacker`:`draw`,{winner:_,rounds:f,attackerLosses:o,defenderLosses:{fleet:s,defense:c},attackerRemaining:m,defenderRemaining:{fleet:h,defense:g},roundDetails:u}},p=(e,t)=>{let n=0;for(let[e,r]of Object.entries(t)){let t=a[e];n+=t.cargoCapacity*r}let r={metal:Math.floor(e.metal*.5),crystal:Math.floor(e.crystal*.5),deuterium:Math.floor(e.deuterium*.5),darkMatter:Math.floor(e.darkMatter*.5),energy:0},i=r.metal+r.crystal+r.deuterium+r.darkMatter;if(n>=i)return r;let o=n/i;return{metal:Math.floor(r.metal*o),crystal:Math.floor(r.crystal*o),deuterium:Math.floor(r.deuterium*o),darkMatter:Math.floor(r.darkMatter*o),energy:0}},m=(e,t)=>{let n=0,r=0;for(let[t,i]of Object.entries(e)){let e=a[t];n+=e.cost.metal*i*.3,r+=e.cost.crystal*i*.3}for(let[e,i]of Object.entries(t.fleet)){let t=a[e];n+=t.cost.metal*i*.3,r+=t.cost.crystal*i*.3}for(let[e,i]of Object.entries(t.defense)){let t=o[e];n+=t.cost.metal*i*.3,r+=t.cost.crystal*i*.3}return{metal:Math.floor(n),crystal:Math.floor(r),deuterium:0,darkMatter:0,energy:0}};self.onmessage=e=>{let{id:t,type:n,payload:r}=e.data;try{let e;switch(n){case s.SIMULATE_BATTLE:{let{attacker:t,defender:n,maxRounds:i=6}=r;e=f(t,n,i);break}case s.CALCULATE_PLUNDER:{let{defenderResources:t,attackerFleet:n}=r;e=p(t,n);break}case s.CALCULATE_DEBRIS:{let{attackerLosses:t,defenderLosses:n}=r;e=m(t,n);break}default:throw Error(`Unknown message type: ${n}`)}let i={id:t,type:s.SUCCESS,success:!0,data:e};self.postMessage(i)}catch(e){let n={id:t,type:s.ERROR,success:!1,error:e instanceof Error?e.message:String(e)};self.postMessage(n)}}})(); \ No newline at end of file diff --git a/docs/assets/battle.worker-D3kgZwcy.js b/docs/assets/battle.worker-D3kgZwcy.js new file mode 100644 index 0000000..4fc4550 --- /dev/null +++ b/docs/assets/battle.worker-D3kgZwcy.js @@ -0,0 +1 @@ +(function(){let e={MetalMine:`metalMine`,CrystalMine:`crystalMine`,DeuteriumSynthesizer:`deuteriumSynthesizer`,SolarPlant:`solarPlant`,FusionReactor:`fusionReactor`,RoboticsFactory:`roboticsFactory`,NaniteFactory:`naniteFactory`,Shipyard:`shipyard`,ResearchLab:`researchLab`,MetalStorage:`metalStorage`,CrystalStorage:`crystalStorage`,DeuteriumTank:`deuteriumTank`,DarkMatterCollector:`darkMatterCollector`,DarkMatterTank:`darkMatterTank`,MissileSilo:`missileSilo`,Terraformer:`terraformer`,LunarBase:`lunarBase`,SensorPhalanx:`sensorPhalanx`,JumpGate:`jumpGate`,PlanetDestroyerFactory:`planetDestroyerFactory`},t={EnergyTechnology:`energyTechnology`,LaserTechnology:`laserTechnology`,IonTechnology:`ionTechnology`,HyperspaceTechnology:`hyperspaceTechnology`,PlasmaTechnology:`plasmaTechnology`,ComputerTechnology:`computerTechnology`,EspionageTechnology:`espionageTechnology`,CombustionDrive:`combustionDrive`,ImpulseDrive:`impulseDrive`,HyperspaceDrive:`hyperspaceDrive`,WeaponsTechnology:`weaponsTechnology`,ShieldingTechnology:`shieldingTechnology`,ArmourTechnology:`armourTechnology`,Astrophysics:`astrophysics`,GravitonTechnology:`gravitonTechnology`,DarkMatterTechnology:`darkMatterTechnology`,TerraformingTechnology:`terraformingTechnology`,PlanetDestructionTech:`planetDestructionTech`},n={RocketLauncher:`rocketLauncher`,LightLaser:`lightLaser`,HeavyLaser:`heavyLaser`,GaussCannon:`gaussCannon`,IonCannon:`ionCannon`,PlasmaTurret:`plasmaTurret`,SmallShieldDome:`smallShieldDome`,LargeShieldDome:`largeShieldDome`,AntiBallisticMissile:`antiBallisticMissile`,InterplanetaryMissile:`interplanetaryMissile`,PlanetaryShield:`planetaryShield`},r={LightFighter:`lightFighter`,HeavyFighter:`heavyFighter`,Cruiser:`cruiser`,Battleship:`battleship`,Battlecruiser:`battlecruiser`,Bomber:`bomber`,Destroyer:`destroyer`,SmallCargo:`smallCargo`,LargeCargo:`largeCargo`,ColonyShip:`colonyShip`,Recycler:`recycler`,EspionageProbe:`espionageProbe`,SolarSatellite:`solarSatellite`,DarkMatterHarvester:`darkMatterHarvester`,Deathstar:`deathstar`},i={Commander:`commander`,Admiral:`admiral`,Engineer:`engineer`,Geologist:`geologist`,Technocrat:`technocrat`,DarkMatterSpecialist:`darkMatterSpecialist`};e.MetalMine,e.MetalMine,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.CrystalMine,e.CrystalMine,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.DeuteriumSynthesizer,e.DeuteriumSynthesizer,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.SolarPlant,e.SolarPlant,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.FusionReactor,e.FusionReactor,t.EnergyTechnology,e.DeuteriumSynthesizer,e.RoboticsFactory,t.EnergyTechnology,e.RoboticsFactory,t.EnergyTechnology,e.NaniteFactory,e.RoboticsFactory,e.RoboticsFactory,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.ResearchLab,e.SolarPlant,e.ResearchLab,e.SolarPlant,e.MetalMine,e.CrystalMine,e.NaniteFactory,e.NaniteFactory,e.RoboticsFactory,e.ResearchLab,e.Shipyard,t.ComputerTechnology,e.ResearchLab,e.Shipyard,t.ComputerTechnology,e.Shipyard,e.Shipyard,e.RoboticsFactory,e.RoboticsFactory,e.ResearchLab,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,e.ResearchLab,e.ResearchLab,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.RoboticsFactory,e.MetalMine,e.CrystalMine,e.DeuteriumSynthesizer,e.RoboticsFactory,e.NaniteFactory,t.EnergyTechnology,e.MetalStorage,e.MetalStorage,e.MetalMine,e.MetalMine,e.RoboticsFactory,e.MetalMine,e.RoboticsFactory,e.CrystalStorage,e.CrystalStorage,e.CrystalMine,e.CrystalMine,e.RoboticsFactory,e.CrystalMine,e.RoboticsFactory,e.DeuteriumTank,e.DeuteriumTank,e.DeuteriumSynthesizer,e.DeuteriumSynthesizer,e.RoboticsFactory,e.DeuteriumSynthesizer,e.RoboticsFactory,e.DarkMatterCollector,e.DarkMatterCollector,e.ResearchLab,t.DarkMatterTechnology,e.ResearchLab,t.DarkMatterTechnology,e.RoboticsFactory,e.ResearchLab,t.DarkMatterTechnology,e.NaniteFactory,e.DarkMatterTank,e.DarkMatterTank,e.DarkMatterCollector,t.DarkMatterTechnology,e.DarkMatterCollector,e.RoboticsFactory,e.DarkMatterCollector,e.RoboticsFactory,t.DarkMatterTechnology,e.MissileSilo,e.MissileSilo,e.Shipyard,e.Shipyard,t.ComputerTechnology,e.Shipyard,t.ComputerTechnology,e.NaniteFactory,e.Terraformer,e.Terraformer,e.ResearchLab,e.RoboticsFactory,t.TerraformingTechnology,e.ResearchLab,t.TerraformingTechnology,e.NaniteFactory,e.ResearchLab,t.TerraformingTechnology,e.NaniteFactory,e.LunarBase,e.LunarBase,e.RoboticsFactory,e.RoboticsFactory,e.NaniteFactory,e.SensorPhalanx,e.SensorPhalanx,e.LunarBase,e.LunarBase,t.ComputerTechnology,e.LunarBase,t.ComputerTechnology,e.NaniteFactory,e.JumpGate,e.JumpGate,e.LunarBase,t.HyperspaceTechnology,e.LunarBase,t.HyperspaceTechnology,e.NaniteFactory,e.PlanetDestroyerFactory,e.PlanetDestroyerFactory,e.Shipyard,e.RoboticsFactory,e.NaniteFactory,t.PlanetDestructionTech,e.Shipyard,e.NaniteFactory,t.PlanetDestructionTech,t.HyperspaceTechnology,t.EnergyTechnology,t.EnergyTechnology,e.ResearchLab,e.ResearchLab,e.SolarPlant,e.ResearchLab,e.SolarPlant,e.RoboticsFactory,e.ResearchLab,e.RoboticsFactory,e.NaniteFactory,t.LaserTechnology,t.LaserTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.IonTechnology,t.IonTechnology,e.ResearchLab,t.LaserTechnology,t.EnergyTechnology,e.ResearchLab,t.LaserTechnology,t.EnergyTechnology,e.ResearchLab,t.LaserTechnology,e.NaniteFactory,t.HyperspaceTechnology,t.HyperspaceTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.NaniteFactory,t.PlasmaTechnology,t.PlasmaTechnology,e.ResearchLab,t.EnergyTechnology,t.LaserTechnology,t.IonTechnology,e.ResearchLab,t.EnergyTechnology,t.IonTechnology,e.NaniteFactory,e.ResearchLab,t.EnergyTechnology,t.IonTechnology,e.NaniteFactory,t.ComputerTechnology,t.ComputerTechnology,e.ResearchLab,e.ResearchLab,e.ResearchLab,e.RoboticsFactory,e.ResearchLab,e.NaniteFactory,t.EspionageTechnology,t.EspionageTechnology,e.ResearchLab,e.ResearchLab,t.ComputerTechnology,e.ResearchLab,t.ComputerTechnology,t.WeaponsTechnology,t.WeaponsTechnology,e.ResearchLab,e.ResearchLab,e.Shipyard,e.ResearchLab,e.Shipyard,e.NaniteFactory,t.ShieldingTechnology,t.ShieldingTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.NaniteFactory,t.ArmourTechnology,t.ArmourTechnology,e.ResearchLab,e.ResearchLab,e.Shipyard,e.ResearchLab,e.Shipyard,e.NaniteFactory,t.Astrophysics,t.Astrophysics,e.ResearchLab,t.EspionageTechnology,t.ImpulseDrive,e.ResearchLab,t.EspionageTechnology,e.ResearchLab,t.HyperspaceTechnology,e.NaniteFactory,t.GravitonTechnology,t.GravitonTechnology,e.ResearchLab,t.CombustionDrive,t.CombustionDrive,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.ImpulseDrive,t.ImpulseDrive,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.Shipyard,e.ResearchLab,t.EnergyTechnology,e.Shipyard,t.HyperspaceDrive,t.HyperspaceDrive,e.ResearchLab,t.HyperspaceTechnology,e.ResearchLab,t.HyperspaceTechnology,e.Shipyard,e.ResearchLab,t.HyperspaceTechnology,e.NaniteFactory,t.DarkMatterTechnology,t.DarkMatterTechnology,e.ResearchLab,t.HyperspaceTechnology,e.ResearchLab,t.HyperspaceTechnology,e.RoboticsFactory,t.EnergyTechnology,e.ResearchLab,t.HyperspaceTechnology,e.NaniteFactory,t.EnergyTechnology,t.TerraformingTechnology,t.TerraformingTechnology,e.ResearchLab,t.EnergyTechnology,e.ResearchLab,t.EnergyTechnology,e.RoboticsFactory,e.ResearchLab,t.EnergyTechnology,e.NaniteFactory,t.PlanetDestructionTech,t.PlanetDestructionTech,e.ResearchLab,t.HyperspaceTechnology,t.HyperspaceDrive,t.PlasmaTechnology,e.ResearchLab,t.HyperspaceTechnology,t.HyperspaceDrive,t.PlasmaTechnology,e.NaniteFactory;let a={[r.LightFighter]:{id:r.LightFighter,name:`轻型战斗机`,description:`基础战斗单位`,cost:{metal:3e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,cargoCapacity:50,attack:50,shield:10,armor:400,speed:12500,fuelConsumption:20,storageUsage:5,requirements:{[e.Shipyard]:1,[t.CombustionDrive]:1}},[r.HeavyFighter]:{id:r.HeavyFighter,name:`重型战斗机`,description:`强力战斗单位`,cost:{metal:6e3,crystal:4e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:100,attack:150,shield:25,armor:1e3,speed:1e4,fuelConsumption:75,storageUsage:10,requirements:{[e.Shipyard]:3,[t.ImpulseDrive]:2}},[r.Cruiser]:{id:r.Cruiser,name:`巡洋舰`,description:`中型战舰`,cost:{metal:2e4,crystal:7e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:800,attack:400,shield:50,armor:2700,speed:15e3,fuelConsumption:300,storageUsage:15,requirements:{[e.Shipyard]:5,[t.ImpulseDrive]:4,[t.IonTechnology]:2}},[r.Battleship]:{id:r.Battleship,name:`战列舰`,description:`重型战舰`,cost:{metal:45e3,crystal:15e3,deuterium:0,darkMatter:0,energy:0},buildTime:90,cargoCapacity:1500,attack:1e3,shield:200,armor:6e3,speed:1e4,fuelConsumption:500,storageUsage:25,requirements:{[e.Shipyard]:7,[t.HyperspaceDrive]:4}},[r.Battlecruiser]:{id:r.Battlecruiser,name:`战列巡洋舰`,description:`快速强大的战斗舰船,擅长攻击战列舰`,cost:{metal:3e4,crystal:4e4,deuterium:15e3,darkMatter:0,energy:0},buildTime:70,cargoCapacity:750,attack:700,shield:400,armor:7e3,speed:1e4,fuelConsumption:250,storageUsage:20,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.HyperspaceTechnology]:5,[t.LaserTechnology]:12}},[r.Bomber]:{id:r.Bomber,name:`轰炸机`,description:`专门对付防御设施的轰炸舰`,cost:{metal:5e4,crystal:25e3,deuterium:15e3,darkMatter:0,energy:0},buildTime:100,cargoCapacity:500,attack:1e3,shield:500,armor:7500,speed:4e3,fuelConsumption:700,storageUsage:35,requirements:{[e.Shipyard]:8,[t.ImpulseDrive]:6,[t.PlasmaTechnology]:5}},[r.Destroyer]:{id:r.Destroyer,name:`驱逐舰`,description:`擅长摧毁大型舰船的猎杀者`,cost:{metal:6e4,crystal:5e4,deuterium:15e3,darkMatter:0,energy:0},buildTime:120,cargoCapacity:2e3,attack:2e3,shield:500,armor:11e3,speed:5e3,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:9,[t.HyperspaceDrive]:6,[t.HyperspaceTechnology]:5}},[r.SmallCargo]:{id:r.SmallCargo,name:`小型运输船`,description:`运输资源`,cost:{metal:2e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:15,cargoCapacity:5e3,attack:5,shield:10,armor:400,speed:5e3,fuelConsumption:10,storageUsage:10,requirements:{[e.Shipyard]:2,[t.CombustionDrive]:2}},[r.LargeCargo]:{id:r.LargeCargo,name:`大型运输船`,description:`大量运输资源`,cost:{metal:6e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:25e3,attack:5,shield:25,armor:1200,speed:7500,fuelConsumption:50,storageUsage:20,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.ColonyShip]:{id:r.ColonyShip,name:`殖民船`,description:`建立新殖民地`,cost:{metal:1e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:7500,attack:50,shield:100,armor:3e3,speed:2500,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:4,[t.ImpulseDrive]:3}},[r.Recycler]:{id:r.Recycler,name:`回收船`,description:`回收废墟资源`,cost:{metal:1e4,crystal:6e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:2e4,attack:1,shield:10,armor:1600,speed:2e3,fuelConsumption:300,storageUsage:30,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.EspionageProbe]:{id:r.EspionageProbe,name:`间谍探测器`,description:`侦察敌方星球`,cost:{metal:0,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:5,cargoCapacity:5,attack:0,shield:0,armor:100,speed:1e8,fuelConsumption:1,storageUsage:2,requirements:{[e.Shipyard]:3,[t.CombustionDrive]:3}},[r.SolarSatellite]:{id:r.SolarSatellite,name:`太阳能卫星`,description:`提供额外能源,每个产生50点能量`,cost:{metal:0,crystal:2e3,deuterium:500,darkMatter:0,energy:0},buildTime:10,cargoCapacity:0,attack:1,shield:1,armor:200,speed:0,fuelConsumption:0,storageUsage:1,requirements:{[e.Shipyard]:1}},[r.DarkMatterHarvester]:{id:r.DarkMatterHarvester,name:`暗物质采集船`,description:`专门用于采集暗物质的特殊飞船`,cost:{metal:1e5,crystal:15e4,deuterium:5e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:1e3,attack:10,shield:50,armor:2e3,speed:5e3,fuelConsumption:500,storageUsage:50,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.DarkMatterTechnology]:1}},[r.Deathstar]:{id:r.Deathstar,name:`死星`,description:`终极武器,能够摧毁整个行星`,cost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:5e4,energy:0},buildTime:600,cargoCapacity:1e6,attack:2e5,shield:5e4,armor:9e5,speed:100,fuelConsumption:1,storageUsage:100,requirements:{[e.PlanetDestroyerFactory]:10,[t.PlanetDestructionTech]:7,[t.HyperspaceDrive]:7}}},o={[n.RocketLauncher]:{id:n.RocketLauncher,name:`火箭发射器`,description:`基础防御设施`,cost:{metal:2e3,crystal:0,deuterium:0,darkMatter:0,energy:0},buildTime:10,attack:80,shield:20,armor:200,requirements:{[e.Shipyard]:1}},[n.LightLaser]:{id:n.LightLaser,name:`轻型激光炮`,description:`激光防御武器`,cost:{metal:1500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildTime:12,attack:100,shield:25,armor:200,requirements:{[e.Shipyard]:2,[t.LaserTechnology]:3}},[n.HeavyLaser]:{id:n.HeavyLaser,name:`重型激光炮`,description:`强力激光武器`,cost:{metal:6e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,attack:250,shield:100,armor:800,requirements:{[e.Shipyard]:4,[t.LaserTechnology]:6}},[n.GaussCannon]:{id:n.GaussCannon,name:`高斯炮`,description:`电磁加速武器`,cost:{metal:2e4,crystal:15e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:35,attack:1100,shield:200,armor:3500,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.IonCannon]:{id:n.IonCannon,name:`离子炮`,description:`离子武器系统`,cost:{metal:2e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:150,shield:500,armor:800,requirements:{[e.Shipyard]:4,[t.IonTechnology]:4}},[n.PlasmaTurret]:{id:n.PlasmaTurret,name:`等离子炮台`,description:`最强防御武器`,cost:{metal:5e4,crystal:5e4,deuterium:3e4,darkMatter:0,energy:0},buildTime:60,attack:3e3,shield:300,armor:1e4,requirements:{[e.Shipyard]:8,[t.PlasmaTechnology]:7}},[n.SmallShieldDome]:{id:n.SmallShieldDome,name:`小型护盾罩`,description:`保护星球的能量护盾`,cost:{metal:1e4,crystal:1e4,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:1,shield:2e3,armor:2e3,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:3}},[n.LargeShieldDome]:{id:n.LargeShieldDome,name:`大型护盾罩`,description:`强大的星球护盾`,cost:{metal:5e4,crystal:5e4,deuterium:0,darkMatter:0,energy:0},buildTime:60,attack:1,shield:1e4,armor:1e4,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.PlanetaryShield]:{id:n.PlanetaryShield,name:`行星护盾`,description:`保护行星免受毁灭攻击的超级护盾`,cost:{metal:2e6,crystal:2e6,deuterium:1e6,darkMatter:5e4,energy:0},buildTime:180,attack:1,shield:1e5,armor:1e5,requirements:{[e.Shipyard]:10,[t.EnergyTechnology]:10,[t.HyperspaceTechnology]:8}},[n.AntiBallisticMissile]:{id:n.AntiBallisticMissile,name:`反弹道导弹`,description:`拦截敌方导弹,每个可拦截1枚星际导弹`,cost:{metal:8e3,crystal:0,deuterium:2e3,darkMatter:0,energy:0},buildTime:20,attack:1,shield:1,armor:800,requirements:{[e.MissileSilo]:2}},[n.InterplanetaryMissile]:{id:n.InterplanetaryMissile,name:`星际导弹`,description:`可以攻击其他星球的防御设施,射程取决于脉冲引擎等级`,cost:{metal:12500,crystal:2500,deuterium:1e4,darkMatter:0,energy:0},buildTime:30,attack:12e3,shield:1,armor:1500,requirements:{[e.MissileSilo]:4,[t.ImpulseDrive]:1}}};i.Commander,i.Commander,i.Admiral,i.Admiral,i.Engineer,i.Engineer,i.Geologist,i.Geologist,i.Technocrat,i.Technocrat,i.DarkMatterSpecialist,i.DarkMatterSpecialist;let s={SIMULATE_BATTLE:`SIMULATE_BATTLE`,CALCULATE_PLUNDER:`CALCULATE_PLUNDER`,CALCULATE_DEBRIS:`CALCULATE_DEBRIS`,SUCCESS:`SUCCESS`,ERROR:`ERROR`},c=(e,t=0,n=.1)=>Math.floor(e*(1+t*n)),l=(e,t=!1)=>{let n=[];if(e.ships){for(let[t,r]of Object.entries(e.ships))if(r>0){let i=a[t];n.push({type:t,count:r,attack:c(i.attack,e.weaponTech),shield:c(i.shield,e.shieldTech),armor:c(i.armor,e.armorTech)})}}if(t&&e.defense){for(let[t,r]of Object.entries(e.defense))if(r>0){let i=o[t];n.push({type:t,count:r,attack:c(i.attack,e.weaponTech),shield:c(i.shield,e.shieldTech),armor:c(i.armor,e.armorTech)})}}return n},u=(e,t)=>{let n=e.attack,r=t.shield,i=t.armor,a=0,o=0;if(n.01)return{destroyed:0,damagedShield:0};let s=n;if(s>r)s-=r,o=r;else return o=s,{destroyed:0,damagedShield:o};if(s>i)a=1;else{let e=s/i;Math.random(){let n={},i={},a={};for(let n of e)for(let e=0;e0){if(o.count-=s,Object.values(r).includes(o.type)){let e=o.type;i[e]=(i[e]||0)+s}else{let e=o.type;a[e]=(a[e]||0)+s}o.count<=0&&t.splice(e,1)}}for(let r of t)for(let t=0;t0){i.count-=a;let r=i.type;n[r]=(n[r]||0)+a,i.count<=0&&e.splice(t,1)}}let o=e.reduce((e,t)=>e+t.count*t.attack,0),s=t.reduce((e,t)=>e+t.count*t.attack,0);return{attackerLosses:n,defenderLosses:{fleet:i,defense:a},attackerRemainingPower:o,defenderRemainingPower:s}},f=(e,t,n=6)=>{let i=l(e,!1),a=l(t,!0),o={},s={},c={},u=[],f=0;for(let e=0;e0&&(p[e]=n,c[e]=t-n)}let m={};for(let e of i)e.count>0&&(m[e.type]=e.count);let h={},g={};for(let e of a)e.count>0&&(Object.values(r).includes(e.type)?h[e.type]=e.count:g[e.type]=e.count);for(let[e,t]of Object.entries(p))g[e]=(g[e]||0)+t;let _;return _=i.length===0&&a.length===0?`draw`:i.length===0?`defender`:a.length===0?`attacker`:`draw`,{winner:_,rounds:f,attackerLosses:o,defenderLosses:{fleet:s,defense:c},attackerRemaining:m,defenderRemaining:{fleet:h,defense:g},roundDetails:u}},p=(e,t)=>{let n=0;for(let[e,r]of Object.entries(t)){let t=a[e];n+=t.cargoCapacity*r}let r={metal:Math.floor(e.metal*.5),crystal:Math.floor(e.crystal*.5),deuterium:Math.floor(e.deuterium*.5),darkMatter:Math.floor(e.darkMatter*.5),energy:0},i=r.metal+r.crystal+r.deuterium+r.darkMatter;if(n>=i)return r;let o=n/i;return{metal:Math.floor(r.metal*o),crystal:Math.floor(r.crystal*o),deuterium:Math.floor(r.deuterium*o),darkMatter:Math.floor(r.darkMatter*o),energy:0}},m=(e,t)=>{let n=0,r=0;for(let[t,i]of Object.entries(e)){let e=a[t];n+=e.cost.metal*i*.3,r+=e.cost.crystal*i*.3}for(let[e,i]of Object.entries(t.fleet)){let t=a[e];n+=t.cost.metal*i*.3,r+=t.cost.crystal*i*.3}for(let[e,i]of Object.entries(t.defense)){let t=o[e];n+=t.cost.metal*i*.3,r+=t.cost.crystal*i*.3}return{metal:Math.floor(n),crystal:Math.floor(r),deuterium:0,darkMatter:0,energy:0}};self.onmessage=e=>{let{id:t,type:n,payload:r}=e.data;try{let e;switch(n){case s.SIMULATE_BATTLE:{let{attacker:t,defender:n,maxRounds:i=6}=r;e=f(t,n,i);break}case s.CALCULATE_PLUNDER:{let{defenderResources:t,attackerFleet:n}=r;e=p(t,n);break}case s.CALCULATE_DEBRIS:{let{attackerLosses:t,defenderLosses:n}=r;e=m(t,n);break}default:throw Error(`Unknown message type: ${n}`)}let i={id:t,type:s.SUCCESS,success:!0,data:e};self.postMessage(i)}catch(e){let n={id:t,type:s.ERROR,success:!1,error:e instanceof Error?e.message:String(e)};self.postMessage(n)}}})(); \ No newline at end of file diff --git a/docs/assets/game-config-CG6z6nnH.js b/docs/assets/game-config-CG6z6nnH.js new file mode 100644 index 0000000..516d0ec --- /dev/null +++ b/docs/assets/game-config-CG6z6nnH.js @@ -0,0 +1 @@ +const e={MetalMine:`metalMine`,CrystalMine:`crystalMine`,DeuteriumSynthesizer:`deuteriumSynthesizer`,SolarPlant:`solarPlant`,FusionReactor:`fusionReactor`,RoboticsFactory:`roboticsFactory`,NaniteFactory:`naniteFactory`,Shipyard:`shipyard`,ResearchLab:`researchLab`,MetalStorage:`metalStorage`,CrystalStorage:`crystalStorage`,DeuteriumTank:`deuteriumTank`,DarkMatterCollector:`darkMatterCollector`,DarkMatterTank:`darkMatterTank`,MissileSilo:`missileSilo`,Terraformer:`terraformer`,LunarBase:`lunarBase`,SensorPhalanx:`sensorPhalanx`,JumpGate:`jumpGate`,PlanetDestroyerFactory:`planetDestroyerFactory`},t={EnergyTechnology:`energyTechnology`,LaserTechnology:`laserTechnology`,IonTechnology:`ionTechnology`,HyperspaceTechnology:`hyperspaceTechnology`,PlasmaTechnology:`plasmaTechnology`,ComputerTechnology:`computerTechnology`,EspionageTechnology:`espionageTechnology`,CombustionDrive:`combustionDrive`,ImpulseDrive:`impulseDrive`,HyperspaceDrive:`hyperspaceDrive`,WeaponsTechnology:`weaponsTechnology`,ShieldingTechnology:`shieldingTechnology`,ArmourTechnology:`armourTechnology`,Astrophysics:`astrophysics`,GravitonTechnology:`gravitonTechnology`,DarkMatterTechnology:`darkMatterTechnology`,TerraformingTechnology:`terraformingTechnology`,PlanetDestructionTech:`planetDestructionTech`},n={RocketLauncher:`rocketLauncher`,LightLaser:`lightLaser`,HeavyLaser:`heavyLaser`,GaussCannon:`gaussCannon`,IonCannon:`ionCannon`,PlasmaTurret:`plasmaTurret`,SmallShieldDome:`smallShieldDome`,LargeShieldDome:`largeShieldDome`,AntiBallisticMissile:`antiBallisticMissile`,InterplanetaryMissile:`interplanetaryMissile`,PlanetaryShield:`planetaryShield`},r={LightFighter:`lightFighter`,HeavyFighter:`heavyFighter`,Cruiser:`cruiser`,Battleship:`battleship`,Battlecruiser:`battlecruiser`,Bomber:`bomber`,Destroyer:`destroyer`,SmallCargo:`smallCargo`,LargeCargo:`largeCargo`,ColonyShip:`colonyShip`,Recycler:`recycler`,EspionageProbe:`espionageProbe`,SolarSatellite:`solarSatellite`,DarkMatterHarvester:`darkMatterHarvester`,Deathstar:`deathstar`},i={Attack:`attack`,Transport:`transport`,Colonize:`colonize`,Spy:`spy`,Deploy:`deploy`,Expedition:`expedition`,HarvestDarkMatter:`harvestDarkMatter`,Recycle:`recycle`,Destroy:`destroy`},a={Hostile:`hostile`,Neutral:`neutral`,Friendly:`friendly`},o={GiftResources:`giftResources`,Attack:`attack`,Spy:`spy`,StealDebris:`stealDebris`,AllyAttacked:`allyAttacked`},s={Commander:`commander`,Admiral:`admiral`,Engineer:`engineer`,Geologist:`geologist`,Technocrat:`technocrat`,DarkMatterSpecialist:`darkMatterSpecialist`},c={[e.MetalMine]:{id:e.MetalMine,name:`金属矿`,description:`开采金属资源`,baseCost:{metal:60,crystal:15,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:1,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.CrystalMine]:{id:e.CrystalMine,name:`晶体矿`,description:`开采晶体资源`,baseCost:{metal:48,crystal:24,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.6,spaceUsage:1,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.DeuteriumSynthesizer]:{id:e.DeuteriumSynthesizer,name:`重氢合成器`,description:`合成重氢资源`,baseCost:{metal:225,crystal:75,deuterium:0,darkMatter:0,energy:0},baseTime:20,costMultiplier:1.5,spaceUsage:2,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.SolarPlant]:{id:e.SolarPlant,name:`太阳能电站`,description:`提供能源`,baseCost:{metal:75,crystal:30,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:2,levelRequirements:{15:{[e.RoboticsFactory]:3},25:{[e.RoboticsFactory]:6,[e.ResearchLab]:5},35:{[e.NaniteFactory]:1,[e.ResearchLab]:10}}},[e.FusionReactor]:{id:e.FusionReactor,name:`核聚变反应堆`,description:`使用重氢产生大量能源`,baseCost:{metal:900,crystal:360,deuterium:180,darkMatter:0,energy:0},baseTime:30,costMultiplier:1.8,spaceUsage:4,requirements:{[t.EnergyTechnology]:3,[e.DeuteriumSynthesizer]:5},levelRequirements:{10:{[e.RoboticsFactory]:5,[t.EnergyTechnology]:6},20:{[e.RoboticsFactory]:8,[t.EnergyTechnology]:10,[e.NaniteFactory]:2}}},[e.RoboticsFactory]:{id:e.RoboticsFactory,name:`机器人工厂`,description:`加快建造速度`,baseCost:{metal:400,crystal:120,deuterium:200,darkMatter:0,energy:0},baseTime:40,costMultiplier:2,spaceUsage:4,requirements:{[e.MetalMine]:2,[e.CrystalMine]:2,[e.DeuteriumSynthesizer]:2},levelRequirements:{5:{[e.ResearchLab]:3,[e.SolarPlant]:8},8:{[e.ResearchLab]:6,[e.SolarPlant]:12,[e.MetalMine]:12,[e.CrystalMine]:12}}},[e.NaniteFactory]:{id:e.NaniteFactory,name:`纳米工厂`,description:`增加建造队列数量,每级+1队列`,baseCost:{metal:1e6,crystal:5e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:240,costMultiplier:2,spaceUsage:8,maxLevel:10,requirements:{[e.RoboticsFactory]:10},levelRequirements:{3:{[e.ResearchLab]:10,[e.Shipyard]:8,[t.ComputerTechnology]:8},5:{[e.ResearchLab]:12,[e.Shipyard]:10,[t.ComputerTechnology]:10}}},[e.Shipyard]:{id:e.Shipyard,name:`船坞`,description:`建造舰船`,baseCost:{metal:400,crystal:200,deuterium:100,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:5,fleetStorageBonus:1e3,requirements:{[e.RoboticsFactory]:2},levelRequirements:{8:{[e.RoboticsFactory]:5,[e.ResearchLab]:5},12:{[e.RoboticsFactory]:8,[e.ResearchLab]:8,[e.NaniteFactory]:2}}},[e.ResearchLab]:{id:e.ResearchLab,name:`研究实验室`,description:`研究科技`,baseCost:{metal:200,crystal:400,deuterium:200,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:3,requirements:{[e.MetalMine]:3,[e.CrystalMine]:3,[e.DeuteriumSynthesizer]:3},levelRequirements:{8:{[e.RoboticsFactory]:5,[e.MetalMine]:10,[e.CrystalMine]:10,[e.DeuteriumSynthesizer]:10},12:{[e.RoboticsFactory]:8,[e.NaniteFactory]:1,[t.EnergyTechnology]:5}}},[e.MetalStorage]:{id:e.MetalStorage,name:`金属仓库`,description:`增加金属存储上限`,baseCost:{metal:1e3,crystal:0,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.MetalMine]:2},levelRequirements:{8:{[e.MetalMine]:15,[e.RoboticsFactory]:3},12:{[e.MetalMine]:25,[e.RoboticsFactory]:6}}},[e.CrystalStorage]:{id:e.CrystalStorage,name:`晶体仓库`,description:`增加晶体存储上限`,baseCost:{metal:1e3,crystal:500,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.CrystalMine]:2},levelRequirements:{8:{[e.CrystalMine]:15,[e.RoboticsFactory]:3},12:{[e.CrystalMine]:25,[e.RoboticsFactory]:6}}},[e.DeuteriumTank]:{id:e.DeuteriumTank,name:`重氢罐`,description:`增加重氢存储上限`,baseCost:{metal:1e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.DeuteriumSynthesizer]:2},levelRequirements:{8:{[e.DeuteriumSynthesizer]:15,[e.RoboticsFactory]:3},12:{[e.DeuteriumSynthesizer]:25,[e.RoboticsFactory]:6}}},[e.DarkMatterCollector]:{id:e.DarkMatterCollector,name:`暗物质收集器`,description:`收集稀有的暗物质资源`,baseCost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:0,energy:0},baseTime:90,costMultiplier:2,spaceUsage:6,planetOnly:!0,requirements:{[e.ResearchLab]:5,[t.DarkMatterTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:8,[t.DarkMatterTechnology]:3,[e.RoboticsFactory]:8},8:{[e.ResearchLab]:10,[t.DarkMatterTechnology]:5,[e.NaniteFactory]:2}}},[e.DarkMatterTank]:{id:e.DarkMatterTank,name:`暗物质储罐`,description:`增加暗物质存储上限`,baseCost:{metal:1e4,crystal:1e4,deuterium:5e3,darkMatter:0,energy:0},baseTime:20,costMultiplier:2,spaceUsage:2,planetOnly:!0,requirements:{[e.DarkMatterCollector]:2,[t.DarkMatterTechnology]:1},levelRequirements:{8:{[e.DarkMatterCollector]:8,[e.RoboticsFactory]:3},12:{[e.DarkMatterCollector]:15,[e.RoboticsFactory]:6,[t.DarkMatterTechnology]:3}}},[e.MissileSilo]:{id:e.MissileSilo,name:`导弹发射井`,description:`存储和发射导弹,每级可存储10枚导弹`,baseCost:{metal:2e4,crystal:2e4,deuterium:1e3,darkMatter:0,energy:0},baseTime:45,costMultiplier:2,spaceUsage:5,maxLevel:10,requirements:{[e.Shipyard]:1},levelRequirements:{5:{[e.Shipyard]:5,[t.ComputerTechnology]:3},8:{[e.Shipyard]:8,[t.ComputerTechnology]:6,[e.NaniteFactory]:2}}},[e.Terraformer]:{id:e.Terraformer,name:`地形改造器`,description:`改造行星地形,每级增加5个可用空间`,baseCost:{metal:0,crystal:5e4,deuterium:1e5,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,spaceUsage:5,planetOnly:!0,requirements:{[e.ResearchLab]:10,[e.RoboticsFactory]:8,[t.TerraformingTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:12,[t.TerraformingTechnology]:3,[e.NaniteFactory]:1},8:{[e.ResearchLab]:14,[t.TerraformingTechnology]:5,[e.NaniteFactory]:3}}},[e.LunarBase]:{id:e.LunarBase,name:`月球基地`,description:`增加月球可用空间`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:45,costMultiplier:2,spaceUsage:0,moonOnly:!0,levelRequirements:{5:{[e.RoboticsFactory]:5},8:{[e.RoboticsFactory]:8,[e.NaniteFactory]:1}}},[e.SensorPhalanx]:{id:e.SensorPhalanx,name:`传感器阵列`,description:`侦测周围星系的舰队活动`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,spaceUsage:6,moonOnly:!0,requirements:{[e.LunarBase]:1},levelRequirements:{5:{[e.LunarBase]:5,[t.ComputerTechnology]:5},8:{[e.LunarBase]:8,[t.ComputerTechnology]:8,[e.NaniteFactory]:2}}},[e.JumpGate]:{id:e.JumpGate,name:`跳跃门`,description:`瞬间传送舰队到其他月球`,baseCost:{metal:2e6,crystal:4e6,deuterium:2e6,darkMatter:5e4,energy:0},baseTime:240,costMultiplier:2,spaceUsage:10,moonOnly:!0,maxLevel:5,requirements:{[e.LunarBase]:1,[t.HyperspaceTechnology]:7},levelRequirements:{3:{[e.LunarBase]:5,[t.HyperspaceTechnology]:10,[e.NaniteFactory]:3}}},[e.PlanetDestroyerFactory]:{id:e.PlanetDestroyerFactory,name:`行星毁灭者工厂`,description:`建造能够摧毁行星的终极武器`,baseCost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:1e5,energy:0},baseTime:300,costMultiplier:2,spaceUsage:15,planetOnly:!0,maxLevel:3,requirements:{[e.Shipyard]:12,[e.RoboticsFactory]:10,[e.NaniteFactory]:5,[t.PlanetDestructionTech]:1},levelRequirements:{3:{[e.Shipyard]:14,[e.NaniteFactory]:8,[t.PlanetDestructionTech]:3,[t.HyperspaceTechnology]:10}}}},l={[t.EnergyTechnology]:{id:t.EnergyTechnology,name:`能源技术`,description:`加快研究速度`,baseCost:{metal:0,crystal:800,deuterium:400,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,requirements:{[e.ResearchLab]:1},levelRequirements:{5:{[e.ResearchLab]:3,[e.SolarPlant]:10},8:{[e.ResearchLab]:5,[e.SolarPlant]:15,[e.RoboticsFactory]:3},12:{[e.ResearchLab]:8,[e.RoboticsFactory]:6,[e.NaniteFactory]:1}}},[t.LaserTechnology]:{id:t.LaserTechnology,name:`激光技术`,description:`开发激光武器`,baseCost:{metal:200,crystal:100,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:1,[t.EnergyTechnology]:2},levelRequirements:{6:{[e.ResearchLab]:5,[t.EnergyTechnology]:5,[e.Shipyard]:3},10:{[e.ResearchLab]:8,[t.EnergyTechnology]:8,[e.Shipyard]:6}}},[t.IonTechnology]:{id:t.IonTechnology,name:`离子技术`,description:`开发离子武器`,baseCost:{metal:1e3,crystal:300,deuterium:100,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:4,[t.LaserTechnology]:5,[t.EnergyTechnology]:4},levelRequirements:{5:{[e.ResearchLab]:8,[t.LaserTechnology]:10,[t.EnergyTechnology]:8},8:{[e.ResearchLab]:10,[t.LaserTechnology]:12,[e.NaniteFactory]:2}}},[t.HyperspaceTechnology]:{id:t.HyperspaceTechnology,name:`超空间技术`,description:`研究超空间跳跃`,baseCost:{metal:0,crystal:4e3,deuterium:2e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:7,[t.EnergyTechnology]:5},levelRequirements:{5:{[e.ResearchLab]:10,[t.EnergyTechnology]:8,[e.Shipyard]:5},8:{[e.ResearchLab]:12,[t.EnergyTechnology]:10,[e.NaniteFactory]:2}}},[t.PlasmaTechnology]:{id:t.PlasmaTechnology,name:`等离子技术`,description:`开发等离子武器`,baseCost:{metal:2e3,crystal:4e3,deuterium:1e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:4,[t.EnergyTechnology]:8,[t.LaserTechnology]:10,[t.IonTechnology]:5},levelRequirements:{5:{[e.ResearchLab]:10,[t.EnergyTechnology]:12,[t.IonTechnology]:8,[e.NaniteFactory]:1},8:{[e.ResearchLab]:12,[t.EnergyTechnology]:15,[t.IonTechnology]:10,[e.NaniteFactory]:3}}},[t.ComputerTechnology]:{id:t.ComputerTechnology,name:`计算机技术`,description:`增加研究队列数量,每级+1队列`,baseCost:{metal:0,crystal:400,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,fleetStorageBonus:500,maxLevel:10,requirements:{[e.ResearchLab]:1},levelRequirements:{3:{[e.ResearchLab]:5},5:{[e.ResearchLab]:8,[e.RoboticsFactory]:5},8:{[e.ResearchLab]:10,[e.NaniteFactory]:2}}},[t.EspionageTechnology]:{id:t.EspionageTechnology,name:`间谍技术`,description:`提高间谍探测效果,每级提高1级侦查深度`,baseCost:{metal:200,crystal:1e3,deuterium:200,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:3},levelRequirements:{5:{[e.ResearchLab]:6,[t.ComputerTechnology]:3},8:{[e.ResearchLab]:8,[t.ComputerTechnology]:5}}},[t.WeaponsTechnology]:{id:t.WeaponsTechnology,name:`武器技术`,description:`提高舰船和防御的攻击力,每级+10%`,baseCost:{metal:800,crystal:200,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:4},levelRequirements:{5:{[e.ResearchLab]:7,[e.Shipyard]:4},10:{[e.ResearchLab]:10,[e.Shipyard]:8,[e.NaniteFactory]:2}}},[t.ShieldingTechnology]:{id:t.ShieldingTechnology,name:`护盾技术`,description:`提高舰船和防御的护盾值,每级+10%`,baseCost:{metal:200,crystal:600,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:6,[t.EnergyTechnology]:3},levelRequirements:{5:{[e.ResearchLab]:8,[t.EnergyTechnology]:6},10:{[e.ResearchLab]:10,[t.EnergyTechnology]:10,[e.NaniteFactory]:2}}},[t.ArmourTechnology]:{id:t.ArmourTechnology,name:`装甲技术`,description:`提高舰船和防御的装甲值,每级+10%`,baseCost:{metal:1e3,crystal:0,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:2},levelRequirements:{5:{[e.ResearchLab]:6,[e.Shipyard]:3},10:{[e.ResearchLab]:10,[e.Shipyard]:7,[e.NaniteFactory]:1}}},[t.Astrophysics]:{id:t.Astrophysics,name:`天体物理学`,description:`每级增加1个殖民地槽位,增加探险成功率`,baseCost:{metal:4e3,crystal:8e3,deuterium:4e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:1.75,requirements:{[e.ResearchLab]:3,[t.EspionageTechnology]:4,[t.ImpulseDrive]:3},levelRequirements:{5:{[e.ResearchLab]:8,[t.EspionageTechnology]:8},10:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:5,[e.NaniteFactory]:3}}},[t.GravitonTechnology]:{id:t.GravitonTechnology,name:`引力技术`,description:`研究引力操纵,死星的必要技术`,baseCost:{metal:0,crystal:0,deuterium:0,darkMatter:3e5,energy:0},baseTime:0,costMultiplier:3,maxLevel:1,requirements:{[e.ResearchLab]:12}},[t.CombustionDrive]:{id:t.CombustionDrive,name:`燃烧引擎`,description:`基础推进系统`,baseCost:{metal:400,crystal:0,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:1,[t.EnergyTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:5,[t.EnergyTechnology]:3,[e.Shipyard]:2},8:{[e.ResearchLab]:8,[t.EnergyTechnology]:5,[e.Shipyard]:5}}},[t.ImpulseDrive]:{id:t.ImpulseDrive,name:`脉冲引擎`,description:`高级推进系统`,baseCost:{metal:2e3,crystal:4e3,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:2,[t.EnergyTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:6,[t.EnergyTechnology]:4,[e.Shipyard]:3},8:{[e.ResearchLab]:8,[t.EnergyTechnology]:6,[e.Shipyard]:6}}},[t.HyperspaceDrive]:{id:t.HyperspaceDrive,name:`超空间引擎`,description:`超空间推进系统`,baseCost:{metal:1e4,crystal:2e4,deuterium:6e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:7,[t.HyperspaceTechnology]:3},levelRequirements:{5:{[e.ResearchLab]:10,[t.HyperspaceTechnology]:6,[e.Shipyard]:8},8:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:8,[e.NaniteFactory]:3}}},[t.DarkMatterTechnology]:{id:t.DarkMatterTechnology,name:`暗物质技术`,description:`研究暗物质的性质和应用`,baseCost:{metal:1e5,crystal:2e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:180,costMultiplier:2,requirements:{[e.ResearchLab]:8,[t.HyperspaceTechnology]:5},levelRequirements:{3:{[e.ResearchLab]:10,[t.HyperspaceTechnology]:8,[e.RoboticsFactory]:10,[t.EnergyTechnology]:10},5:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:10,[e.NaniteFactory]:2,[t.EnergyTechnology]:12}}},[t.TerraformingTechnology]:{id:t.TerraformingTechnology,name:`地形改造技术`,description:`研究行星地形改造技术,每级为所有行星增加5个可用空间`,baseCost:{metal:0,crystal:2e4,deuterium:4e4,darkMatter:0,energy:0},baseTime:90,costMultiplier:2,requirements:{[e.ResearchLab]:8,[t.EnergyTechnology]:6},levelRequirements:{5:{[e.ResearchLab]:12,[t.EnergyTechnology]:10,[e.RoboticsFactory]:10},8:{[e.ResearchLab]:14,[t.EnergyTechnology]:12,[e.NaniteFactory]:3}}},[t.PlanetDestructionTech]:{id:t.PlanetDestructionTech,name:`行星毁灭技术`,description:`研究如何摧毁整个行星的恐怖技术`,baseCost:{metal:4e6,crystal:8e6,deuterium:4e6,darkMatter:2e5,energy:0},baseTime:300,costMultiplier:2,maxLevel:5,requirements:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:8,[t.HyperspaceDrive]:6,[t.PlasmaTechnology]:7},levelRequirements:{3:{[e.ResearchLab]:14,[t.HyperspaceTechnology]:12,[t.HyperspaceDrive]:10,[t.PlasmaTechnology]:10,[e.NaniteFactory]:5}}}},u={[r.LightFighter]:{id:r.LightFighter,name:`轻型战斗机`,description:`基础战斗单位`,cost:{metal:3e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,cargoCapacity:50,attack:50,shield:10,armor:400,speed:12500,fuelConsumption:20,storageUsage:5,requirements:{[e.Shipyard]:1,[t.CombustionDrive]:1}},[r.HeavyFighter]:{id:r.HeavyFighter,name:`重型战斗机`,description:`强力战斗单位`,cost:{metal:6e3,crystal:4e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:100,attack:150,shield:25,armor:1e3,speed:1e4,fuelConsumption:75,storageUsage:10,requirements:{[e.Shipyard]:3,[t.ImpulseDrive]:2}},[r.Cruiser]:{id:r.Cruiser,name:`巡洋舰`,description:`中型战舰`,cost:{metal:2e4,crystal:7e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:800,attack:400,shield:50,armor:2700,speed:15e3,fuelConsumption:300,storageUsage:15,requirements:{[e.Shipyard]:5,[t.ImpulseDrive]:4,[t.IonTechnology]:2}},[r.Battleship]:{id:r.Battleship,name:`战列舰`,description:`重型战舰`,cost:{metal:45e3,crystal:15e3,deuterium:0,darkMatter:0,energy:0},buildTime:90,cargoCapacity:1500,attack:1e3,shield:200,armor:6e3,speed:1e4,fuelConsumption:500,storageUsage:25,requirements:{[e.Shipyard]:7,[t.HyperspaceDrive]:4}},[r.Battlecruiser]:{id:r.Battlecruiser,name:`战列巡洋舰`,description:`快速强大的战斗舰船,擅长攻击战列舰`,cost:{metal:3e4,crystal:4e4,deuterium:15e3,darkMatter:0,energy:0},buildTime:70,cargoCapacity:750,attack:700,shield:400,armor:7e3,speed:1e4,fuelConsumption:250,storageUsage:20,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.HyperspaceTechnology]:5,[t.LaserTechnology]:12}},[r.Bomber]:{id:r.Bomber,name:`轰炸机`,description:`专门对付防御设施的轰炸舰`,cost:{metal:5e4,crystal:25e3,deuterium:15e3,darkMatter:0,energy:0},buildTime:100,cargoCapacity:500,attack:1e3,shield:500,armor:7500,speed:4e3,fuelConsumption:700,storageUsage:35,requirements:{[e.Shipyard]:8,[t.ImpulseDrive]:6,[t.PlasmaTechnology]:5}},[r.Destroyer]:{id:r.Destroyer,name:`驱逐舰`,description:`擅长摧毁大型舰船的猎杀者`,cost:{metal:6e4,crystal:5e4,deuterium:15e3,darkMatter:0,energy:0},buildTime:120,cargoCapacity:2e3,attack:2e3,shield:500,armor:11e3,speed:5e3,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:9,[t.HyperspaceDrive]:6,[t.HyperspaceTechnology]:5}},[r.SmallCargo]:{id:r.SmallCargo,name:`小型运输船`,description:`运输资源`,cost:{metal:2e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:15,cargoCapacity:5e3,attack:5,shield:10,armor:400,speed:5e3,fuelConsumption:10,storageUsage:10,requirements:{[e.Shipyard]:2,[t.CombustionDrive]:2}},[r.LargeCargo]:{id:r.LargeCargo,name:`大型运输船`,description:`大量运输资源`,cost:{metal:6e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:25e3,attack:5,shield:25,armor:1200,speed:7500,fuelConsumption:50,storageUsage:20,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.ColonyShip]:{id:r.ColonyShip,name:`殖民船`,description:`建立新殖民地`,cost:{metal:1e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:7500,attack:50,shield:100,armor:3e3,speed:2500,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:4,[t.ImpulseDrive]:3}},[r.Recycler]:{id:r.Recycler,name:`回收船`,description:`回收废墟资源`,cost:{metal:1e4,crystal:6e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:2e4,attack:1,shield:10,armor:1600,speed:2e3,fuelConsumption:300,storageUsage:30,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.EspionageProbe]:{id:r.EspionageProbe,name:`间谍探测器`,description:`侦察敌方星球`,cost:{metal:0,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:5,cargoCapacity:5,attack:0,shield:0,armor:100,speed:1e8,fuelConsumption:1,storageUsage:2,requirements:{[e.Shipyard]:3,[t.CombustionDrive]:3}},[r.SolarSatellite]:{id:r.SolarSatellite,name:`太阳能卫星`,description:`提供额外能源,每个产生50点能量`,cost:{metal:0,crystal:2e3,deuterium:500,darkMatter:0,energy:0},buildTime:10,cargoCapacity:0,attack:1,shield:1,armor:200,speed:0,fuelConsumption:0,storageUsage:1,requirements:{[e.Shipyard]:1}},[r.DarkMatterHarvester]:{id:r.DarkMatterHarvester,name:`暗物质采集船`,description:`专门用于采集暗物质的特殊飞船`,cost:{metal:1e5,crystal:15e4,deuterium:5e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:1e3,attack:10,shield:50,armor:2e3,speed:5e3,fuelConsumption:500,storageUsage:50,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.DarkMatterTechnology]:1}},[r.Deathstar]:{id:r.Deathstar,name:`死星`,description:`终极武器,能够摧毁整个行星`,cost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:5e4,energy:0},buildTime:600,cargoCapacity:1e6,attack:2e5,shield:5e4,armor:9e5,speed:100,fuelConsumption:1,storageUsage:100,requirements:{[e.PlanetDestroyerFactory]:10,[t.PlanetDestructionTech]:7,[t.HyperspaceDrive]:7}}},d={[n.RocketLauncher]:{id:n.RocketLauncher,name:`火箭发射器`,description:`基础防御设施`,cost:{metal:2e3,crystal:0,deuterium:0,darkMatter:0,energy:0},buildTime:10,attack:80,shield:20,armor:200,requirements:{[e.Shipyard]:1}},[n.LightLaser]:{id:n.LightLaser,name:`轻型激光炮`,description:`激光防御武器`,cost:{metal:1500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildTime:12,attack:100,shield:25,armor:200,requirements:{[e.Shipyard]:2,[t.LaserTechnology]:3}},[n.HeavyLaser]:{id:n.HeavyLaser,name:`重型激光炮`,description:`强力激光武器`,cost:{metal:6e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,attack:250,shield:100,armor:800,requirements:{[e.Shipyard]:4,[t.LaserTechnology]:6}},[n.GaussCannon]:{id:n.GaussCannon,name:`高斯炮`,description:`电磁加速武器`,cost:{metal:2e4,crystal:15e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:35,attack:1100,shield:200,armor:3500,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.IonCannon]:{id:n.IonCannon,name:`离子炮`,description:`离子武器系统`,cost:{metal:2e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:150,shield:500,armor:800,requirements:{[e.Shipyard]:4,[t.IonTechnology]:4}},[n.PlasmaTurret]:{id:n.PlasmaTurret,name:`等离子炮台`,description:`最强防御武器`,cost:{metal:5e4,crystal:5e4,deuterium:3e4,darkMatter:0,energy:0},buildTime:60,attack:3e3,shield:300,armor:1e4,requirements:{[e.Shipyard]:8,[t.PlasmaTechnology]:7}},[n.SmallShieldDome]:{id:n.SmallShieldDome,name:`小型护盾罩`,description:`保护星球的能量护盾`,cost:{metal:1e4,crystal:1e4,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:1,shield:2e3,armor:2e3,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:3}},[n.LargeShieldDome]:{id:n.LargeShieldDome,name:`大型护盾罩`,description:`强大的星球护盾`,cost:{metal:5e4,crystal:5e4,deuterium:0,darkMatter:0,energy:0},buildTime:60,attack:1,shield:1e4,armor:1e4,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.PlanetaryShield]:{id:n.PlanetaryShield,name:`行星护盾`,description:`保护行星免受毁灭攻击的超级护盾`,cost:{metal:2e6,crystal:2e6,deuterium:1e6,darkMatter:5e4,energy:0},buildTime:180,attack:1,shield:1e5,armor:1e5,requirements:{[e.Shipyard]:10,[t.EnergyTechnology]:10,[t.HyperspaceTechnology]:8}},[n.AntiBallisticMissile]:{id:n.AntiBallisticMissile,name:`反弹道导弹`,description:`拦截敌方导弹,每个可拦截1枚星际导弹`,cost:{metal:8e3,crystal:0,deuterium:2e3,darkMatter:0,energy:0},buildTime:20,attack:1,shield:1,armor:800,requirements:{[e.MissileSilo]:2}},[n.InterplanetaryMissile]:{id:n.InterplanetaryMissile,name:`星际导弹`,description:`可以攻击其他星球的防御设施,射程取决于脉冲引擎等级`,cost:{metal:12500,crystal:2500,deuterium:1e4,darkMatter:0,energy:0},buildTime:30,attack:12e3,shield:1,armor:1500,requirements:{[e.MissileSilo]:4,[t.ImpulseDrive]:1}}},f={[s.Commander]:{id:s.Commander,name:`指挥官`,description:`提升建筑速度和管理能力`,cost:{metal:0,crystal:5e4,deuterium:25e3,darkMatter:7e3,energy:0},weeklyMaintenance:{metal:0,crystal:5e3,deuterium:2500,darkMatter:900,energy:0},benefits:{buildingSpeedBonus:10,additionalBuildQueue:1,storageCapacityBonus:10}},[s.Admiral]:{id:s.Admiral,name:`上将`,description:`提升舰队作战能力`,cost:{metal:5e4,crystal:25e3,deuterium:0,darkMatter:7e3,energy:0},weeklyMaintenance:{metal:5e3,crystal:2500,deuterium:0,darkMatter:900,energy:0},benefits:{additionalFleetSlots:2,fleetSpeedBonus:10,fuelConsumptionReduction:10}},[s.Engineer]:{id:s.Engineer,name:`工程师`,description:`增强防御和能量系统`,cost:{metal:4e4,crystal:2e4,deuterium:1e4,darkMatter:7e3,energy:0},weeklyMaintenance:{metal:4e3,crystal:2e3,deuterium:1e3,darkMatter:900,energy:0},benefits:{defenseBonus:15,energyProductionBonus:10,buildingSpeedBonus:5}},[s.Geologist]:{id:s.Geologist,name:`地质学家`,description:`提高资源开采效率`,cost:{metal:3e4,crystal:3e4,deuterium:2e4,darkMatter:7e3,energy:0},weeklyMaintenance:{metal:3e3,crystal:3e3,deuterium:2e3,darkMatter:900,energy:0},benefits:{resourceProductionBonus:15,storageCapacityBonus:10}},[s.Technocrat]:{id:s.Technocrat,name:`技术专家`,description:`加快科技研究速度`,cost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:7e3,energy:0},weeklyMaintenance:{metal:2e3,crystal:4e3,deuterium:2e3,darkMatter:900,energy:0},benefits:{researchSpeedBonus:15}},[s.DarkMatterSpecialist]:{id:s.DarkMatterSpecialist,name:`暗物质专家`,description:`提升暗物质采集效率`,cost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:100,energy:0},weeklyMaintenance:{metal:5e3,crystal:1e4,deuterium:5e3,darkMatter:10,energy:0},benefits:{darkMatterProductionBonus:25}}},p={minDebrisField:1e5,baseChance:1,maxChance:20,chancePerDebris:1e5,baseSize:60,lunarBaseSpaceBonus:5},m={baseSize:200,terraformerSpaceBonus:5,terraformingTechSpaceBonus:3},h={baseStorage:1e3,shipyardBonus:1e3,computerTechBonus:500},g={MIN_REPUTATION:-100,MAX_REPUTATION:100,HOSTILE_THRESHOLD:-20,FRIENDLY_THRESHOLD:20,REPUTATION_CHANGES:{GIFT_BASE:0,GIFT_PER_1K_RESOURCES:2,GIFT_MIN_VALUE:500,GIFT_MAX_SINGLE:20,ATTACK:-15,ATTACK_WIN:-25,ATTACK_DESTROY_PLANET:-50,SPY_DETECTED:-5,SPY_UNDETECTED:-2,STEAL_DEBRIS:-10,DESTROY_FLEET:-3,HELP_ATTACK_ENEMY:15,LONG_PEACE_DECAY:1,TRADE:5,ALLY_ATTACKED:-10,ALLY_HELPED:5},NATURAL_DECAY:{ENABLED:!0,INTERVAL:168*3600,TOWARDS_NEUTRAL_RATE:2},BEHAVIOR_MODIFIERS:{HOSTILE_ATTACK_MULTIPLIER:2,HOSTILE_SPY_MULTIPLIER:1.5,FRIENDLY_ATTACK_PROBABILITY:0,FRIENDLY_SPY_PROBABILITY:.5,NEUTRAL_ATTACK_PROBABILITY:1,NEUTRAL_SPY_PROBABILITY:1},NPC_GIFT_CONFIG:{ENABLED:!0,MIN_REPUTATION:60,CHECK_INTERVAL:24*3600,GIFT_PROBABILITY:.05,GIFT_AMOUNT:{METAL:{min:1e3,max:5e3},CRYSTAL:{min:500,max:2500},DEUTERIUM:{min:200,max:1e3}}},GIFT_ACCEPTANCE_CONFIG:{NPC_REJECTION_BASE_PROBABILITY:.3,NPC_REJECTION_REPUTATION_MODIFIER:.01,MIN_REJECTION_PROBABILITY:.05,MAX_REJECTION_PROBABILITY:.8,GIFT_EXPIRATION_DAYS:7,REJECTION_REPUTATION_PENALTY:-5}},_={SIMULATE_BATTLE:`SIMULATE_BATTLE`,CALCULATE_PLUNDER:`CALCULATE_PLUNDER`,CALCULATE_DEBRIS:`CALCULATE_DEBRIS`,SUCCESS:`SUCCESS`,ERROR:`ERROR`};export{r as _,h as a,m as c,e as d,n as f,a as g,s as h,g as i,u as l,i as m,c as n,p as o,o as p,d as r,f as s,_ as t,l as u,t as v}; \ No newline at end of file diff --git a/docs/assets/game-config-D-D7cMgJ.js b/docs/assets/game-config-D-D7cMgJ.js deleted file mode 100644 index 7b2f1a3..0000000 --- a/docs/assets/game-config-D-D7cMgJ.js +++ /dev/null @@ -1 +0,0 @@ -const e={MetalMine:`metalMine`,CrystalMine:`crystalMine`,DeuteriumSynthesizer:`deuteriumSynthesizer`,SolarPlant:`solarPlant`,RoboticsFactory:`roboticsFactory`,NaniteFactory:`naniteFactory`,Shipyard:`shipyard`,ResearchLab:`researchLab`,MetalStorage:`metalStorage`,CrystalStorage:`crystalStorage`,DeuteriumTank:`deuteriumTank`,DarkMatterCollector:`darkMatterCollector`,Terraformer:`terraformer`,LunarBase:`lunarBase`,SensorPhalanx:`sensorPhalanx`,JumpGate:`jumpGate`,PlanetDestroyerFactory:`planetDestroyerFactory`},t={EnergyTechnology:`energyTechnology`,LaserTechnology:`laserTechnology`,IonTechnology:`ionTechnology`,HyperspaceTechnology:`hyperspaceTechnology`,PlasmaTechnology:`plasmaTechnology`,ComputerTechnology:`computerTechnology`,CombustionDrive:`combustionDrive`,ImpulseDrive:`impulseDrive`,HyperspaceDrive:`hyperspaceDrive`,DarkMatterTechnology:`darkMatterTechnology`,TerraformingTechnology:`terraformingTechnology`,PlanetDestructionTech:`planetDestructionTech`},n={RocketLauncher:`rocketLauncher`,LightLaser:`lightLaser`,HeavyLaser:`heavyLaser`,GaussCannon:`gaussCannon`,IonCannon:`ionCannon`,PlasmaTurret:`plasmaTurret`,SmallShieldDome:`smallShieldDome`,LargeShieldDome:`largeShieldDome`,PlanetaryShield:`planetaryShield`},r={LightFighter:`lightFighter`,HeavyFighter:`heavyFighter`,Cruiser:`cruiser`,Battleship:`battleship`,SmallCargo:`smallCargo`,LargeCargo:`largeCargo`,ColonyShip:`colonyShip`,Recycler:`recycler`,EspionageProbe:`espionageProbe`,DarkMatterHarvester:`darkMatterHarvester`,Deathstar:`deathstar`},i={Attack:`attack`,Transport:`transport`,Colonize:`colonize`,Spy:`spy`,Deploy:`deploy`,Expedition:`expedition`,HarvestDarkMatter:`harvestDarkMatter`,Recycle:`recycle`,Destroy:`destroy`},a={Commander:`commander`,Admiral:`admiral`,Engineer:`engineer`,Geologist:`geologist`,Technocrat:`technocrat`,DarkMatterSpecialist:`darkMatterSpecialist`},o={[e.MetalMine]:{id:e.MetalMine,name:`金属矿`,description:`开采金属资源`,baseCost:{metal:60,crystal:15,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:1,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.CrystalMine]:{id:e.CrystalMine,name:`晶体矿`,description:`开采晶体资源`,baseCost:{metal:48,crystal:24,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.6,spaceUsage:1,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.DeuteriumSynthesizer]:{id:e.DeuteriumSynthesizer,name:`重氢合成器`,description:`合成重氢资源`,baseCost:{metal:225,crystal:75,deuterium:0,darkMatter:0,energy:0},baseTime:20,costMultiplier:1.5,spaceUsage:2,planetOnly:!0,requirements:{[e.SolarPlant]:1},levelRequirements:{10:{[e.RoboticsFactory]:2},20:{[e.RoboticsFactory]:5,[e.ResearchLab]:3},30:{[e.NaniteFactory]:1,[e.ResearchLab]:8}}},[e.SolarPlant]:{id:e.SolarPlant,name:`太阳能电站`,description:`提供能源`,baseCost:{metal:75,crystal:30,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:2,levelRequirements:{15:{[e.RoboticsFactory]:3},25:{[e.RoboticsFactory]:6,[e.ResearchLab]:5},35:{[e.NaniteFactory]:1,[e.ResearchLab]:10}}},[e.RoboticsFactory]:{id:e.RoboticsFactory,name:`机器人工厂`,description:`加快建造速度`,baseCost:{metal:400,crystal:120,deuterium:200,darkMatter:0,energy:0},baseTime:40,costMultiplier:2,spaceUsage:4,requirements:{[e.MetalMine]:2,[e.CrystalMine]:2,[e.DeuteriumSynthesizer]:2},levelRequirements:{5:{[e.ResearchLab]:3,[e.SolarPlant]:8},8:{[e.ResearchLab]:6,[e.SolarPlant]:12,[e.MetalMine]:12,[e.CrystalMine]:12},10:{[e.ResearchLab]:8,[e.NaniteFactory]:1}}},[e.NaniteFactory]:{id:e.NaniteFactory,name:`纳米工厂`,description:`增加建造队列数量,每级+1队列`,baseCost:{metal:1e6,crystal:5e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:240,costMultiplier:2,spaceUsage:8,maxLevel:10,requirements:{[e.RoboticsFactory]:10},levelRequirements:{3:{[e.ResearchLab]:10,[e.Shipyard]:8,[t.ComputerTechnology]:8},5:{[e.ResearchLab]:12,[e.Shipyard]:10,[t.ComputerTechnology]:10}}},[e.Shipyard]:{id:e.Shipyard,name:`船坞`,description:`建造舰船`,baseCost:{metal:400,crystal:200,deuterium:100,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:5,fleetStorageBonus:1e3,requirements:{[e.RoboticsFactory]:2},levelRequirements:{8:{[e.RoboticsFactory]:5,[e.ResearchLab]:5},12:{[e.RoboticsFactory]:8,[e.ResearchLab]:8,[e.NaniteFactory]:2}}},[e.ResearchLab]:{id:e.ResearchLab,name:`研究实验室`,description:`研究科技`,baseCost:{metal:200,crystal:400,deuterium:200,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:3,requirements:{[e.MetalMine]:3,[e.CrystalMine]:3,[e.DeuteriumSynthesizer]:3},levelRequirements:{8:{[e.RoboticsFactory]:5,[e.MetalMine]:10,[e.CrystalMine]:10,[e.DeuteriumSynthesizer]:10},12:{[e.RoboticsFactory]:8,[e.NaniteFactory]:1,[t.EnergyTechnology]:5}}},[e.MetalStorage]:{id:e.MetalStorage,name:`金属仓库`,description:`增加金属存储上限`,baseCost:{metal:1e3,crystal:0,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.MetalMine]:2},levelRequirements:{8:{[e.MetalMine]:15,[e.RoboticsFactory]:3},12:{[e.MetalMine]:25,[e.RoboticsFactory]:6}}},[e.CrystalStorage]:{id:e.CrystalStorage,name:`晶体仓库`,description:`增加晶体存储上限`,baseCost:{metal:1e3,crystal:500,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.CrystalMine]:2},levelRequirements:{8:{[e.CrystalMine]:15,[e.RoboticsFactory]:3},12:{[e.CrystalMine]:25,[e.RoboticsFactory]:6}}},[e.DeuteriumTank]:{id:e.DeuteriumTank,name:`重氢罐`,description:`增加重氢存储上限`,baseCost:{metal:1e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:1,requirements:{[e.DeuteriumSynthesizer]:2},levelRequirements:{8:{[e.DeuteriumSynthesizer]:15,[e.RoboticsFactory]:3},12:{[e.DeuteriumSynthesizer]:25,[e.RoboticsFactory]:6}}},[e.DarkMatterCollector]:{id:e.DarkMatterCollector,name:`暗物质收集器`,description:`收集稀有的暗物质资源`,baseCost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:0,energy:0},baseTime:90,costMultiplier:2,spaceUsage:6,planetOnly:!0,requirements:{[e.ResearchLab]:5,[t.DarkMatterTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:8,[t.DarkMatterTechnology]:3,[e.RoboticsFactory]:8},8:{[e.ResearchLab]:10,[t.DarkMatterTechnology]:5,[e.NaniteFactory]:2}}},[e.Terraformer]:{id:e.Terraformer,name:`地形改造器`,description:`改造行星地形,每级增加5个可用空间`,baseCost:{metal:0,crystal:5e4,deuterium:1e5,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,spaceUsage:5,planetOnly:!0,requirements:{[e.ResearchLab]:10,[e.RoboticsFactory]:8,[t.TerraformingTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:12,[t.TerraformingTechnology]:3,[e.NaniteFactory]:1},8:{[e.ResearchLab]:14,[t.TerraformingTechnology]:5,[e.NaniteFactory]:3}}},[e.LunarBase]:{id:e.LunarBase,name:`月球基地`,description:`增加月球可用空间`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:45,costMultiplier:2,spaceUsage:0,moonOnly:!0,levelRequirements:{5:{[e.RoboticsFactory]:5},8:{[e.RoboticsFactory]:8,[e.NaniteFactory]:1}}},[e.SensorPhalanx]:{id:e.SensorPhalanx,name:`传感器阵列`,description:`侦测周围星系的舰队活动`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,spaceUsage:6,moonOnly:!0,requirements:{[e.LunarBase]:1},levelRequirements:{5:{[e.LunarBase]:5,[t.ComputerTechnology]:5},8:{[e.LunarBase]:8,[t.ComputerTechnology]:8,[e.NaniteFactory]:2}}},[e.JumpGate]:{id:e.JumpGate,name:`跳跃门`,description:`瞬间传送舰队到其他月球`,baseCost:{metal:2e6,crystal:4e6,deuterium:2e6,darkMatter:0,energy:0},baseTime:240,costMultiplier:2,spaceUsage:10,moonOnly:!0,maxLevel:5,requirements:{[e.LunarBase]:1,[t.HyperspaceTechnology]:7},levelRequirements:{3:{[e.LunarBase]:5,[t.HyperspaceTechnology]:10,[e.NaniteFactory]:3}}},[e.PlanetDestroyerFactory]:{id:e.PlanetDestroyerFactory,name:`行星毁灭者工厂`,description:`建造能够摧毁行星的终极武器`,baseCost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:0,energy:0},baseTime:300,costMultiplier:2,spaceUsage:15,planetOnly:!0,maxLevel:3,requirements:{[e.Shipyard]:12,[e.RoboticsFactory]:10,[e.NaniteFactory]:5,[t.PlanetDestructionTech]:1},levelRequirements:{3:{[e.Shipyard]:14,[e.NaniteFactory]:8,[t.PlanetDestructionTech]:3,[t.HyperspaceTechnology]:10}}}},s={[t.EnergyTechnology]:{id:t.EnergyTechnology,name:`能源技术`,description:`提高能源利用效率`,baseCost:{metal:0,crystal:800,deuterium:400,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,requirements:{[e.ResearchLab]:1},levelRequirements:{5:{[e.ResearchLab]:3,[e.SolarPlant]:10},8:{[e.ResearchLab]:5,[e.SolarPlant]:15,[e.RoboticsFactory]:3},12:{[e.ResearchLab]:8,[e.RoboticsFactory]:6,[e.NaniteFactory]:1}}},[t.LaserTechnology]:{id:t.LaserTechnology,name:`激光技术`,description:`开发激光武器`,baseCost:{metal:200,crystal:100,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:1,[t.EnergyTechnology]:2},levelRequirements:{6:{[e.ResearchLab]:5,[t.EnergyTechnology]:5,[e.Shipyard]:3},10:{[e.ResearchLab]:8,[t.EnergyTechnology]:8,[e.Shipyard]:6}}},[t.IonTechnology]:{id:t.IonTechnology,name:`离子技术`,description:`开发离子武器`,baseCost:{metal:1e3,crystal:300,deuterium:100,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:4,[t.LaserTechnology]:5,[t.EnergyTechnology]:4},levelRequirements:{5:{[e.ResearchLab]:8,[t.LaserTechnology]:10,[t.EnergyTechnology]:8},8:{[e.ResearchLab]:10,[t.LaserTechnology]:12,[e.NaniteFactory]:2}}},[t.HyperspaceTechnology]:{id:t.HyperspaceTechnology,name:`超空间技术`,description:`研究超空间跳跃`,baseCost:{metal:0,crystal:4e3,deuterium:2e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:7,[t.EnergyTechnology]:5},levelRequirements:{5:{[e.ResearchLab]:10,[t.EnergyTechnology]:8,[e.Shipyard]:5},8:{[e.ResearchLab]:12,[t.EnergyTechnology]:10,[e.NaniteFactory]:2}}},[t.PlasmaTechnology]:{id:t.PlasmaTechnology,name:`等离子技术`,description:`开发等离子武器`,baseCost:{metal:2e3,crystal:4e3,deuterium:1e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:4,[t.EnergyTechnology]:8,[t.LaserTechnology]:10,[t.IonTechnology]:5},levelRequirements:{5:{[e.ResearchLab]:10,[t.EnergyTechnology]:12,[t.IonTechnology]:8,[e.NaniteFactory]:1},8:{[e.ResearchLab]:12,[t.EnergyTechnology]:15,[t.IonTechnology]:10,[e.NaniteFactory]:3}}},[t.ComputerTechnology]:{id:t.ComputerTechnology,name:`计算机技术`,description:`增加研究队列数量,每级+1队列`,baseCost:{metal:0,crystal:400,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,fleetStorageBonus:500,maxLevel:10,requirements:{[e.ResearchLab]:1},levelRequirements:{3:{[e.ResearchLab]:5},5:{[e.ResearchLab]:8,[e.RoboticsFactory]:5},8:{[e.ResearchLab]:10,[e.NaniteFactory]:2}}},[t.CombustionDrive]:{id:t.CombustionDrive,name:`燃烧引擎`,description:`基础推进系统`,baseCost:{metal:400,crystal:0,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:1,[t.EnergyTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:5,[t.EnergyTechnology]:3,[e.Shipyard]:2},8:{[e.ResearchLab]:8,[t.EnergyTechnology]:5,[e.Shipyard]:5}}},[t.ImpulseDrive]:{id:t.ImpulseDrive,name:`脉冲引擎`,description:`高级推进系统`,baseCost:{metal:2e3,crystal:4e3,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:2,[t.EnergyTechnology]:1},levelRequirements:{5:{[e.ResearchLab]:6,[t.EnergyTechnology]:4,[e.Shipyard]:3},8:{[e.ResearchLab]:8,[t.EnergyTechnology]:6,[e.Shipyard]:6}}},[t.HyperspaceDrive]:{id:t.HyperspaceDrive,name:`超空间引擎`,description:`超空间推进系统`,baseCost:{metal:1e4,crystal:2e4,deuterium:6e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[e.ResearchLab]:7,[t.HyperspaceTechnology]:3},levelRequirements:{5:{[e.ResearchLab]:10,[t.HyperspaceTechnology]:6,[e.Shipyard]:8},8:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:8,[e.NaniteFactory]:3}}},[t.DarkMatterTechnology]:{id:t.DarkMatterTechnology,name:`暗物质技术`,description:`研究暗物质的性质和应用`,baseCost:{metal:1e5,crystal:2e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:180,costMultiplier:2,requirements:{[e.ResearchLab]:8,[t.HyperspaceTechnology]:5},levelRequirements:{3:{[e.ResearchLab]:10,[t.HyperspaceTechnology]:8,[e.RoboticsFactory]:10,[t.EnergyTechnology]:10},5:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:10,[e.NaniteFactory]:2,[t.EnergyTechnology]:12}}},[t.TerraformingTechnology]:{id:t.TerraformingTechnology,name:`地形改造技术`,description:`研究行星地形改造技术,每级为所有行星增加5个可用空间`,baseCost:{metal:0,crystal:2e4,deuterium:4e4,darkMatter:0,energy:0},baseTime:90,costMultiplier:2,requirements:{[e.ResearchLab]:8,[t.EnergyTechnology]:6},levelRequirements:{5:{[e.ResearchLab]:12,[t.EnergyTechnology]:10,[e.RoboticsFactory]:10},8:{[e.ResearchLab]:14,[t.EnergyTechnology]:12,[e.NaniteFactory]:3}}},[t.PlanetDestructionTech]:{id:t.PlanetDestructionTech,name:`行星毁灭技术`,description:`研究如何摧毁整个行星的恐怖技术`,baseCost:{metal:4e6,crystal:8e6,deuterium:4e6,darkMatter:0,energy:0},baseTime:300,costMultiplier:2,maxLevel:5,requirements:{[e.ResearchLab]:12,[t.HyperspaceTechnology]:8,[t.HyperspaceDrive]:6,[t.PlasmaTechnology]:7},levelRequirements:{3:{[e.ResearchLab]:14,[t.HyperspaceTechnology]:12,[t.HyperspaceDrive]:10,[t.PlasmaTechnology]:10,[e.NaniteFactory]:5}}}},c={[r.LightFighter]:{id:r.LightFighter,name:`轻型战斗机`,description:`基础战斗单位`,cost:{metal:3e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,cargoCapacity:50,attack:50,shield:10,armor:400,speed:12500,fuelConsumption:20,storageUsage:5,requirements:{[e.Shipyard]:1,[t.CombustionDrive]:1}},[r.HeavyFighter]:{id:r.HeavyFighter,name:`重型战斗机`,description:`强力战斗单位`,cost:{metal:6e3,crystal:4e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:100,attack:150,shield:25,armor:1e3,speed:1e4,fuelConsumption:75,storageUsage:10,requirements:{[e.Shipyard]:3,[t.ImpulseDrive]:2}},[r.Cruiser]:{id:r.Cruiser,name:`巡洋舰`,description:`中型战舰`,cost:{metal:2e4,crystal:7e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:800,attack:400,shield:50,armor:2700,speed:15e3,fuelConsumption:300,storageUsage:15,requirements:{[e.Shipyard]:5,[t.ImpulseDrive]:4,[t.IonTechnology]:2}},[r.Battleship]:{id:r.Battleship,name:`战列舰`,description:`重型战舰`,cost:{metal:45e3,crystal:15e3,deuterium:0,darkMatter:0,energy:0},buildTime:90,cargoCapacity:1500,attack:1e3,shield:200,armor:6e3,speed:1e4,fuelConsumption:500,storageUsage:25,requirements:{[e.Shipyard]:7,[t.HyperspaceDrive]:4}},[r.SmallCargo]:{id:r.SmallCargo,name:`小型运输船`,description:`运输资源`,cost:{metal:2e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:15,cargoCapacity:5e3,attack:5,shield:10,armor:400,speed:5e3,fuelConsumption:10,storageUsage:10,requirements:{[e.Shipyard]:2,[t.CombustionDrive]:2}},[r.LargeCargo]:{id:r.LargeCargo,name:`大型运输船`,description:`大量运输资源`,cost:{metal:6e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:25e3,attack:5,shield:25,armor:1200,speed:7500,fuelConsumption:50,storageUsage:20,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.ColonyShip]:{id:r.ColonyShip,name:`殖民船`,description:`建立新殖民地`,cost:{metal:1e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:7500,attack:50,shield:100,armor:3e3,speed:2500,fuelConsumption:1e3,storageUsage:40,requirements:{[e.Shipyard]:4,[t.ImpulseDrive]:3}},[r.Recycler]:{id:r.Recycler,name:`回收船`,description:`回收废墟资源`,cost:{metal:1e4,crystal:6e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:2e4,attack:1,shield:10,armor:1600,speed:2e3,fuelConsumption:300,storageUsage:30,requirements:{[e.Shipyard]:4,[t.CombustionDrive]:6}},[r.EspionageProbe]:{id:r.EspionageProbe,name:`间谍探测器`,description:`侦察敌方星球`,cost:{metal:0,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:5,cargoCapacity:5,attack:0,shield:0,armor:100,speed:1e8,fuelConsumption:1,storageUsage:2,requirements:{[e.Shipyard]:3,[t.CombustionDrive]:3}},[r.DarkMatterHarvester]:{id:r.DarkMatterHarvester,name:`暗物质采集船`,description:`专门用于采集暗物质的特殊飞船`,cost:{metal:1e5,crystal:15e4,deuterium:5e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:1e3,attack:10,shield:50,armor:2e3,speed:5e3,fuelConsumption:500,storageUsage:50,requirements:{[e.Shipyard]:8,[t.HyperspaceDrive]:5,[t.DarkMatterTechnology]:1}},[r.Deathstar]:{id:r.Deathstar,name:`死星`,description:`终极武器,能够摧毁整个行星`,cost:{metal:5e6,crystal:4e6,deuterium:1e6,darkMatter:0,energy:0},buildTime:600,cargoCapacity:1e6,attack:2e5,shield:5e4,armor:9e5,speed:100,fuelConsumption:1,storageUsage:100,requirements:{[e.PlanetDestroyerFactory]:10,[t.PlanetDestructionTech]:7,[t.HyperspaceDrive]:7}}},l={[n.RocketLauncher]:{id:n.RocketLauncher,name:`火箭发射器`,description:`基础防御设施`,cost:{metal:2e3,crystal:0,deuterium:0,darkMatter:0,energy:0},buildTime:10,attack:80,shield:20,armor:200,requirements:{[e.Shipyard]:1}},[n.LightLaser]:{id:n.LightLaser,name:`轻型激光炮`,description:`激光防御武器`,cost:{metal:1500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildTime:12,attack:100,shield:25,armor:200,requirements:{[e.Shipyard]:2,[t.LaserTechnology]:3}},[n.HeavyLaser]:{id:n.HeavyLaser,name:`重型激光炮`,description:`强力激光武器`,cost:{metal:6e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,attack:250,shield:100,armor:800,requirements:{[e.Shipyard]:4,[t.LaserTechnology]:6}},[n.GaussCannon]:{id:n.GaussCannon,name:`高斯炮`,description:`电磁加速武器`,cost:{metal:2e4,crystal:15e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:35,attack:1100,shield:200,armor:3500,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.IonCannon]:{id:n.IonCannon,name:`离子炮`,description:`离子武器系统`,cost:{metal:2e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:150,shield:500,armor:800,requirements:{[e.Shipyard]:4,[t.IonTechnology]:4}},[n.PlasmaTurret]:{id:n.PlasmaTurret,name:`等离子炮台`,description:`最强防御武器`,cost:{metal:5e4,crystal:5e4,deuterium:3e4,darkMatter:0,energy:0},buildTime:60,attack:3e3,shield:300,armor:1e4,requirements:{[e.Shipyard]:8,[t.PlasmaTechnology]:7}},[n.SmallShieldDome]:{id:n.SmallShieldDome,name:`小型护盾罩`,description:`保护星球的能量护盾`,cost:{metal:1e4,crystal:1e4,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:1,shield:2e3,armor:2e3,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:3}},[n.LargeShieldDome]:{id:n.LargeShieldDome,name:`大型护盾罩`,description:`强大的星球护盾`,cost:{metal:5e4,crystal:5e4,deuterium:0,darkMatter:0,energy:0},buildTime:60,attack:1,shield:1e4,armor:1e4,requirements:{[e.Shipyard]:6,[t.EnergyTechnology]:6}},[n.PlanetaryShield]:{id:n.PlanetaryShield,name:`行星护盾`,description:`保护行星免受毁灭攻击的超级护盾`,cost:{metal:2e6,crystal:2e6,deuterium:1e6,darkMatter:0,energy:0},buildTime:180,attack:1,shield:1e5,armor:1e5,requirements:{[e.Shipyard]:10,[t.EnergyTechnology]:10,[t.HyperspaceTechnology]:8}}},u={[a.Commander]:{id:a.Commander,name:`指挥官`,description:`提升建筑速度和管理能力`,cost:{metal:0,crystal:5e4,deuterium:25e3,darkMatter:0,energy:0},weeklyMaintenance:{metal:0,crystal:5e3,deuterium:2500,darkMatter:0,energy:0},benefits:{buildingSpeedBonus:10,additionalBuildQueue:1,storageCapacityBonus:10}},[a.Admiral]:{id:a.Admiral,name:`上将`,description:`提升舰队作战能力`,cost:{metal:5e4,crystal:25e3,deuterium:0,darkMatter:0,energy:0},weeklyMaintenance:{metal:5e3,crystal:2500,deuterium:0,darkMatter:0,energy:0},benefits:{additionalFleetSlots:2,fleetSpeedBonus:10,fuelConsumptionReduction:10}},[a.Engineer]:{id:a.Engineer,name:`工程师`,description:`增强防御和能量系统`,cost:{metal:4e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:4e3,crystal:2e3,deuterium:1e3,darkMatter:0,energy:0},benefits:{defenseBonus:15,energyProductionBonus:10,buildingSpeedBonus:5}},[a.Geologist]:{id:a.Geologist,name:`地质学家`,description:`提高资源开采效率`,cost:{metal:3e4,crystal:3e4,deuterium:2e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:3e3,crystal:3e3,deuterium:2e3,darkMatter:0,energy:0},benefits:{resourceProductionBonus:15,storageCapacityBonus:10}},[a.Technocrat]:{id:a.Technocrat,name:`技术专家`,description:`加快科技研究速度`,cost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:2e3,crystal:4e3,deuterium:2e3,darkMatter:0,energy:0},benefits:{researchSpeedBonus:15}},[a.DarkMatterSpecialist]:{id:a.DarkMatterSpecialist,name:`暗物质专家`,description:`提升暗物质采集效率`,cost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:100,energy:0},weeklyMaintenance:{metal:5e3,crystal:1e4,deuterium:5e3,darkMatter:10,energy:0},benefits:{darkMatterProductionBonus:25}}},d={minDebrisField:1e5,baseChance:1,maxChance:20,chancePerDebris:1e5,baseSize:60,lunarBaseSpaceBonus:5},f={baseSize:200,terraformerSpaceBonus:5,terraformingTechSpaceBonus:3},p={baseStorage:1e3,shipyardBonus:1e3,computerTechBonus:500},m={SIMULATE_BATTLE:`SIMULATE_BATTLE`,CALCULATE_PLUNDER:`CALCULATE_PLUNDER`,CALCULATE_DEBRIS:`CALCULATE_DEBRIS`,SUCCESS:`SUCCESS`,ERROR:`ERROR`};export{d as a,c,n as d,i as f,t as h,p as i,s as l,r as m,o as n,u as o,a as p,l as r,f as s,m as t,e as u}; \ No newline at end of file diff --git a/docs/assets/game-i18n-DEf7ySVe.js b/docs/assets/game-i18n-DEf7ySVe.js deleted file mode 100644 index 071f1f2..0000000 --- a/docs/assets/game-i18n-DEf7ySVe.js +++ /dev/null @@ -1,57 +0,0 @@ -var e={common:{confirm:`确认`,cancel:`取消`,delete:`删除`,edit:`编辑`,save:`保存`,close:`关闭`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜索`,filter:`筛选`,loading:`加载中...`,noData:`暂无数据`,error:`错误`,success:`成功`,warning:`警告`,info:`信息`,resourceType:`资源类型`,playerName:`指挥官`,timeHour:`时`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已锁定`,unlockRequired:`需要解锁前置建筑`,requiredBuilding:`所需建筑`,currentLevel:`当前等级`,goToBuildings:`前往建筑页面`,locked:`已锁定`,viewRequirements:`查看前置条件`,requirementsNotMet:`前置条件未满足`,current:`当前`,level:`等级`},errors:{requirementsNotMet:`不满足前置条件`,insufficientResources:`资源不足`,insufficientFleetStorage:`舰队仓储空间不足`,shieldDomeLimit:`护盾罩数量限制`,fleetMissionsFull:`舰队任务槽位已满`,insufficientFleet:`舰队数量不足`,insufficientFuel:`燃料不足`,planetOnly:`该建筑只能在行星上建造`,moonOnly:`该建筑只能在月球上建造`,buildQueueFull:`建造队列已满`,insufficientSpace:`空间不足`,buildingLevelZero:`建筑等级为0,无法拆除`,researchQueueFull:`研究队列已满`,moonExists:`已存在月球`,insufficientDebris:`残骸场不足`},nav:{overview:`总览`,buildings:`建筑`,research:`研究`,shipyard:`船坞`,defense:`防御`,fleet:`舰队`,officers:`军官`,simulator:`模拟`,galaxy:`星系`,messages:`消息`,settings:`设置`,gm:`GM`},sidebar:{language:`语言`,lightMode:`日间模式`,darkMode:`夜间模式`,collapse:`收起菜单`,expand:`展开菜单`},resources:{metal:`金属`,crystal:`晶体`,deuterium:`重氢`,darkMatter:`暗物质`,energy:`能量`,production:`产量`,consumption:`消耗`,capacity:`容量`,current:`当前储量`,max:`最大容量`,perHour:`小时`,perMinute:`分钟`,hour:`小时`,noEnergy:`能量不足`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`坐标`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,fields:`场地`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`总积分`},buildings:{metalMine:`金属矿`,crystalMine:`晶体矿`,deuteriumSynthesizer:`重氢合成器`,solarPlant:`太阳能电站`,roboticsFactory:`机器人工厂`,naniteFactory:`纳米工厂`,shipyard:`船坞`,researchLab:`研究实验室`,metalStorage:`金属仓库`,crystalStorage:`晶体仓库`,deuteriumTank:`重氢罐`,darkMatterCollector:`暗物质收集器`,terraformer:`地形改造器`,lunarBase:`月球基地`,sensorPhalanx:`传感器阵列`,jumpGate:`跳跃门`,planetDestroyerFactory:`行星毁灭者工厂`,buildTime:`建造时间`,production:`产量`,consumption:`消耗`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`},buildingDescriptions:{metalMine:`开采金属资源`,crystalMine:`开采晶体资源`,deuteriumSynthesizer:`合成重氢资源`,solarPlant:`提供能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造队列数量,每级+1队列(最多10级)`,shipyard:`建造舰船`,researchLab:`研究科技`,metalStorage:`增加金属存储上限`,crystalStorage:`增加晶体存储上限`,deuteriumTank:`增加重氢存储上限`,darkMatterCollector:`收集稀有的暗物质资源`,terraformer:`改造行星地形,每级增加5个可用空间`,lunarBase:`增加月球可用空间,每级+5空间`,sensorPhalanx:`侦测周围星系的舰队活动`,jumpGate:`瞬间传送舰队到其他月球`,planetDestroyerFactory:`建造能够摧毁行星的终极武器`},ships:{lightFighter:`轻型战斗机`,heavyFighter:`重型战斗机`,cruiser:`巡洋舰`,battleship:`战列舰`,smallCargo:`小型运输船`,largeCargo:`大型运输船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`间谍探测器`,darkMatterHarvester:`暗物质采集船`,deathstar:`死星`},shipDescriptions:{lightFighter:`基础战斗单位`,heavyFighter:`重装战斗机`,cruiser:`中型战舰,攻守平衡`,battleship:`强力战舰`,smallCargo:`运输少量资源`,largeCargo:`运输大量资源`,colonyShip:`用于殖民新星球`,recycler:`收集残骸场资源`,espionageProbe:`侦察敌方星球`,darkMatterHarvester:`专门用于采集暗物质的特殊飞船`,deathstar:`终极武器,能够摧毁整个行星`},defenses:{rocketLauncher:`火箭发射器`,lightLaser:`轻型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`离子炮`,plasmaTurret:`等离子炮塔`,smallShieldDome:`小型护盾罩`,largeShieldDome:`大型护盾罩`,planetaryShield:`行星护盾`},defenseDescriptions:{rocketLauncher:`基础防御设施`,lightLaser:`轻型能量武器`,heavyLaser:`重型能量武器`,gaussCannon:`高速动能武器`,ionCannon:`破坏护盾的利器`,plasmaTurret:`强力防御设施`,smallShieldDome:`保护整个星球的小型护盾`,largeShieldDome:`保护整个星球的大型护盾`,planetaryShield:`保护行星免受毁灭攻击的超级护盾`},research:{researchTime:`研究时间`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`},technologies:{energyTechnology:`能源技术`,laserTechnology:`激光技术`,ionTechnology:`离子技术`,hyperspaceTechnology:`超空间技术`,plasmaTechnology:`等离子技术`,computerTechnology:`计算机技术`,combustionDrive:`燃烧引擎`,impulseDrive:`脉冲引擎`,hyperspaceDrive:`超空间引擎`,darkMatterTechnology:`暗物质技术`,terraformingTechnology:`地形改造技术`,planetDestructionTech:`行星毁灭技术`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防御的基础`,ionTechnology:`离子武器技术`,hyperspaceTechnology:`超空间跳跃技术`,plasmaTechnology:`等离子武器技术`,computerTechnology:`增加研究队列数量,每级+1队列(最多10级)`,combustionDrive:`基础推进技术`,impulseDrive:`中级推进技术`,hyperspaceDrive:`高级推进技术`,darkMatterTechnology:`研究暗物质的性质和应用`,terraformingTechnology:`研究行星地形改造技术,每级为所有行星增加3个可用空间`,planetDestructionTech:`研究如何摧毁整个行星的恐怖技术`},officers:{commander:`指挥官`,admiral:`上将`,engineer:`工程师`,geologist:`地质学家`,technocrat:`技术专家`,darkMatterSpecialist:`暗物质专家`,resourceBonus:`资源产量加成`,darkMatterBonus:`暗物质产量加成`,energyBonus:`能量产量加成`},officerDescriptions:{commander:`提升建筑速度和管理能力`,admiral:`提升舰队战斗力和速度`,engineer:`提升能源和防御能力`,geologist:`提升资源产量`,technocrat:`提升研究速度和间谍能力`,darkMatterSpecialist:`提升暗物质采集效率`},queue:{buildQueue:`建造队列`,researchQueue:`研究队列`,building:`建造中`,researching:`研究中`,remaining:`剩余时间`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`确定要取消吗?将返还50%的资源。`,level:`等级`,quantity:`数量`,upgradeToLevel:`升级到等级`},overview:{title:`星球总览`,resourceOverview:`资源概览`,fleetInfo:`舰队`,currentShips:`当前星球的舰船数量`,productionSources:`资源获取来源`,productionSourcesDesc:`详细的资源产量及加成信息`,consumptionSources:`能量消耗来源`,consumptionSourcesDesc:`各建筑的能量消耗详情`,totalProduction:`总产量`,totalConsumption:`总消耗`,noConsumption:`当前无能量消耗`},buildingsView:{title:`建筑`,usedSpace:`已用空间`,spaceUsage:`占用空间`,level:`等级`,upgradeCost:`升级消耗`,buildTime:`建造时间`,upgrade:`升级`,maxLevelReached:`等级已满`,requirementsNotMet:`条件不足`,upgradeFailed:`升级失败`,upgradeFailedMessage:`请检查资源是否足够、空间是否充足或是否有其他建造任务。`,demolish:`拆除`,demolishRefund:`拆除返还`,demolishFailed:`拆除失败`,demolishFailedMessage:`无法拆除该建筑,请检查建造队列是否已满或建筑等级是否为0。`},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,maxLevelReached:`等级已满`,researchFailed:`研究失败`,researchFailedMessage:`请检查资源是否足够、前置条件是否满足,或是否有其他研究任务。`},shipyard:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargoCapacity:`载货量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},shipyardView:{title:`船坞`,fleetStorage:`舰队仓储`,attack:`攻击力`,shield:`护盾`,speed:`速度`,cargoCapacity:`载货量`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。`},defense:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},defenseView:{title:`防御设施`,attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildTime:`建造时间`,seconds:`秒`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,shieldDomeBuilt:`护盾罩已建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。护盾罩只能建造一个。`},fleetView:{title:`舰队管理`,fleetOverview:`舰队总览`,sendFleet:`派遣舰队`,flightMissions:`飞行任务`,currentPlanetFleet:`当前星球舰队`,attack:`攻击`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargo:`载货`,selectFleet:`选择舰队`,selectFleetDescription:`选择要派遣的舰船数量`,available:`可用`,all:`全部`,targetCoordinates:`目标坐标`,galaxy:`银河系`,system:`星系`,position:`位置`,missionType:`任务类型`,missionInfo:`任务信息`,fuelConsumption:`燃料消耗`,flightTime:`飞行时间`,attackMission:`攻击`,transport:`运输`,colonize:`殖民`,spy:`侦察`,deploy:`部署`,recycle:`回收`,destroy:`行星毁灭`,transportResources:`运输资源`,totalCargoCapacity:`总载货量`,used:`已用`,noFlightMissions:`暂无飞行任务`,outbound:`前往`,returning:`返回`,fleetComposition:`舰队组成`,carryingResources:`携带资源`,arrivalTime:`到达时间`,returnTime:`返回时间`,recallFleet:`召回舰队`,sendFailed:`派遣失败`,sendFailedMessage:`请检查舰队数量、燃料是否充足,或载货量是否超出限制。`,recallFailed:`召回失败`,recallFailedMessage:`该任务无法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`舰队任务槽位`,noShipsSelected:`未选择舰船`,cannotSendToOwnPlanet:`无法派遣舰队到自己的星球`,cargoExceedsCapacity:`载货量超出限制`,noColonyShip:`需要殖民船才能执行殖民任务`,noDebrisAtTarget:`目标坐标没有残骸场或残骸场已空`,noDeathstar:`需要死星才能执行毁灭任务`},officersView:{title:`军官`,activated:`已激活`,inactive:`未激活`,activeStatus:`激活状态`,expirationTime:`到期时间`,remainingTime:`剩余时间`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`资源产量`,darkMatterProduction:`暗物质产量`,energyProduction:`电量产出`,buildingSpeed:`建筑速度`,researchSpeed:`研究速度`,fleetSpeed:`舰队速度`,fuelConsumption:`燃料消耗`,defense:`防御力`,storageCapacity:`仓储容量`,buildQueue:`建筑队列`,fleetSlots:`舰队槽位`,hire:`招募`,renew:`续约`,dismiss:`解雇`,hireTitle:`招募军官`,hireMessage:`确定要招募 {name} 吗?有效期为7天。`,renewTitle:`续约军官`,renewMessage:`确定要为 {name} 续约7天吗?`,dismissTitle:`解雇军官`,dismissMessage:`确定要解雇 {name} 吗?不会返还任何费用。`,hireFailed:`招募失败`,renewFailed:`续约失败`,insufficientResources:`资源不足!`},galaxyView:{title:`星系`,selectCoordinates:`选择坐标`,galaxy:`银河系`,selectGalaxy:`选择银河系`,system:`星系`,selectSystem:`选择星系`,view:`查看`,myPlanet:`我的星球`,totalPositions:`共10个星球位置`,mine:`我的`,hostile:`敌对`,emptySlot:`空位 - 可殖民`,scout:`侦察`,attack:`攻击`,colonize:`殖民`,switch:`切换`,recycle:`回收`,debrisField:`残骸场`,scoutPlanetTitle:`侦察星球`,attackPlanetTitle:`攻击星球`,colonizePlanetTitle:`殖民星球`,recyclePlanetTitle:`回收残骸`,scoutPlanetMessage:`确定要派遣间谍探测器侦察星球 [{coordinates}] 吗? - -请前往舰队页面选择舰船并派遣。`,attackPlanetMessage:`确定要攻击星球 [{coordinates}] 吗? - -请前往舰队页面选择舰船并派遣。`,colonizePlanetMessage:`确定要殖民位置 [{coordinates}] 吗? - -请前往舰队页面派遣殖民船。`,recyclePlanetMessage:`确定要回收位置 [{coordinates}] 的残骸吗? - -请前往舰队页面派遣回收船。`},messagesView:{title:`消息中心`,battles:`战斗`,spy:`侦查`,battleReports:`战斗报告`,spyReports:`间谍报告`,noBattleReports:`暂无战斗报告`,noSpyReports:`暂无间谍报告`,battleReport:`战斗报告`,spyReport:`间谍报告`,victory:`胜利`,defeat:`失败`,draw:`平局`,attackerFleet:`攻击方舰队`,defenderFleet:`防守方舰队`,defenderDefense:`防守方防御`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,plunder:`掠夺资源`,debrisField:`残骸场`,resources:`资源`,fleet:`舰队`,defense:`防御`,buildings:`建筑`,unread:`未读`,targetPlanet:`目标星球`,attackerRemaining:`攻击方剩余`,defenderRemaining:`防守方剩余`,moonChance:`月球生成概率`,showRoundDetails:`显示回合详情`,hideRoundDetails:`隐藏回合详情`,round:`第{round}回合`,attackerRemainingPower:`攻击方剩余火力`,defenderRemainingPower:`防守方剩余火力`},simulatorView:{title:`战斗模拟器`,attacker:`攻击方`,defender:`防守方`,attackerConfig:`攻击方配置`,attackerConfigDesc:`设置攻击方的舰队和科技等级`,defenderConfig:`防守方配置`,defenderConfigDesc:`设置防守方的舰队、防御和科技等级`,fleet:`舰队`,defenseStructures:`防御设施`,techLevels:`科技等级`,weapon:`武器`,shield:`护盾`,armor:`装甲`,defenderResources:`防守方资源(用于掠夺计算)`,startSimulation:`开始模拟`,reset:`重置`,battleResult:`战斗结果`,attackerVictory:`攻击方胜利`,defenderVictory:`防守方胜利`,draw:`平局`,afterRounds:`经过 {rounds} 回合战斗`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,attackerRemaining:`攻击方剩余`,defenderRemaining:`防守方剩余`,allDestroyed:`全部摧毁`,plunderableResources:`可掠夺资源`,debrisField:`残骸场`,moonChance:`月球生成概率`,showRoundDetails:`显示回合详情`,hideRoundDetails:`隐藏回合详情`,round:`第 {round} 回合`,attackerRemainingPower:`攻击方剩余火力`,defenderRemainingPower:`防守方剩余火力`},settings:{dataManagement:`数据管理`,dataManagementDesc:`导出、导入或清除游戏数据`,exportData:`导出数据`,exportDataDesc:`将游戏进度导出为JSON文件`,export:`导出`,exporting:`导出中...`,exportSuccess:`导出成功`,exportFailed:`导出失败,请重试`,importData:`导入数据`,importDataDesc:`从JSON文件恢复游戏进度`,selectFile:`导入`,importSuccess:`导入成功`,importConfirmTitle:`确认导入数据`,importConfirmMessage:`导入数据将覆盖当前游戏进度,此操作不可撤销。确定要继续吗?`,importFailed:`导入失败,请检查文件格式`,clearData:`清除数据`,clearDataDesc:`删除所有游戏数据并重置游戏`,clear:`清除`,clearConfirmTitle:`确认清除数据`,clearConfirmMessage:`这将删除所有游戏数据并重新开始,此操作不可撤销。确定要继续吗?`,gameSettings:`游戏设置`,gameSettingsDesc:`调整游戏参数和偏好设置`,gamePause:`游戏暂停`,gamePauseDesc:`暂停或恢复游戏时间和资源生产`,pause:`暂停`,resume:`恢复`,gamePaused:`游戏已暂停`,gameResumed:`游戏已恢复`,playerName:`玩家名称`,gameSpeed:`游戏速度`,gameSpeedDesc:`当前游戏速度倍率`,about:`关于`,version:`版本`,buildDate:`构建日期`,community:`社区`,github:`GitHub 仓库`,qqGroup:`QQ 交流群`},gmView:{title:`GM 管理面板`,adminOnly:`仅管理员`,selectPlanet:`选择星球`,choosePlanet:`选择一个星球`,resources:`资源`,buildings:`建筑`,research:`科技`,ships:`舰船`,defense:`防御`,officers:`军官`,modifyResources:`修改资源`,resourcesDesc:`快速修改星球资源数量`,modifyBuildings:`修改建筑`,buildingsDesc:`快速设置建筑等级`,modifyResearch:`修改科技`,researchDesc:`快速设置科技等级`,modifyShips:`修改舰船`,shipsDesc:`快速设置舰船数量`,modifyDefense:`修改防御`,defenseDesc:`快速设置防御数量`,modifyOfficers:`修改军官`,officersDesc:`快速设置军官到期时间`,days:`天`,dangerZone:`危险区域`,dangerZoneDesc:`以下操作不可撤销,请谨慎操作`,resetGame:`重置游戏`,resetGameConfirm:`确定要重置游戏吗?这将删除所有数据!`}},t={common:{confirm:`確認`,cancel:`取消`,delete:`刪除`,edit:`編輯`,save:`儲存`,close:`關閉`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜尋`,filter:`篩選`,loading:`載入中...`,noData:`暫無資料`,error:`錯誤`,success:`成功`,warning:`警告`,info:`資訊`,resourceType:`資源類型`,playerName:`指揮官`,timeHour:`時`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已鎖定`,unlockRequired:`需要解鎖前置建築`,requiredBuilding:`所需建築`,currentLevel:`當前等級`,goToBuildings:`前往建築頁面`,locked:`已鎖定`,viewRequirements:`查看前置條件`,requirementsNotMet:`前置條件未滿足`,current:`當前`,level:`等級`},errors:{requirementsNotMet:`不滿足前置條件`,insufficientResources:`資源不足`,insufficientFleetStorage:`艦隊倉儲空間不足`,shieldDomeLimit:`護盾罩數量限制`,fleetMissionsFull:`艦隊任務槽位已滿`,insufficientFleet:`艦隊數量不足`,insufficientFuel:`燃料不足`,planetOnly:`該建築只能在行星上建造`,moonOnly:`該建築只能在月球上建造`,buildQueueFull:`建造隊列已滿`,insufficientSpace:`空間不足`,buildingLevelZero:`建築等級為0,無法拆除`,researchQueueFull:`研究隊列已滿`,moonExists:`已存在月球`,insufficientDebris:`殘骸場不足`},nav:{overview:`總覽`,buildings:`建築`,research:`研究`,shipyard:`船塢`,defense:`防禦`,fleet:`艦隊`,officers:`軍官`,simulator:`模擬`,galaxy:`星系`,messages:`訊息`,settings:`設定`,gm:`GM`},sidebar:{language:`語言`,lightMode:`日間模式`,darkMode:`夜間模式`,collapse:`收起選單`,expand:`展開選單`},resources:{metal:`金屬`,crystal:`晶體`,deuterium:`重氫`,darkMatter:`暗物質`,energy:`能量`,production:`產量`,consumption:`消耗`,capacity:`容量`,current:`當前儲量`,max:`最大容量`,perHour:`小時`,perMinute:`分鐘`,hour:`小時`,noEnergy:`能量不足`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`座標`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,fields:`場地`,temperature:`溫度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`總積分`},buildings:{metalMine:`金屬礦`,crystalMine:`晶體礦`,deuteriumSynthesizer:`重氫合成器`,solarPlant:`太陽能電站`,roboticsFactory:`機器人工廠`,naniteFactory:`納米工廠`,shipyard:`船塢`,researchLab:`研究實驗室`,metalStorage:`金屬倉庫`,crystalStorage:`晶體倉庫`,deuteriumTank:`重氫罐`,darkMatterCollector:`暗物質收集器`,terraformer:`地形改造器`,lunarBase:`月球基地`,sensorPhalanx:`傳感器陣列`,jumpGate:`跳躍門`,planetDestroyerFactory:`行星毀滅者工廠`,buildTime:`建造時間`,production:`產量`,consumption:`消耗`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`},buildingDescriptions:{metalMine:`開採金屬資源`,crystalMine:`開採晶體資源`,deuteriumSynthesizer:`合成重氫資源`,solarPlant:`提供能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造佇列數量,每級+1佇列(最多10級)`,shipyard:`建造艦船`,researchLab:`研究科技`,metalStorage:`增加金屬儲存上限`,crystalStorage:`增加晶體儲存上限`,deuteriumTank:`增加重氫儲存上限`,darkMatterCollector:`收集稀有的暗物質資源`,terraformer:`改造行星地形,每級增加5個可用空間`,lunarBase:`增加月球可用空間,每級+5空間`,sensorPhalanx:`偵測周圍星系的艦隊活動`,jumpGate:`瞬間傳送艦隊到其他月球`,planetDestroyerFactory:`建造能夠摧毀行星的終極武器`},ships:{lightFighter:`輕型戰鬥機`,heavyFighter:`重型戰鬥機`,cruiser:`巡洋艦`,battleship:`戰列艦`,smallCargo:`小型運輸船`,largeCargo:`大型運輸船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`間諜探測器`,darkMatterHarvester:`暗物質採集船`,deathstar:`死星`},shipDescriptions:{lightFighter:`基礎戰鬥單位`,heavyFighter:`重裝戰鬥機`,cruiser:`中型戰艦,攻守平衡`,battleship:`強力戰艦`,smallCargo:`運輸少量資源`,largeCargo:`運輸大量資源`,colonyShip:`用於殖民新星球`,recycler:`收集殘骸場資源`,espionageProbe:`偵察敵方星球`,darkMatterHarvester:`專門用於採集暗物質的特殊飛船`,deathstar:`終極武器,能夠摧毀整個行星`},defenses:{rocketLauncher:`火箭發射器`,lightLaser:`輕型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`離子炮`,plasmaTurret:`等離子炮塔`,smallShieldDome:`小型護盾罩`,largeShieldDome:`大型護盾罩`,planetaryShield:`行星護盾`},defenseDescriptions:{rocketLauncher:`基礎防禦設施`,lightLaser:`輕型能量武器`,heavyLaser:`重型能量武器`,gaussCannon:`高速動能武器`,ionCannon:`破壞護盾的利器`,plasmaTurret:`強力防禦設施`,smallShieldDome:`保護整個星球的小型護盾`,largeShieldDome:`保護整個星球的大型護盾`,planetaryShield:`保護行星免受毀滅攻擊的超級護盾`},research:{researchTime:`研究時間`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`},technologies:{energyTechnology:`能源技術`,laserTechnology:`激光技術`,ionTechnology:`離子技術`,hyperspaceTechnology:`超空間技術`,plasmaTechnology:`等離子技術`,computerTechnology:`計算機技術`,combustionDrive:`燃燒引擎`,impulseDrive:`脈衝引擎`,hyperspaceDrive:`超空間引擎`,darkMatterTechnology:`暗物質技術`,terraformingTechnology:`地形改造技術`,planetDestructionTech:`行星毀滅技術`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防禦的基礎`,ionTechnology:`離子武器技術`,hyperspaceTechnology:`超空間跳躍技術`,plasmaTechnology:`等離子武器技術`,computerTechnology:`增加研究佇列數量,每級+1佇列(最多10級)`,combustionDrive:`基礎推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`研究暗物質的性質和應用`,terraformingTechnology:`研究行星地形改造技術,每級為所有行星增加3個可用空間`,planetDestructionTech:`研究如何摧毀整個行星的恐怖技術`},officers:{commander:`指揮官`,admiral:`上將`,engineer:`工程師`,geologist:`地質學家`,technocrat:`技術專家`,darkMatterSpecialist:`暗物質專家`,resourceBonus:`資源生產加成`,darkMatterBonus:`暗物質生產加成`,energyBonus:`能量生產加成`},officerDescriptions:{commander:`提升建築速度和管理能力`,admiral:`提升艦隊戰鬥力和速度`,engineer:`提升能源和防禦能力`,geologist:`提升資源產量`,technocrat:`提升研究速度和間諜能力`,darkMatterSpecialist:`提升暗物質採集效率`},queue:{buildQueue:`建造佇列`,researchQueue:`研究佇列`,building:`建造中`,researching:`研究中`,remaining:`剩餘時間`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`確定要取消嗎?將返還50%的資源。`,level:`等級`,upgradeToLevel:`升級到等級`},overview:{title:`星球總覽`,resourceOverview:`資源概覽`,fleetInfo:`艦隊資訊`,currentShips:`當前星球的艦船數量`,productionSources:`生產來源`,productionSourcesDesc:`詳細資源生產和加成資訊`,consumptionSources:`消耗來源`,consumptionSourcesDesc:`建築能量消耗詳情`,totalProduction:`總產量`,totalConsumption:`總消耗`,noConsumption:`無能量消耗`},buildingsView:{title:`建築`,usedSpace:`已用空間`,spaceUsage:`佔用空間`,level:`等級`,upgradeCost:`升級消耗`,buildTime:`建造時間`,upgrade:`升級`,maxLevelReached:`等級已滿`,requirementsNotMet:`條件不足`,upgradeFailed:`升級失敗`,upgradeFailedMessage:`請檢查資源是否足夠、空間是否充足或是否有其他建造任務。`,demolish:`拆除`,demolishRefund:`拆除返還`,demolishFailed:`拆除失敗`,demolishFailedMessage:`無法拆除該建築,請檢查建造隊列是否已滿或建築等級是否為0。`},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,maxLevelReached:`等級已滿`,researchFailed:`研究失敗`,researchFailedMessage:`請檢查資源是否足夠、前置條件是否滿足,或是否有其他研究任務。`},shipyard:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargoCapacity:`載貨量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},shipyardView:{title:`船塢`,fleetStorage:`艦隊倉儲`,attack:`攻擊力`,shield:`護盾`,speed:`速度`,cargoCapacity:`載貨量`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。`},defense:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},defenseView:{title:`防禦設施`,attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildTime:`建造時間`,seconds:`秒`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,shieldDomeBuilt:`護盾罩已建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。護盾罩只能建造一個。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊總覽`,sendFleet:`派遣艦隊`,flightMissions:`飛行任務`,currentPlanetFleet:`當前星球艦隊`,attack:`攻擊`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargo:`載貨`,selectFleet:`選擇艦隊`,selectFleetDescription:`選擇要派遣的艦船數量`,available:`可用`,all:`全部`,targetCoordinates:`目標座標`,galaxy:`銀河系`,system:`星系`,position:`位置`,missionType:`任務類型`,missionInfo:`任務資訊`,fuelConsumption:`燃料消耗`,flightTime:`飛行時間`,attackMission:`攻擊`,transport:`運輸`,colonize:`殖民`,spy:`偵察`,deploy:`部署`,recycle:`回收`,transportResources:`運輸資源`,totalCargoCapacity:`總載貨量`,used:`已用`,noFlightMissions:`暫無飛行任務`,outbound:`前往`,returning:`返回`,fleetComposition:`艦隊組成`,carryingResources:`攜帶資源`,arrivalTime:`到達時間`,returnTime:`返回時間`,recallFleet:`召回艦隊`,sendFailed:`派遣失敗`,sendFailedMessage:`請檢查艦隊數量、燃料是否充足,或載貨量是否超出限制。`,recallFailed:`召回失敗`,recallFailedMessage:`該任務無法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`艦隊任務槽位`,noShipsSelected:`未選擇艦船`,cannotSendToOwnPlanet:`無法派遣艦隊到自己的星球`,cargoExceedsCapacity:`載貨量超出限制`,noColonyShip:`需要殖民船才能執行殖民任務`,noDebrisAtTarget:`目標坐標沒有殘骸場或殘骸場已空`},officersView:{title:`軍官`,activated:`已啟用`,inactive:`未啟用`,activeStatus:`啟用狀態`,expirationTime:`到期時間`,remainingTime:`剩餘時間`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`資源產量`,darkMatterProduction:`暗物質產量`,energyProduction:`電量產出`,buildingSpeed:`建築速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消耗`,defense:`防禦力`,storageCapacity:`倉儲容量`,buildQueue:`建築佇列`,fleetSlots:`艦隊槽位`,hire:`招募`,renew:`續約`,dismiss:`解雇`,hireTitle:`招募軍官`,hireMessage:`確定要招募 {name} 嗎?有效期為7天。`,renewTitle:`續約軍官`,renewMessage:`確定要為 {name} 續約7天嗎?`,dismissTitle:`解雇軍官`,dismissMessage:`確定要解雇 {name} 嗎?不會返還任何費用。`,hireFailed:`招募失敗`,renewFailed:`續約失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`星系`,selectCoordinates:`選擇座標`,galaxy:`銀河系`,selectGalaxy:`選擇銀河系`,system:`星系`,selectSystem:`選擇星系`,view:`查看`,myPlanet:`我的星球`,totalPositions:`共10個星球位置`,mine:`我的`,hostile:`敵對`,emptySlot:`空位 - 可殖民`,scout:`偵察`,attack:`攻擊`,colonize:`殖民`,switch:`切換`,recycle:`回收`,debrisField:`殘骸場`,scoutPlanetTitle:`偵察星球`,attackPlanetTitle:`攻擊星球`,colonizePlanetTitle:`殖民星球`,recyclePlanetTitle:`回收殘骸`,scoutPlanetMessage:`確定要派遣間諜探測器偵察星球 [{coordinates}] 嗎? - -請前往艦隊頁面選擇艦船並派遣。`,attackPlanetMessage:`確定要攻擊星球 [{coordinates}] 嗎? - -請前往艦隊頁面選擇艦船並派遣。`,colonizePlanetMessage:`確定要殖民位置 [{coordinates}] 嗎? - -請前往艦隊頁面派遣殖民船。`,recyclePlanetMessage:`確定要回收位置 [{coordinates}] 的殘骸嗎? - -請前往艦隊頁面派遣回收船。`},messagesView:{title:`訊息中心`,battles:`戰鬥`,spy:`偵查`,battleReports:`戰鬥報告`,spyReports:`間諜報告`,noBattleReports:`暫無戰鬥報告`,noSpyReports:`暫無間諜報告`,battleReport:`戰鬥報告`,spyReport:`間諜報告`,victory:`勝利`,defeat:`失敗`,draw:`平局`,attackerFleet:`攻擊方艦隊`,defenderFleet:`防守方艦隊`,defenderDefense:`防守方防禦`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,plunder:`掠奪資源`,debrisField:`殘骸場`,resources:`資源`,fleet:`艦隊`,defense:`防禦`,buildings:`建築`,unread:`未讀`,targetPlanet:`目標星球`,attackerRemaining:`攻擊方剩餘`,defenderRemaining:`防守方剩餘`,moonChance:`月球生成機率`,showRoundDetails:`顯示回合詳情`,hideRoundDetails:`隱藏回合詳情`,round:`第{round}回合`,attackerRemainingPower:`攻擊方剩餘火力`,defenderRemainingPower:`防守方剩餘火力`},simulatorView:{title:`戰鬥模擬器`,attacker:`攻擊方`,defender:`防守方`,attackerConfig:`攻擊方配置`,attackerConfigDesc:`設置攻擊方的艦隊和科技等級`,defenderConfig:`防守方配置`,defenderConfigDesc:`設置防守方的艦隊、防禦和科技等級`,fleet:`艦隊`,defenseStructures:`防禦設施`,techLevels:`科技等級`,weapon:`武器`,shield:`護盾`,armor:`裝甲`,defenderResources:`防守方資源(用於掠奪計算)`,startSimulation:`開始模擬`,reset:`重置`,battleResult:`戰鬥結果`,attackerVictory:`攻擊方勝利`,defenderVictory:`防守方勝利`,draw:`平局`,afterRounds:`經過 {rounds} 回合戰鬥`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,attackerRemaining:`攻擊方剩餘`,defenderRemaining:`防守方剩餘`,allDestroyed:`全部摧毀`,plunderableResources:`可掠奪資源`,debrisField:`殘骸場`,moonChance:`月球生成機率`,showRoundDetails:`顯示回合詳情`,hideRoundDetails:`隱藏回合詳情`,round:`第 {round} 回合`,attackerRemainingPower:`攻擊方剩餘火力`,defenderRemainingPower:`防守方剩餘火力`},settings:{dataManagement:`資料管理`,dataManagementDesc:`匯出、匯入或清除遊戲資料`,exportData:`匯出資料`,exportDataDesc:`將遊戲進度匯出為JSON檔案`,export:`匯出`,exporting:`匯出中...`,exportSuccess:`匯出成功`,exportFailed:`匯出失敗,請重試`,importData:`匯入資料`,importDataDesc:`從JSON檔案恢復遊戲進度`,selectFile:`匯入`,importSuccess:`匯入成功`,importConfirmTitle:`確認匯入資料`,importConfirmMessage:`匯入資料將覆蓋目前遊戲進度,此操作不可撤銷。確定要繼續嗎?`,importFailed:`匯入失敗,請檢查檔案格式`,clearData:`清除資料`,clearDataDesc:`刪除所有遊戲資料並重置遊戲`,clear:`清除`,clearConfirmTitle:`確認清除資料`,clearConfirmMessage:`這將刪除所有遊戲資料並重新開始,此操作不可撤銷。確定要繼續嗎?`,gameSettings:`遊戲設定`,gameSettingsDesc:`調整遊戲參數和偏好設定`,gamePause:`遊戲暫停`,gamePauseDesc:`暫停或恢復遊戲時間和資源生產`,pause:`暫停`,resume:`恢復`,gamePaused:`遊戲已暫停`,gameResumed:`遊戲已恢復`,playerName:`玩家名稱`,gameSpeed:`遊戲速度`,gameSpeedDesc:`目前遊戲速度倍率`,about:`關於`,version:`版本`,buildDate:`建置日期`,community:`社群`,github:`GitHub 儲存庫`,qqGroup:`QQ 交流群`},gmView:{title:`GM 管理面板`,adminOnly:`僅管理員`,selectPlanet:`選擇星球`,choosePlanet:`選擇一個星球`,resources:`資源`,buildings:`建築`,research:`科技`,ships:`艦船`,defense:`防禦`,officers:`軍官`,modifyResources:`修改資源`,resourcesDesc:`快速修改星球資源數量`,modifyBuildings:`修改建築`,buildingsDesc:`快速設定建築等級`,modifyResearch:`修改科技`,researchDesc:`快速設定科技等級`,modifyShips:`修改艦船`,shipsDesc:`快速設定艦船數量`,modifyDefense:`修改防禦`,defenseDesc:`快速設定防禦數量`,modifyOfficers:`修改軍官`,officersDesc:`快速設定軍官到期時間`,days:`天`,dangerZone:`危險區域`,dangerZoneDesc:`以下操作不可撤銷,請謹慎操作`,resetGame:`重置遊戲`,resetGameConfirm:`確定要重置遊戲嗎?這將刪除所有資料!`}},n={common:{confirm:`Confirm`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,save:`Save`,close:`Close`,back:`Back`,next:`Next`,previous:`Previous`,submit:`Submit`,reset:`Reset`,search:`Search`,filter:`Filter`,loading:`Loading...`,noData:`No Data`,error:`Error`,success:`Success`,warning:`Warning`,info:`Info`,resourceType:`Resource Type`,playerName:`Commander`,timeHour:`h`,timeMinute:`m`,timeSecond:`s`,featureLocked:`Feature Locked`,unlockRequired:`Building Required`,requiredBuilding:`Required Building`,currentLevel:`Current Level`,goToBuildings:`Go to Buildings`,locked:`Locked`,viewRequirements:`View Requirements`,requirementsNotMet:`Requirements Not Met`,current:`Current`,level:`Level`},errors:{requirementsNotMet:`Requirements not met`,insufficientResources:`Insufficient resources`,insufficientFleetStorage:`Insufficient fleet storage`,shieldDomeLimit:`Shield dome limit reached`,fleetMissionsFull:`Fleet mission slots full`,insufficientFleet:`Insufficient fleet`,insufficientFuel:`Insufficient fuel`,planetOnly:`This building can only be built on planets`,moonOnly:`This building can only be built on moons`,buildQueueFull:`Build queue full`,insufficientSpace:`Insufficient space`,buildingLevelZero:`Building level is 0, cannot demolish`,researchQueueFull:`Research queue full`,moonExists:`Moon already exists`,insufficientDebris:`Insufficient debris field`},nav:{overview:`Overview`,buildings:`Buildings`,research:`Research`,shipyard:`Shipyard`,defense:`Defense`,fleet:`Fleet`,officers:`Officers`,simulator:`Simulator`,galaxy:`Galaxy`,messages:`Messages`,settings:`Settings`,gm:`GM`},sidebar:{language:`Language`,lightMode:`Light Mode`,darkMode:`Dark Mode`,collapse:`Collapse`,expand:`Expand`},resources:{metal:`Metal`,crystal:`Crystal`,deuterium:`Deuterium`,darkMatter:`Dark Matter`,energy:`Energy`,production:`Production`,consumption:`Consumption`,capacity:`Capacity`,current:`Current`,max:`Max Capacity`,perHour:`hour`,perMinute:`min`,hour:`hour`,noEnergy:`No Energy`},planet:{planet:`Planet`,moon:`Moon`,colony:`Colony`,position:`Position`,coordinates:`Coordinates`,switchToMoon:`View Moon`,backToPlanet:`Back to Planet`,fields:`Fields`,temperature:`Temperature`,homePlanet:`Home Planet`,planetPrefix:`Planet`,moonSuffix:`'s Moon`,colonyPrefix:`Colony`},player:{points:`Total Points`},buildings:{metalMine:`Metal Mine`,crystalMine:`Crystal Mine`,deuteriumSynthesizer:`Deuterium Synthesizer`,solarPlant:`Solar Plant`,roboticsFactory:`Robotics Factory`,naniteFactory:`Nanite Factory`,shipyard:`Shipyard`,researchLab:`Research Lab`,metalStorage:`Metal Storage`,crystalStorage:`Crystal Storage`,deuteriumTank:`Deuterium Tank`,darkMatterCollector:`Dark Matter Collector`,terraformer:`Terraformer`,lunarBase:`Lunar Base`,sensorPhalanx:`Sensor Phalanx`,jumpGate:`Jump Gate`,planetDestroyerFactory:`Planet Destroyer Factory`,buildTime:`Build Time`,production:`Production`,consumption:`Consumption`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`},buildingDescriptions:{metalMine:`Extracts metal resources`,crystalMine:`Extracts crystal resources`,deuteriumSynthesizer:`Synthesizes deuterium resources`,solarPlant:`Provides energy`,roboticsFactory:`Accelerates construction speed`,naniteFactory:`Increases build queue capacity, +1 per level (max 10 levels)`,shipyard:`Constructs ships`,researchLab:`Researches technologies`,metalStorage:`Increases metal storage capacity`,crystalStorage:`Increases crystal storage capacity`,deuteriumTank:`Increases deuterium storage capacity`,darkMatterCollector:`Collects rare dark matter resources`,terraformer:`Terraforms planet surface, adds 5 available space per level`,lunarBase:`Increases available space on the moon, +5 space per level`,sensorPhalanx:`Detects fleet activities in surrounding systems`,jumpGate:`Instantly transfers fleets to other moons`,planetDestroyerFactory:`Constructs ultimate weapons capable of destroying planets`},ships:{lightFighter:`Light Fighter`,heavyFighter:`Heavy Fighter`,cruiser:`Cruiser`,battleship:`Battleship`,smallCargo:`Small Cargo`,largeCargo:`Large Cargo`,colonyShip:`Colony Ship`,recycler:`Recycler`,espionageProbe:`Espionage Probe`,darkMatterHarvester:`Dark Matter Harvester`,deathstar:`Deathstar`},shipDescriptions:{lightFighter:`Basic combat unit`,heavyFighter:`Heavily armored fighter`,cruiser:`Medium warship, balanced offense and defense`,battleship:`Powerful warship`,smallCargo:`Transports small amounts of resources`,largeCargo:`Transports large amounts of resources`,colonyShip:`Used to colonize new planets`,recycler:`Collects debris field resources`,espionageProbe:`Scouts enemy planets`,darkMatterHarvester:`Special ship for harvesting dark matter`,deathstar:`Ultimate weapon capable of destroying entire planets`},defenses:{rocketLauncher:`Rocket Launcher`,lightLaser:`Light Laser`,heavyLaser:`Heavy Laser`,gaussCannon:`Gauss Cannon`,ionCannon:`Ion Cannon`,plasmaTurret:`Plasma Turret`,smallShieldDome:`Small Shield Dome`,largeShieldDome:`Large Shield Dome`,planetaryShield:`Planetary Shield`},defenseDescriptions:{rocketLauncher:`Basic defense facility`,lightLaser:`Light energy weapon`,heavyLaser:`Heavy energy weapon`,gaussCannon:`High-speed kinetic weapon`,ionCannon:`Effective against shields`,plasmaTurret:`Powerful defense facility`,smallShieldDome:`Small shield protecting the entire planet`,largeShieldDome:`Large shield protecting the entire planet`,planetaryShield:`Super shield protecting planet from destruction attacks`},research:{researchTime:`Research Time`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`},technologies:{energyTechnology:`Energy Technology`,laserTechnology:`Laser Technology`,ionTechnology:`Ion Technology`,hyperspaceTechnology:`Hyperspace Technology`,plasmaTechnology:`Plasma Technology`,computerTechnology:`Computer Technology`,combustionDrive:`Combustion Drive`,impulseDrive:`Impulse Drive`,hyperspaceDrive:`Hyperspace Drive`,darkMatterTechnology:`Dark Matter Technology`,terraformingTechnology:`Terraforming Technology`,planetDestructionTech:`Planet Destruction Technology`},technologyDescriptions:{energyTechnology:`Improves energy efficiency`,laserTechnology:`Foundation of laser weapons and defense`,ionTechnology:`Ion weapon technology`,hyperspaceTechnology:`Hyperspace jump technology`,plasmaTechnology:`Plasma weapon technology`,computerTechnology:`Increases research queue capacity, +1 per level (max 10 levels)`,combustionDrive:`Basic propulsion technology`,impulseDrive:`Intermediate propulsion technology`,hyperspaceDrive:`Advanced propulsion technology`,darkMatterTechnology:`Research into dark matter properties and applications`,terraformingTechnology:`Research planet terraforming technology, adds 3 available space to all planets per level`,planetDestructionTech:`Terrifying technology for destroying entire planets`},officers:{commander:`Commander`,admiral:`Admiral`,engineer:`Engineer`,geologist:`Geologist`,technocrat:`Technocrat`,darkMatterSpecialist:`Dark Matter Specialist`,resourceBonus:`Resource Production Bonus`,darkMatterBonus:`Dark Matter Production Bonus`,energyBonus:`Energy Production Bonus`},officerDescriptions:{commander:`Improves building speed and management`,admiral:`Improves fleet combat and speed`,engineer:`Improves energy and defense`,geologist:`Improves resource production`,technocrat:`Improves research speed and espionage`,darkMatterSpecialist:`Improves dark matter collection efficiency`},queue:{buildQueue:`Build Queue`,researchQueue:`Research Queue`,building:`Building`,researching:`Researching`,remaining:`Remaining`,cancel:`Cancel`,cancelBuild:`Cancel Build`,cancelResearch:`Cancel Research`,confirmCancel:`Are you sure you want to cancel? 50% of resources will be refunded.`,level:`Level`,quantity:`Quantity`,upgradeToLevel:`Upgrade to Level`},overview:{title:`Planet Overview`,resourceOverview:`Resources`,fleetInfo:`Fleet`,currentShips:`Ships on this planet`,productionSources:`Production Sources`,productionSourcesDesc:`Detailed resource production and bonus information`,consumptionSources:`Consumption Sources`,consumptionSourcesDesc:`Energy consumption details for buildings`,totalProduction:`Total Production`,totalConsumption:`Total Consumption`,noConsumption:`No energy consumption`},buildingsView:{title:`Buildings`,usedSpace:`Used Space`,spaceUsage:`Space Usage`,level:`Level`,upgradeCost:`Upgrade Cost`,buildTime:`Build Time`,upgrade:`Upgrade`,maxLevelReached:`Max Level Reached`,requirementsNotMet:`Requirements Not Met`,upgradeFailed:`Upgrade Failed`,upgradeFailedMessage:`Please check if you have enough resources, space, or if there are other build tasks.`,demolish:`Demolish`,demolishRefund:`Demolish Refund`,demolishFailed:`Demolish Failed`,demolishFailedMessage:`Unable to demolish this building. Please check if the build queue is full or the building level is 0.`},researchView:{title:`Research`,researchCost:`Research Cost`,research:`Research`,maxLevelReached:`Max Level Reached`,researchFailed:`Research Failed`,researchFailedMessage:`Please check if you have enough resources, prerequisites are met, or if there are other research tasks.`},shipyard:{attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,fuelConsumption:`Fuel Consumption`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},shipyardView:{title:`Shipyard`,fleetStorage:`Fleet Storage`,attack:`Attack`,shield:`Shield`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met.`},defense:{attack:`Attack`,shield:`Shield`,armor:`Armor`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},defenseView:{title:`Defense`,attack:`Attack`,shield:`Shield`,armor:`Armor`,buildTime:`Build Time`,seconds:`s`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,shieldDomeBuilt:`Shield dome already built`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met. Shield domes can only be built once.`},fleetView:{title:`Fleet Management`,fleetOverview:`Fleet Overview`,sendFleet:`Send Fleet`,flightMissions:`Flight Missions`,currentPlanetFleet:`Current Planet Fleet`,attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargo:`Cargo`,selectFleet:`Select Fleet`,selectFleetDescription:`Select the number of ships to send`,available:`Available`,all:`All`,targetCoordinates:`Target Coordinates`,galaxy:`Galaxy`,system:`System`,position:`Position`,missionType:`Mission Type`,missionInfo:`Mission Info`,fuelConsumption:`Fuel Consumption`,flightTime:`Flight Time`,attackMission:`Attack`,transport:`Transport`,colonize:`Colonize`,spy:`Spy`,deploy:`Deploy`,recycle:`Recycle`,destroy:`Planet Destruction`,transportResources:`Transport Resources`,totalCargoCapacity:`Total Cargo Capacity`,used:`Used`,noFlightMissions:`No flight missions`,outbound:`Outbound`,returning:`Returning`,fleetComposition:`Fleet Composition`,carryingResources:`Carrying Resources`,arrivalTime:`Arrival Time`,returnTime:`Return Time`,recallFleet:`Recall Fleet`,sendFailed:`Send Failed`,sendFailedMessage:`Please check fleet count, fuel availability, or cargo capacity limits.`,recallFailed:`Recall Failed`,recallFailedMessage:`This mission cannot be recalled.`,unknownPlanet:`Unknown Planet`,fleetMissionSlots:`Fleet Mission Slots`,noShipsSelected:`No ships selected`,cannotSendToOwnPlanet:`Cannot send fleet to your own planet`,cargoExceedsCapacity:`Cargo exceeds capacity`,noColonyShip:`Colony ship required for colonization mission`,noDebrisAtTarget:`No debris field at target coordinates or debris field is empty`,noDeathstar:`Deathstar required for destruction mission`},officersView:{title:`Officers`,activated:`Activated`,inactive:`Inactive`,activeStatus:`Active Status`,expirationTime:`Expiration Time`,remainingTime:`Remaining Time`,recruitCost:`Recruitment Cost`,days:`days`,benefitsBonus:`Benefits Bonus`,resourceProduction:`Resource Production`,darkMatterProduction:`Dark Matter Production`,energyProduction:`Energy Production`,buildingSpeed:`Building Speed`,researchSpeed:`Research Speed`,fleetSpeed:`Fleet Speed`,fuelConsumption:`Fuel Consumption`,defense:`Defense`,storageCapacity:`Storage Capacity`,buildQueue:`Build Queue`,fleetSlots:`Fleet Slots`,hire:`Hire`,renew:`Renew`,dismiss:`Dismiss`,hireTitle:`Hire Officer`,hireMessage:`Are you sure you want to hire {name}? Valid for 7 days.`,renewTitle:`Renew Officer`,renewMessage:`Are you sure you want to renew {name} for 7 days?`,dismissTitle:`Dismiss Officer`,dismissMessage:`Are you sure you want to dismiss {name}? No refunds will be given.`,hireFailed:`Hire Failed`,renewFailed:`Renew Failed`,insufficientResources:`Insufficient resources!`},galaxyView:{title:`Galaxy`,selectCoordinates:`Select Coordinates`,galaxy:`Galaxy`,selectGalaxy:`Select Galaxy`,system:`System`,selectSystem:`Select System`,view:`View`,myPlanet:`My Planet`,totalPositions:`10 planet positions total`,mine:`Mine`,hostile:`Hostile`,emptySlot:`Empty - Colonizable`,scout:`Scout`,attack:`Attack`,colonize:`Colonize`,switch:`Switch`,recycle:`Recycle`,debrisField:`Debris Field`,scoutPlanetTitle:`Scout Planet`,attackPlanetTitle:`Attack Planet`,colonizePlanetTitle:`Colonize Planet`,recyclePlanetTitle:`Recycle Debris`,scoutPlanetMessage:`Are you sure you want to send espionage probes to scout planet [{coordinates}]? - -Please go to the fleet page to select ships and send.`,attackPlanetMessage:`Are you sure you want to attack planet [{coordinates}]? - -Please go to the fleet page to select ships and send.`,colonizePlanetMessage:`Are you sure you want to colonize position [{coordinates}]? - -Please go to the fleet page to send a colony ship.`,recyclePlanetMessage:`Are you sure you want to recycle debris at position [{coordinates}]? - -Please go to the fleet page to send recycler ships.`},messagesView:{title:`Messages`,battles:`Battles`,spy:`Spy`,battleReports:`Battle Reports`,spyReports:`Spy Reports`,noBattleReports:`No battle reports`,noSpyReports:`No spy reports`,battleReport:`Battle Report`,spyReport:`Spy Report`,victory:`Victory`,defeat:`Defeat`,draw:`Draw`,attackerFleet:`Attacker Fleet`,defenderFleet:`Defender Fleet`,defenderDefense:`Defender Defense`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,plunder:`Plunder`,debrisField:`Debris Field`,resources:`Resources`,fleet:`Fleet`,defense:`Defense`,buildings:`Buildings`,unread:`Unread`,targetPlanet:`Target Planet`},simulatorView:{title:`Battle Simulator`,attacker:`Attacker`,defender:`Defender`,attackerConfig:`Attacker Configuration`,attackerConfigDesc:`Configure attacker fleet and technology levels`,defenderConfig:`Defender Configuration`,defenderConfigDesc:`Configure defender fleet, defense, and technology levels`,fleet:`Fleet`,defenseStructures:`Defense Structures`,techLevels:`Technology Levels`,weapon:`Weapon`,shield:`Shield`,armor:`Armor`,defenderResources:`Defender Resources (for plunder calculation)`,startSimulation:`Start Simulation`,reset:`Reset`,battleResult:`Battle Result`,attackerVictory:`Attacker Victory`,defenderVictory:`Defender Victory`,draw:`Draw`,afterRounds:`After {rounds} rounds`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,attackerRemaining:`Attacker Remaining`,defenderRemaining:`Defender Remaining`,allDestroyed:`All destroyed`,plunderableResources:`Plunderable Resources`,debrisField:`Debris Field`,moonChance:`Moon chance`,showRoundDetails:`Show round details`,hideRoundDetails:`Hide round details`,round:`Round {round}`,attackerRemainingPower:`Attacker remaining power`,defenderRemainingPower:`Defender remaining power`},settings:{dataManagement:`Data Management`,dataManagementDesc:`Export, import, or clear game data`,exportData:`Export Data`,exportDataDesc:`Export game progress as JSON file`,export:`Export`,exporting:`Exporting...`,exportSuccess:`Export successful`,exportFailed:`Export failed, please try again`,importData:`Import Data`,importDataDesc:`Restore game progress from JSON file`,selectFile:`Select File`,importSuccess:`Import successful`,importConfirmTitle:`Confirm Import`,importConfirmMessage:`Importing will overwrite current game progress. This action cannot be undone. Continue?`,importFailed:`Import failed, please check file format`,clearData:`Clear Data`,clearDataDesc:`Delete all game data and reset`,clear:`Clear`,clearConfirmTitle:`Confirm Clear Data`,clearConfirmMessage:`This will delete all game data and start over. This action cannot be undone. Continue?`,gameSettings:`Game Settings`,gameSettingsDesc:`Adjust game parameters and preferences`,gamePause:`Game Pause`,gamePauseDesc:`Pause or resume game time and resource production`,pause:`Pause`,resume:`Resume`,gamePaused:`Game paused`,gameResumed:`Game resumed`,playerName:`Player Name`,gameSpeed:`Game Speed`,gameSpeedDesc:`Current game speed multiplier`,about:`About`,version:`Version`,buildDate:`Build Date`,community:`Community`,github:`GitHub Repository`,qqGroup:`QQ Group`},gmView:{title:`GM Control Panel`,adminOnly:`Admin Only`,selectPlanet:`Select Planet`,choosePlanet:`Choose a planet`,resources:`Resources`,buildings:`Buildings`,research:`Research`,ships:`Ships`,defense:`Defense`,officers:`Officers`,modifyResources:`Modify Resources`,resourcesDesc:`Quickly modify planet resources`,modifyBuildings:`Modify Buildings`,buildingsDesc:`Quickly set building levels`,modifyResearch:`Modify Research`,researchDesc:`Quickly set research levels`,modifyShips:`Modify Ships`,shipsDesc:`Quickly set ship counts`,modifyDefense:`Modify Defense`,defenseDesc:`Quickly set defense counts`,modifyOfficers:`Modify Officers`,officersDesc:`Quickly set officer expiration time`,days:`d`,dangerZone:`Danger Zone`,dangerZoneDesc:`The following operations are irreversible`,resetGame:`Reset Game`,resetGameConfirm:`Are you sure you want to reset the game? This will delete all data!`}},r={common:{confirm:`Bestätigen`,cancel:`Abbrechen`,delete:`Löschen`,edit:`Bearbeiten`,save:`Speichern`,close:`Schließen`,back:`Zurück`,next:`Weiter`,previous:`Vorherige`,submit:`Absenden`,reset:`Zurücksetzen`,search:`Suchen`,filter:`Filtern`,loading:`Laden...`,noData:`Keine Daten`,error:`Fehler`,success:`Erfolg`,warning:`Warnung`,info:`Info`,resourceType:`Ressourcentyp`,playerName:`Kommandant`,timeHour:`Std`,timeMinute:`Min`,timeSecond:`Sek`,featureLocked:`Funktion gesperrt`,unlockRequired:`Gebäude erforderlich`,requiredBuilding:`Erforderliches Gebäude`,currentLevel:`Aktuelles Level`,goToBuildings:`Zu Gebäuden`,locked:`Gesperrt`,viewRequirements:`Anforderungen anzeigen`,requirementsNotMet:`Anforderungen nicht erfüllt`,current:`Aktuell`,level:`Stufe`},errors:{requirementsNotMet:`Anforderungen nicht erfüllt`,insufficientResources:`Unzureichende Ressourcen`,insufficientFleetStorage:`Unzureichender Flottenspeicher`,shieldDomeLimit:`Schildkuppel-Limit erreicht`,fleetMissionsFull:`Flottenmissionsplätze voll`,insufficientFleet:`Unzureichende Flotte`,insufficientFuel:`Unzureichender Treibstoff`,planetOnly:`Dieses Gebäude kann nur auf Planeten gebaut werden`,moonOnly:`Dieses Gebäude kann nur auf Monden gebaut werden`,buildQueueFull:`Bauauftrag voll`,insufficientSpace:`Unzureichender Platz`,buildingLevelZero:`Gebäudelevel ist 0, kann nicht abgerissen werden`,researchQueueFull:`Forschungsauftrag voll`,moonExists:`Mond existiert bereits`,insufficientDebris:`Unzureichendes Trümmerfeld`},nav:{overview:`Übersicht`,buildings:`Gebäude`,research:`Forschung`,shipyard:`Raumschiffwerft`,defense:`Verteidigung`,fleet:`Flotte`,officers:`Offiziere`,simulator:`Simulator`,galaxy:`Galaxie`,messages:`Nachrichten`,settings:`Einstellungen`,gm:`GM`},sidebar:{language:`Sprache`,lightMode:`Heller Modus`,darkMode:`Dunkler Modus`,collapse:`Einklappen`,expand:`Ausklappen`},resources:{metal:`Metall`,crystal:`Kristall`,deuterium:`Deuterium`,darkMatter:`Dunkle Materie`,energy:`Energie`,production:`Produktion`,consumption:`Verbrauch`,capacity:`Kapazität`,current:`Aktuell`,max:`Max. Kapazität`,perHour:`Stunde`,perMinute:`Min`,hour:`Stunde`,noEnergy:`Keine Energie`},planet:{planet:`Planet`,moon:`Mond`,colony:`Kolonie`,position:`Position`,coordinates:`Koordinaten`,switchToMoon:`Zum Mond`,backToPlanet:`Zurück zum Planeten`,fields:`Felder`,temperature:`Temperatur`,homePlanet:`Heimatplanet`,planetPrefix:`Planet`,moonSuffix:`s Mond`,colonyPrefix:`Kolonie`},player:{points:`Gesamtpunkte`},buildings:{metalMine:`Metallmine`,crystalMine:`Kristallmine`,deuteriumSynthesizer:`Deuterium-Synthesizer`,solarPlant:`Solarkraftwerk`,roboticsFactory:`Roboterfabrik`,naniteFactory:`Nanitenfabrik`,shipyard:`Raumschiffwerft`,researchLab:`Forschungslabor`,metalStorage:`Metallspeicher`,crystalStorage:`Kristallspeicher`,deuteriumTank:`Deuteriumtank`,darkMatterCollector:`Dunkle-Materie-Kollektor`,terraformer:`Terraformer`,lunarBase:`Mondbasis`,sensorPhalanx:`Sensorphalanx`,jumpGate:`Sprungtor`,planetDestroyerFactory:`Planetenzerstörer-Fabrik`,buildTime:`Bauzeit`,production:`Produktion`,consumption:`Verbrauch`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`},buildingDescriptions:{metalMine:`Fördert Metallressourcen`,crystalMine:`Fördert Kristallressourcen`,deuteriumSynthesizer:`Synthesiert Deuteriumressourcen`,solarPlant:`Liefert Energie`,roboticsFactory:`Beschleunigt Baugeschwindigkeit`,naniteFactory:`Erhöht Bauauftragskapazität, +1 pro Stufe (max 10 Stufen)`,shipyard:`Baut Schiffe`,researchLab:`Erforscht Technologien`,metalStorage:`Erhöht Metallspeicherkapazität`,crystalStorage:`Erhöht Kristallspeicherkapazität`,deuteriumTank:`Erhöht Deuteriumspeicherkapazität`,darkMatterCollector:`Sammelt seltene Dunkle-Materie-Ressourcen`,terraformer:`Terraformt Planetenoberfläche, erhöht verfügbaren Platz um 5 pro Stufe`,lunarBase:`Erhöht verfügbaren Platz auf dem Mond, +5 Platz pro Stufe`,sensorPhalanx:`Erkennt Flottenaktivitäten in umliegenden Systemen`,jumpGate:`Überträgt Flotten sofort zu anderen Monden`,planetDestroyerFactory:`Konstruiert ultimative Waffen zur Zerstörung von Planeten`},ships:{lightFighter:`Leichter Jäger`,heavyFighter:`Schwerer Jäger`,cruiser:`Kreuzer`,battleship:`Schlachtschiff`,smallCargo:`Kleiner Transporter`,largeCargo:`Großer Transporter`,colonyShip:`Kolonieschiff`,recycler:`Recycler`,espionageProbe:`Spionagesonde`,darkMatterHarvester:`Dunkle-Materie-Ernter`,deathstar:`Todesstern`},shipDescriptions:{lightFighter:`Grundlegende Kampfeinheit`,heavyFighter:`Schwer gepanzerter Jäger`,cruiser:`Mittleres Kriegsschiff, ausgewogene Offensive und Defensive`,battleship:`Mächtiges Kriegsschiff`,smallCargo:`Transportiert kleine Mengen Ressourcen`,largeCargo:`Transportiert große Mengen Ressourcen`,colonyShip:`Zur Kolonisierung neuer Planeten`,recycler:`Sammelt Trümmerfeld-Ressourcen`,espionageProbe:`Späht feindliche Planeten aus`,darkMatterHarvester:`Spezielles Schiff zum Ernten von Dunkler Materie`,deathstar:`Ultimative Waffe, die ganze Planeten zerstören kann`},defenses:{rocketLauncher:`Raketenwerfer`,lightLaser:`Leichtes Lasergeschütz`,heavyLaser:`Schweres Lasergeschütz`,gaussCannon:`Gaußkanone`,ionCannon:`Ionengeschütz`,plasmaTurret:`Plasmawerfer`,smallShieldDome:`Kleine Schildkuppel`,largeShieldDome:`Große Schildkuppel`,planetaryShield:`Planetarschild`},defenseDescriptions:{rocketLauncher:`Grundlegende Verteidigungsanlage`,lightLaser:`Leichte Energiewaffe`,heavyLaser:`Schwere Energiewaffe`,gaussCannon:`Hochgeschwindigkeits-Kinetikwaffe`,ionCannon:`Effektiv gegen Schilde`,plasmaTurret:`Mächtige Verteidigungsanlage`,smallShieldDome:`Kleiner Schild zum Schutz des gesamten Planeten`,largeShieldDome:`Großer Schild zum Schutz des gesamten Planeten`,planetaryShield:`Superschild zum Schutz des Planeten vor Vernichtungsangriffen`},research:{researchTime:`Forschungszeit`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`},technologies:{energyTechnology:`Energietechnik`,laserTechnology:`Lasertechnik`,ionTechnology:`Ionentechnik`,hyperspaceTechnology:`Hyperraumtechnik`,plasmaTechnology:`Plasmatechnik`,computerTechnology:`Computertechnologie`,combustionDrive:`Verbrennungsantrieb`,impulseDrive:`Impulsantrieb`,hyperspaceDrive:`Hyperraumantrieb`,darkMatterTechnology:`Dunkle-Materie-Technologie`,terraformingTechnology:`Terraforming-Technologie`,planetDestructionTech:`Planetenzerstörungstechnologie`},technologyDescriptions:{energyTechnology:`Verbessert Energieeffizienz`,laserTechnology:`Grundlage für Laserwaffen und -verteidigung`,ionTechnology:`Ionenwaffentechnologie`,hyperspaceTechnology:`Hyperraumsprung-Technologie`,plasmaTechnology:`Plasmawaffentechnologie`,computerTechnology:`Erhöht Forschungsauftragskapazität, +1 pro Stufe (max 10 Stufen)`,combustionDrive:`Grundlegende Antriebstechnologie`,impulseDrive:`Mittlere Antriebstechnologie`,hyperspaceDrive:`Fortgeschrittene Antriebstechnologie`,darkMatterTechnology:`Forschung zu Eigenschaften und Anwendungen von Dunkler Materie`,terraformingTechnology:`Forschung zur Planeten-Terraforming-Technologie, erhöht verfügbaren Platz aller Planeten um 3 pro Stufe`,planetDestructionTech:`Schreckliche Technologie zur Zerstörung ganzer Planeten`},officers:{commander:`Kommandant`,admiral:`Admiral`,engineer:`Ingenieur`,geologist:`Geologe`,technocrat:`Technokrat`,darkMatterSpecialist:`Dunkle-Materie-Spezialist`,resourceBonus:`Ressourcenproduktionsbonus`,darkMatterBonus:`Dunkle-Materie-Produktionsbonus`,energyBonus:`Energieproduktionsbonus`},officerDescriptions:{commander:`Verbessert Baugeschwindigkeit und Management`,admiral:`Verbessert Flottenkampf und Geschwindigkeit`,engineer:`Verbessert Energie und Verteidigung`,geologist:`Verbessert Ressourcenproduktion`,technocrat:`Verbessert Forschungsgeschwindigkeit und Spionage`,darkMatterSpecialist:`Verbessert Dunkle-Materie-Sammlungseffizienz`},queue:{buildQueue:`Bauauftrag`,researchQueue:`Forschungsauftrag`,building:`Im Bau`,researching:`In Forschung`,remaining:`Verbleibend`,cancel:`Abbrechen`,cancelBuild:`Bau abbrechen`,cancelResearch:`Forschung abbrechen`,confirmCancel:`Möchten Sie wirklich abbrechen? 50% der Ressourcen werden zurückerstattet.`,level:`Stufe`,upgradeToLevel:`Auf Stufe aufrüsten`},overview:{title:`Planetenübersicht`,resourceOverview:`Ressourcen`,fleetInfo:`Flotte`,currentShips:`Schiffe auf diesem Planeten`,productionSources:`Produktionsquellen`,productionSourcesDesc:`Detaillierte Ressourcenproduktion und Bonusinformationen`,consumptionSources:`Verbrauchsquellen`,consumptionSourcesDesc:`Energieverbrauchsdetails für Gebäude`,totalProduction:`Gesamtproduktion`,totalConsumption:`Gesamtverbrauch`,noConsumption:`Kein Energieverbrauch`},buildingsView:{title:`Gebäude`,usedSpace:`Verwendeter Platz`,spaceUsage:`Platzbedarf`,level:`Stufe`,upgradeCost:`Ausbaukosten`,buildTime:`Bauzeit`,upgrade:`Ausbauen`,maxLevelReached:`Maximale Stufe erreicht`,requirementsNotMet:`Anforderungen nicht erfüllt`,upgradeFailed:`Ausbau fehlgeschlagen`,upgradeFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen, Platz oder keine anderen Bauaufträge haben.`,demolish:`Abreißen`,demolishRefund:`Abriss-Rückerstattung`,demolishFailed:`Abriss fehlgeschlagen`,demolishFailedMessage:`Abriss nicht möglich. Bitte überprüfen Sie, ob die Bauqueue voll ist oder die Gebäudestufe 0 ist.`},researchView:{title:`Forschung`,researchCost:`Forschungskosten`,research:`Forschen`,maxLevelReached:`Maximale Stufe erreicht`,researchFailed:`Forschung fehlgeschlagen`,researchFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben, die Voraussetzungen erfüllt sind oder keine anderen Forschungsaufträge vorhanden sind.`},shipyard:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,fuelConsumption:`Treibstoffverbrauch`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},shipyardView:{title:`Raumschiffwerft`,fleetStorage:`Flottenspeicher`,attack:`Angriff`,shield:`Schild`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind.`},defense:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},defenseView:{title:`Verteidigung`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildTime:`Bauzeit`,seconds:`s`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,shieldDomeBuilt:`Schildkuppel bereits gebaut`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind. Schildkuppeln können nur einmal gebaut werden.`},fleetView:{title:`Flottenverwaltung`,fleetOverview:`Flottenübersicht`,sendFleet:`Flotte senden`,flightMissions:`Flugmissionen`,currentPlanetFleet:`Flotte auf diesem Planeten`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargo:`Fracht`,selectFleet:`Flotte auswählen`,selectFleetDescription:`Wählen Sie die Anzahl der zu sendenden Schiffe`,available:`Verfügbar`,all:`Alle`,targetCoordinates:`Zielkoordinaten`,galaxy:`Galaxie`,system:`System`,position:`Position`,missionType:`Missionstyp`,missionInfo:`Missionsinfo`,fuelConsumption:`Treibstoffverbrauch`,flightTime:`Flugzeit`,attackMission:`Angriff`,transport:`Transport`,colonize:`Kolonisieren`,spy:`Spionage`,deploy:`Stationieren`,recycle:`Recyceln`,transportResources:`Ressourcen transportieren`,totalCargoCapacity:`Gesamtladekapazität`,used:`Verwendet`,noFlightMissions:`Keine Flugmissionen`,outbound:`Hinflug`,returning:`Rückflug`,fleetComposition:`Flottenzusammensetzung`,carryingResources:`Transportierte Ressourcen`,arrivalTime:`Ankunftszeit`,returnTime:`Rückkehrzeit`,recallFleet:`Flotte zurückrufen`,sendFailed:`Senden fehlgeschlagen`,sendFailedMessage:`Bitte überprüfen Sie Flottenanzahl, Treibstoffverfügbarkeit oder Ladekapazitätsgrenzen.`,recallFailed:`Zurückrufen fehlgeschlagen`,recallFailedMessage:`Diese Mission kann nicht zurückgerufen werden.`,unknownPlanet:`Unbekannter Planet`,fleetMissionSlots:`Flottenmissionsplätze`,noShipsSelected:`Keine Schiffe ausgewählt`,cannotSendToOwnPlanet:`Flotte kann nicht zu eigenem Planeten gesendet werden`,cargoExceedsCapacity:`Fracht überschreitet Kapazität`,noColonyShip:`Kolonieschiff für Kolonisierungsmission erforderlich`,noDebrisAtTarget:`Kein Trümmerfeld an Zielkoordinaten oder Trümmerfeld ist leer`},officersView:{title:`Offiziere`,activated:`Aktiviert`,inactive:`Inaktiv`,activeStatus:`Aktivierungsstatus`,expirationTime:`Ablaufzeit`,remainingTime:`Verbleibende Zeit`,recruitCost:`Rekrutierungskosten`,days:`Tage`,benefitsBonus:`Vorteile`,resourceProduction:`Ressourcenproduktion`,darkMatterProduction:`Dunkle-Materie-Produktion`,energyProduction:`Energieproduktion`,buildingSpeed:`Baugeschwindigkeit`,researchSpeed:`Forschungsgeschwindigkeit`,fleetSpeed:`Flottengeschwindigkeit`,fuelConsumption:`Treibstoffverbrauch`,defense:`Verteidigung`,storageCapacity:`Lagerkapazität`,buildQueue:`Bauauftrag`,fleetSlots:`Flottenslots`,hire:`Rekrutieren`,renew:`Verlängern`,dismiss:`Entlassen`,hireTitle:`Offizier rekrutieren`,hireMessage:`Möchten Sie wirklich {name} rekrutieren? Gültig für 7 Tage.`,renewTitle:`Offizier verlängern`,renewMessage:`Möchten Sie wirklich {name} für 7 Tage verlängern?`,dismissTitle:`Offizier entlassen`,dismissMessage:`Möchten Sie wirklich {name} entlassen? Es werden keine Kosten zurückerstattet.`,hireFailed:`Rekrutierung fehlgeschlagen`,renewFailed:`Verlängerung fehlgeschlagen`,insufficientResources:`Nicht genug Ressourcen!`},galaxyView:{title:`Galaxie`,selectCoordinates:`Koordinaten auswählen`,galaxy:`Galaxie`,selectGalaxy:`Galaxie auswählen`,system:`System`,selectSystem:`System auswählen`,view:`Anzeigen`,myPlanet:`Mein Planet`,totalPositions:`Insgesamt 10 Planetenpositionen`,mine:`Mein`,hostile:`Feindlich`,emptySlot:`Leer - Kolonisierbar`,scout:`Spähen`,attack:`Angriff`,colonize:`Kolonisieren`,switch:`Wechseln`,recycle:`Recyceln`,debrisField:`Trümmerfeld`,scoutPlanetTitle:`Planet ausspionieren`,attackPlanetTitle:`Planet angreifen`,colonizePlanetTitle:`Planet kolonisieren`,recyclePlanetTitle:`Trümmer recyceln`,scoutPlanetMessage:`Möchten Sie wirklich Spionagesonden senden, um Planet [{coordinates}] auszuspionieren? - -Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,attackPlanetMessage:`Möchten Sie wirklich Planet [{coordinates}] angreifen? - -Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,colonizePlanetMessage:`Möchten Sie wirklich Position [{coordinates}] kolonisieren? - -Bitte gehen Sie zur Flottenseite, um ein Kolonieschiff zu senden.`,recyclePlanetMessage:`Möchten Sie wirklich Trümmer bei Position [{coordinates}] recyceln? - -Bitte gehen Sie zur Flottenseite, um Recycler zu senden.`},messagesView:{title:`Nachrichten`,battles:`Kämpfe`,spy:`Spionage`,battleReports:`Kampfberichte`,spyReports:`Spionageberichte`,noBattleReports:`Keine Kampfberichte`,noSpyReports:`Keine Spionageberichte`,battleReport:`Kampfbericht`,spyReport:`Spionagebericht`,victory:`Sieg`,defeat:`Niederlage`,draw:`Unentschieden`,attackerFleet:`Angreiferflotte`,defenderFleet:`Verteidigerflotte`,defenderDefense:`Verteidigerverteidigung`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,plunder:`Beute`,debrisField:`Trümmerfeld`,resources:`Ressourcen`,fleet:`Flotte`,defense:`Verteidigung`,buildings:`Gebäude`,unread:`Ungelesen`,targetPlanet:`Zielplanet`,attackerRemaining:`Angreifer verblieben`,defenderRemaining:`Verteidiger verblieben`,moonChance:`Mondchance`,showRoundDetails:`Rundendetails anzeigen`,hideRoundDetails:`Rundendetails ausblenden`,round:`Runde {round}`,attackerRemainingPower:`Verbleibende Angreiferkraft`,defenderRemainingPower:`Verbleibende Verteidigerkraft`},simulatorView:{title:`Kampfsimulator`,attacker:`Angreifer`,defender:`Verteidiger`,attackerConfig:`Angreiferkonfiguration`,attackerConfigDesc:`Angreiferflotte und Technologiestufen konfigurieren`,defenderConfig:`Verteidigerkonfiguration`,defenderConfigDesc:`Verteidigerflotte, Verteidigung und Technologiestufen konfigurieren`,fleet:`Flotte`,defenseStructures:`Verteidigungsanlagen`,techLevels:`Technologiestufen`,weapon:`Waffe`,shield:`Schild`,armor:`Panzerung`,defenderResources:`Verteidigerressourcen (für Beuteberechnung)`,startSimulation:`Simulation starten`,reset:`Zurücksetzen`,battleResult:`Kampfergebnis`,attackerVictory:`Angreifer Sieg`,defenderVictory:`Verteidiger Sieg`,draw:`Unentschieden`,afterRounds:`Nach {rounds} Runden`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,attackerRemaining:`Angreifer verblieben`,defenderRemaining:`Verteidiger verblieben`,allDestroyed:`Alle zerstört`,plunderableResources:`Erbeutbare Ressourcen`,debrisField:`Trümmerfeld`,moonChance:`Mondchance`,showRoundDetails:`Rundendetails anzeigen`,hideRoundDetails:`Rundendetails ausblenden`,round:`Runde {round}`,attackerRemainingPower:`Verbleibende Angreiferkraft`,defenderRemainingPower:`Verbleibende Verteidigerkraft`},settings:{dataManagement:`Datenverwaltung`,dataManagementDesc:`Spieldaten exportieren, importieren oder löschen`,exportData:`Daten exportieren`,exportDataDesc:`Spielfortschritt als JSON-Datei exportieren`,export:`Exportieren`,exporting:`Exportieren...`,exportSuccess:`Export erfolgreich`,exportFailed:`Export fehlgeschlagen, bitte erneut versuchen`,importData:`Daten importieren`,importDataDesc:`Spielfortschritt aus JSON-Datei wiederherstellen`,selectFile:`Datei auswählen`,importSuccess:`Import erfolgreich`,importConfirmTitle:`Import bestätigen`,importConfirmMessage:`Beim Importieren wird der aktuelle Spielfortschritt überschrieben. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,importFailed:`Import fehlgeschlagen, bitte Dateiformat überprüfen`,clearData:`Daten löschen`,clearDataDesc:`Alle Spieldaten löschen und zurücksetzen`,clear:`Löschen`,clearConfirmTitle:`Löschen bestätigen`,clearConfirmMessage:`Alle Spieldaten werden gelöscht und von vorne begonnen. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,gameSettings:`Spieleinstellungen`,gameSettingsDesc:`Spielparameter und Einstellungen anpassen`,gamePause:`Spielpause`,gamePauseDesc:`Spielzeit und Ressourcenproduktion pausieren oder fortsetzen`,pause:`Pausieren`,resume:`Fortsetzen`,gamePaused:`Spiel pausiert`,gameResumed:`Spiel fortgesetzt`,playerName:`Spielername`,gameSpeed:`Spielgeschwindigkeit`,gameSpeedDesc:`Aktueller Spielgeschwindigkeitsmultiplikator`,about:`Über`,version:`Version`,buildDate:`Build-Datum`,community:`Community`,github:`GitHub-Repository`,qqGroup:`QQ-Gruppe`},gmView:{title:`GM-Kontrollpanel`,adminOnly:`Nur Admin`,selectPlanet:`Planet auswählen`,choosePlanet:`Einen Planeten auswählen`,resources:`Ressourcen`,buildings:`Gebäude`,research:`Forschung`,ships:`Schiffe`,defense:`Verteidigung`,officers:`Offiziere`,modifyResources:`Ressourcen ändern`,resourcesDesc:`Planetenressourcen schnell ändern`,modifyBuildings:`Gebäude ändern`,buildingsDesc:`Gebäudelevel schnell festlegen`,modifyResearch:`Forschung ändern`,researchDesc:`Forschungslevel schnell festlegen`,modifyShips:`Schiffe ändern`,shipsDesc:`Schiffsanzahl schnell festlegen`,modifyDefense:`Verteidigung ändern`,defenseDesc:`Verteidigungsanzahl schnell festlegen`,modifyOfficers:`Offiziere ändern`,officersDesc:`Offiziersablaufzeit schnell festlegen`,days:`T`,dangerZone:`Gefahrenzone`,dangerZoneDesc:`Die folgenden Vorgänge sind irreversibel`,resetGame:`Spiel zurücksetzen`,resetGameConfirm:`Möchten Sie das Spiel wirklich zurücksetzen? Alle Daten werden gelöscht!`}},i={common:{confirm:`Подтвердить`,cancel:`Отмена`,delete:`Удалить`,edit:`Редактировать`,save:`Сохранить`,close:`Закрыть`,back:`Назад`,next:`Далее`,previous:`Предыдущий`,submit:`Отправить`,reset:`Сбросить`,search:`Поиск`,filter:`Фильтр`,loading:`Загрузка...`,noData:`Нет данных`,error:`Ошибка`,success:`Успешно`,warning:`Предупреждение`,info:`Информация`,resourceType:`Тип ресурса`,playerName:`Командир`,timeHour:`ч`,timeMinute:`мин`,timeSecond:`сек`,featureLocked:`Функция заблокирована`,unlockRequired:`Требуется здание`,requiredBuilding:`Необходимое здание`,currentLevel:`Текущий уровень`,goToBuildings:`К зданиям`,locked:`Заблокировано`,viewRequirements:`Просмотр требований`,requirementsNotMet:`Требования не выполнены`,current:`Текущий`,level:`Уровень`},errors:{requirementsNotMet:`Требования не выполнены`,insufficientResources:`Недостаточно ресурсов`,insufficientFleetStorage:`Недостаточно места для флота`,shieldDomeLimit:`Достигнут лимит щитовых куполов`,fleetMissionsFull:`Слоты миссий флота заполнены`,insufficientFleet:`Недостаточно флота`,insufficientFuel:`Недостаточно топлива`,planetOnly:`Это здание можно построить только на планетах`,moonOnly:`Это здание можно построить только на лунах`,buildQueueFull:`Очередь строительства заполнена`,insufficientSpace:`Недостаточно места`,buildingLevelZero:`Уровень здания 0, нельзя снести`,researchQueueFull:`Очередь исследований заполнена`,moonExists:`Луна уже существует`,insufficientDebris:`Недостаточно обломков`},nav:{overview:`Обзор`,buildings:`Здания`,research:`Исследования`,shipyard:`Верфь`,defense:`Оборона`,fleet:`Флот`,officers:`Офицеры`,simulator:`Симулятор`,galaxy:`Галактика`,messages:`Сообщения`,settings:`Настройки`,gm:`GM`},sidebar:{language:`Язык`,lightMode:`Светлая тема`,darkMode:`Тёмная тема`,collapse:`Свернуть`,expand:`Развернуть`},resources:{metal:`Металл`,crystal:`Кристалл`,deuterium:`Дейтерий`,darkMatter:`Тёмная материя`,energy:`Энергия`,production:`Производство`,consumption:`Потребление`,capacity:`Вместимость`,current:`Текущий`,max:`Макс. вместимость`,perHour:`час`,perMinute:`мин`,hour:`час`,noEnergy:`Нет энергии`},planet:{planet:`Планета`,moon:`Луна`,colony:`Колония`,position:`Позиция`,coordinates:`Координаты`,switchToMoon:`На луну`,backToPlanet:`Вернуться на планету`,fields:`Поля`,temperature:`Температура`,homePlanet:`Родная планета`,planetPrefix:`Планета`,moonSuffix:`я луна`,colonyPrefix:`Колония`},player:{points:`Всего очков`},buildings:{metalMine:`Рудник металла`,crystalMine:`Рудник кристалла`,deuteriumSynthesizer:`Синтезатор дейтерия`,solarPlant:`Солнечная электростанция`,roboticsFactory:`Фабрика роботов`,naniteFactory:`Нанитная фабрика`,shipyard:`Верфь`,researchLab:`Исследовательская лаборатория`,metalStorage:`Хранилище металла`,crystalStorage:`Хранилище кристалла`,deuteriumTank:`Цистерна дейтерия`,darkMatterCollector:`Коллектор тёмной материи`,terraformer:`Терраформер`,lunarBase:`Лунная база`,sensorPhalanx:`Сенсорная фаланга`,jumpGate:`Прыжковые ворота`,planetDestroyerFactory:`Фабрика разрушителей планет`,buildTime:`Время строительства`,production:`Производство`,consumption:`Потребление`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`},buildingDescriptions:{metalMine:`Добывает металлические ресурсы`,crystalMine:`Добывает кристаллические ресурсы`,deuteriumSynthesizer:`Синтезирует дейтериевые ресурсы`,solarPlant:`Обеспечивает энергией`,roboticsFactory:`Ускоряет скорость строительства`,naniteFactory:`Увеличивает вместимость очереди строительства, +1 за уровень (макс 10 уровней)`,shipyard:`Строит корабли`,researchLab:`Исследует технологии`,metalStorage:`Увеличивает ёмкость хранилища металла`,crystalStorage:`Увеличивает ёмкость хранилища кристалла`,deuteriumTank:`Увеличивает ёмкость хранилища дейтерия`,darkMatterCollector:`Собирает редкие ресурсы тёмной материи`,terraformer:`Терраформирует поверхность планеты, увеличивает доступное пространство на 5 за уровень`,lunarBase:`Увеличивает доступное пространство на луне, +5 пространства за уровень`,sensorPhalanx:`Обнаруживает активность флота в окружающих системах`,jumpGate:`Мгновенно переносит флоты на другие луны`,planetDestroyerFactory:`Производит абсолютное оружие, способное уничтожать планеты`},ships:{lightFighter:`Лёгкий истребитель`,heavyFighter:`Тяжёлый истребитель`,cruiser:`Крейсер`,battleship:`Линкор`,smallCargo:`Малый транспорт`,largeCargo:`Большой транспорт`,colonyShip:`Колонизатор`,recycler:`Переработчик`,espionageProbe:`Шпионский зонд`,darkMatterHarvester:`Сборщик тёмной материи`,deathstar:`Звезда Смерти`},shipDescriptions:{lightFighter:`Базовая боевая единица`,heavyFighter:`Тяжелобронированный истребитель`,cruiser:`Средний боевой корабль, сбалансированная атака и защита`,battleship:`Мощный боевой корабль`,smallCargo:`Транспортирует небольшое количество ресурсов`,largeCargo:`Транспортирует большое количество ресурсов`,colonyShip:`Используется для колонизации новых планет`,recycler:`Собирает ресурсы с поля обломков`,espionageProbe:`Разведывает вражеские планеты`,darkMatterHarvester:`Специальный корабль для сбора тёмной материи`,deathstar:`Абсолютное оружие, способное уничтожать целые планеты`},defenses:{rocketLauncher:`Ракетная установка`,lightLaser:`Лёгкий лазер`,heavyLaser:`Тяжёлый лазер`,gaussCannon:`Гауссова пушка`,ionCannon:`Ионное орудие`,plasmaTurret:`Плазменная турель`,smallShieldDome:`Малый щитовой купол`,largeShieldDome:`Большой щитовой купол`,planetaryShield:`Планетарный щит`},defenseDescriptions:{rocketLauncher:`Базовое оборонительное сооружение`,lightLaser:`Лёгкое энергетическое оружие`,heavyLaser:`Тяжёлое энергетическое оружие`,gaussCannon:`Высокоскоростное кинетическое оружие`,ionCannon:`Эффективно против щитов`,plasmaTurret:`Мощное оборонительное сооружение`,smallShieldDome:`Малый щит, защищающий всю планету`,largeShieldDome:`Большой щит, защищающий всю планету`,planetaryShield:`Суперщит, защищающий планету от атак уничтожения`},research:{researchTime:`Время исследования`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`},technologies:{energyTechnology:`Энергетическая технология`,laserTechnology:`Лазерная технология`,ionTechnology:`Ионная технология`,hyperspaceTechnology:`Гиперпространственная технология`,plasmaTechnology:`Плазменная технология`,computerTechnology:`Компьютерная технология`,combustionDrive:`Реактивный двигатель`,impulseDrive:`Импульсный двигатель`,hyperspaceDrive:`Гиперпространственный двигатель`,darkMatterTechnology:`Технология тёмной материи`,terraformingTechnology:`Технология терраформирования`,planetDestructionTech:`Технология уничтожения планет`},technologyDescriptions:{energyTechnology:`Улучшает энергоэффективность`,laserTechnology:`Основа лазерного оружия и обороны`,ionTechnology:`Технология ионного оружия`,hyperspaceTechnology:`Технология гиперпространственных прыжков`,plasmaTechnology:`Технология плазменного оружия`,computerTechnology:`Увеличивает вместимость очереди исследований, +1 за уровень (макс 10 уровней)`,combustionDrive:`Базовая технология двигателей`,impulseDrive:`Средняя технология двигателей`,hyperspaceDrive:`Продвинутая технология двигателей`,darkMatterTechnology:`Исследование свойств и применения тёмной материи`,terraformingTechnology:`Исследование технологии терраформирования планет, увеличивает доступное пространство всех планет на 3 за уровень`,planetDestructionTech:`Исследование ужасающей технологии уничтожения целых планет`},officers:{commander:`Командир`,admiral:`Адмирал`,engineer:`Инженер`,geologist:`Геолог`,technocrat:`Технократ`,darkMatterSpecialist:`Специалист по тёмной материи`,resourceBonus:`Бонус производства ресурсов`,darkMatterBonus:`Бонус производства тёмной материи`,energyBonus:`Бонус производства энергии`},officerDescriptions:{commander:`Улучшает скорость строительства и управление`,admiral:`Улучшает боевую мощь и скорость флота`,engineer:`Улучшает энергию и оборону`,geologist:`Улучшает производство ресурсов`,technocrat:`Улучшает скорость исследований и шпионаж`,darkMatterSpecialist:`Улучшает эффективность сбора тёмной материи`},queue:{buildQueue:`Очередь строительства`,researchQueue:`Очередь исследований`,building:`Строится`,researching:`Исследуется`,remaining:`Осталось`,cancel:`Отменить`,cancelBuild:`Отменить строительство`,cancelResearch:`Отменить исследование`,confirmCancel:`Вы уверены, что хотите отменить? 50% ресурсов будет возвращено.`,level:`Уровень`,upgradeToLevel:`Улучшить до уровня`},overview:{title:`Обзор планеты`,resourceOverview:`Ресурсы`,fleetInfo:`Флот`,currentShips:`Корабли на этой планете`,productionSources:`Источники производства`,productionSourcesDesc:`Подробная информация о производстве ресурсов и бонусах`,consumptionSources:`Источники потребления`,consumptionSourcesDesc:`Детали потребления энергии зданиями`,totalProduction:`Общее производство`,totalConsumption:`Общее потребление`,noConsumption:`Нет потребления энергии`},buildingsView:{title:`Здания`,usedSpace:`Использовано полей`,spaceUsage:`Использование полей`,level:`Уровень`,upgradeCost:`Стоимость улучшения`,buildTime:`Время строительства`,upgrade:`Улучшить`,maxLevelReached:`Достигнут максимальный уровень`,requirementsNotMet:`Требования не выполнены`,upgradeFailed:`Улучшение не удалось`,upgradeFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, места или нет других задач строительства.`,demolish:`Снести`,demolishRefund:`Возврат от сноса`,demolishFailed:`Снос не удался`,demolishFailedMessage:`Невозможно снести это здание. Проверьте, не заполнена ли очередь строительства или уровень здания не равен 0.`},researchView:{title:`Исследования`,researchCost:`Стоимость исследования`,research:`Исследовать`,maxLevelReached:`Достигнут максимальный уровень`,researchFailed:`Исследование не удалось`,researchFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, выполнены ли предварительные условия или нет других исследовательских задач.`},shipyard:{attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,fuelConsumption:`Расход топлива`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},shipyardView:{title:`Верфь`,fleetStorage:`Хранилище флота`,attack:`Атака`,shield:`Щит`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия.`},defense:{attack:`Атака`,shield:`Щит`,armor:`Броня`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},defenseView:{title:`Оборона`,attack:`Атака`,shield:`Щит`,armor:`Броня`,buildTime:`Время постройки`,seconds:`с`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,shieldDomeBuilt:`Щитовой купол уже построен`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия. Щитовые купола можно построить только один раз.`},fleetView:{title:`Управление флотом`,fleetOverview:`Обзор флота`,sendFleet:`Отправить флот`,flightMissions:`Полетные миссии`,currentPlanetFleet:`Флот на этой планете`,attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargo:`Груз`,selectFleet:`Выбрать флот`,selectFleetDescription:`Выберите количество кораблей для отправки`,available:`Доступно`,all:`Все`,targetCoordinates:`Целевые координаты`,galaxy:`Галактика`,system:`Система`,position:`Позиция`,missionType:`Тип миссии`,missionInfo:`Информация о миссии`,fuelConsumption:`Расход топлива`,flightTime:`Время полета`,attackMission:`Атака`,transport:`Транспорт`,colonize:`Колонизация`,spy:`Разведка`,deploy:`Размещение`,recycle:`Переработка`,transportResources:`Транспортировка ресурсов`,totalCargoCapacity:`Общая грузоподъёмность`,used:`Использовано`,noFlightMissions:`Нет полетных миссий`,outbound:`Туда`,returning:`Возвращение`,fleetComposition:`Состав флота`,carryingResources:`Перевозимые ресурсы`,arrivalTime:`Время прибытия`,returnTime:`Время возврата`,recallFleet:`Отозвать флот`,sendFailed:`Отправка не удалась`,sendFailedMessage:`Пожалуйста, проверьте количество флота, наличие топлива или ограничения грузоподъёмности.`,recallFailed:`Отзыв не удался`,recallFailedMessage:`Эта миссия не может быть отозвана.`,unknownPlanet:`Неизвестная планета`,fleetMissionSlots:`Слоты миссий флота`,noShipsSelected:`Корабли не выбраны`,cannotSendToOwnPlanet:`Невозможно отправить флот на свою планету`,cargoExceedsCapacity:`Груз превышает вместимость`,noColonyShip:`Для колонизационной миссии требуется колониальный корабль`,noDebrisAtTarget:`Нет поля обломков по целевым координатам или поле обломков пусто`},officersView:{title:`Офицеры`,activated:`Активирован`,inactive:`Неактивен`,activeStatus:`Статус активации`,expirationTime:`Время истечения`,remainingTime:`Оставшееся время`,recruitCost:`Стоимость найма`,days:`дн.`,benefitsBonus:`Бонусы`,resourceProduction:`Производство ресурсов`,darkMatterProduction:`Производство тёмной материи`,energyProduction:`Производство энергии`,buildingSpeed:`Скорость строительства`,researchSpeed:`Скорость исследований`,fleetSpeed:`Скорость флота`,fuelConsumption:`Расход топлива`,defense:`Защита`,storageCapacity:`Вместимость хранилища`,buildQueue:`Очередь строительства`,fleetSlots:`Слоты флота`,hire:`Нанять`,renew:`Продлить`,dismiss:`Уволить`,hireTitle:`Нанять офицера`,hireMessage:`Вы уверены, что хотите нанять {name}? Действует 7 дней.`,renewTitle:`Продлить офицера`,renewMessage:`Вы уверены, что хотите продлить {name} на 7 дней?`,dismissTitle:`Уволить офицера`,dismissMessage:`Вы уверены, что хотите уволить {name}? Средства не возвращаются.`,hireFailed:`Найм не удался`,renewFailed:`Продление не удалось`,insufficientResources:`Недостаточно ресурсов!`},galaxyView:{title:`Галактика`,selectCoordinates:`Выбрать координаты`,galaxy:`Галактика`,selectGalaxy:`Выбрать галактику`,system:`Система`,selectSystem:`Выбрать систему`,view:`Показать`,myPlanet:`Моя планета`,totalPositions:`Всего 10 позиций планет`,mine:`Моя`,hostile:`Враждебная`,emptySlot:`Пусто - можно колонизировать`,scout:`Разведка`,attack:`Атака`,colonize:`Колонизация`,switch:`Переключить`,recycle:`Переработка`,debrisField:`Поле обломков`,scoutPlanetTitle:`Разведать планету`,attackPlanetTitle:`Атаковать планету`,colonizePlanetTitle:`Колонизировать планету`,recyclePlanetTitle:`Переработать обломки`,scoutPlanetMessage:`Вы уверены, что хотите отправить шпионские зонды для разведки планеты [{coordinates}]? - -Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,attackPlanetMessage:`Вы уверены, что хотите атаковать планету [{coordinates}]? - -Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,colonizePlanetMessage:`Вы уверены, что хотите колонизировать позицию [{coordinates}]? - -Перейдите на страницу флота, чтобы отправить колонизационный корабль.`,recyclePlanetMessage:`Вы уверены, что хотите переработать обломки в позиции [{coordinates}]? - -Перейдите на страницу флота, чтобы отправить переработчики.`},messagesView:{title:`Сообщения`,battles:`Битвы`,spy:`Разведка`,battleReports:`Отчёты о боях`,spyReports:`Отчёты разведки`,noBattleReports:`Нет отчётов о боях`,noSpyReports:`Нет отчётов разведки`,battleReport:`Отчёт о бое`,spyReport:`Отчёт разведки`,victory:`Победа`,defeat:`Поражение`,draw:`Ничья`,attackerFleet:`Флот нападающего`,defenderFleet:`Флот защитника`,defenderDefense:`Оборона защитника`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,plunder:`Добыча`,debrisField:`Поле обломков`,resources:`Ресурсы`,fleet:`Флот`,defense:`Оборона`,buildings:`Здания`,unread:`Непрочитано`,targetPlanet:`Целевая планета`,attackerRemaining:`Осталось у нападающего`,defenderRemaining:`Осталось у защитника`,moonChance:`Шанс появления луны`,showRoundDetails:`Показать детали раундов`,hideRoundDetails:`Скрыть детали раундов`,round:`Раунд {round}`,attackerRemainingPower:`Оставшаяся мощь нападающего`,defenderRemainingPower:`Оставшаяся мощь защитника`},simulatorView:{title:`Симулятор боя`,attacker:`Нападающий`,defender:`Защитник`,attackerConfig:`Настройки нападающего`,attackerConfigDesc:`Настроить флот и уровни технологий нападающего`,defenderConfig:`Настройки защитника`,defenderConfigDesc:`Настроить флот, оборону и уровни технологий защитника`,fleet:`Флот`,defenseStructures:`Оборонительные сооружения`,techLevels:`Уровни технологий`,weapon:`Оружие`,shield:`Щит`,armor:`Броня`,defenderResources:`Ресурсы защитника (для расчёта добычи)`,startSimulation:`Начать симуляцию`,reset:`Сбросить`,battleResult:`Результат боя`,attackerVictory:`Победа нападающего`,defenderVictory:`Победа защитника`,draw:`Ничья`,afterRounds:`После {rounds} раундов`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,attackerRemaining:`Осталось у нападающего`,defenderRemaining:`Осталось у защитника`,allDestroyed:`Всё уничтожено`,plunderableResources:`Доступная добыча`,debrisField:`Поле обломков`,moonChance:`Шанс появления луны`,showRoundDetails:`Показать детали раундов`,hideRoundDetails:`Скрыть детали раундов`,round:`Раунд {round}`,attackerRemainingPower:`Оставшаяся мощь нападающего`,defenderRemainingPower:`Оставшаяся мощь защитника`},settings:{dataManagement:`Управление данными`,dataManagementDesc:`Экспорт, импорт или очистка игровых данных`,exportData:`Экспорт данных`,exportDataDesc:`Экспортировать прогресс игры в JSON файл`,export:`Экспорт`,exporting:`Экспорт...`,exportSuccess:`Экспорт успешен`,exportFailed:`Экспорт не удался, попробуйте еще раз`,importData:`Импорт данных`,importDataDesc:`Восстановить прогресс игры из JSON файла`,selectFile:`Выбрать файл`,importSuccess:`Импорт успешен`,importConfirmTitle:`Подтвердить импорт`,importConfirmMessage:`Импорт перезапишет текущий прогресс игры. Это действие невозможно отменить. Продолжить?`,importFailed:`Импорт не удался, проверьте формат файла`,clearData:`Очистить данные`,clearDataDesc:`Удалить все игровые данные и сбросить`,clear:`Очистить`,clearConfirmTitle:`Подтвердить очистку данных`,clearConfirmMessage:`Все игровые данные будут удалены и игра начнется заново. Это действие невозможно отменить. Продолжить?`,gameSettings:`Настройки игры`,gameSettingsDesc:`Настроить параметры и предпочтения игры`,gamePause:`Пауза игры`,gamePauseDesc:`Приостановить или возобновить игровое время и производство ресурсов`,pause:`Пауза`,resume:`Возобновить`,gamePaused:`Игра приостановлена`,gameResumed:`Игра возобновлена`,playerName:`Имя игрока`,gameSpeed:`Скорость игры`,gameSpeedDesc:`Текущий множитель скорости игры`,about:`О программе`,version:`Версия`,buildDate:`Дата сборки`,community:`Сообщество`,github:`Репозиторий GitHub`,qqGroup:`Группа QQ`},gmView:{title:`Панель управления GM`,adminOnly:`Только для администратора`,selectPlanet:`Выбрать планету`,choosePlanet:`Выберите планету`,resources:`Ресурсы`,buildings:`Здания`,research:`Исследования`,ships:`Корабли`,defense:`Оборона`,officers:`Офицеры`,modifyResources:`Изменить ресурсы`,resourcesDesc:`Быстрое изменение ресурсов планеты`,modifyBuildings:`Изменить здания`,buildingsDesc:`Быстрая установка уровней зданий`,modifyResearch:`Изменить исследования`,researchDesc:`Быстрая установка уровней исследований`,modifyShips:`Изменить корабли`,shipsDesc:`Быстрая установка количества кораблей`,modifyDefense:`Изменить оборону`,defenseDesc:`Быстрая установка количества обороны`,modifyOfficers:`Изменить офицеров`,officersDesc:`Быстрая установка времени истечения офицеров`,days:`д`,dangerZone:`Опасная зона`,dangerZoneDesc:`Следующие операции необратимы`,resetGame:`Сбросить игру`,resetGameConfirm:`Вы уверены, что хотите сбросить игру? Все данные будут удалены!`}},a={common:{confirm:`확인`,cancel:`취소`,delete:`삭제`,edit:`편집`,save:`저장`,close:`닫기`,back:`돌아가기`,next:`다음`,previous:`이전`,submit:`제출`,reset:`초기화`,search:`검색`,filter:`필터`,loading:`로딩 중...`,noData:`데이터 없음`,error:`오류`,success:`성공`,warning:`경고`,info:`정보`,resourceType:`자원 유형`,playerName:`사령관`,timeHour:`시간`,timeMinute:`분`,timeSecond:`초`,featureLocked:`기능 잠김`,unlockRequired:`건물 필요`,requiredBuilding:`필요한 건물`,currentLevel:`현재 레벨`,goToBuildings:`건물로 이동`,locked:`잠김`,viewRequirements:`요구사항 보기`,requirementsNotMet:`요구사항 미충족`,current:`현재`,level:`레벨`},errors:{requirementsNotMet:`전제 조건 미충족`,insufficientResources:`자원 부족`,insufficientFleetStorage:`함대 저장소 부족`,shieldDomeLimit:`실드 돔 한도 도달`,fleetMissionsFull:`함대 임무 슬롯 가득 참`,insufficientFleet:`함대 부족`,insufficientFuel:`연료 부족`,planetOnly:`이 건물은 행성에서만 지을 수 있습니다`,moonOnly:`이 건물은 위성에서만 지을 수 있습니다`,buildQueueFull:`건설 대기열 가득 참`,insufficientSpace:`공간 부족`,buildingLevelZero:`건물 레벨이 0이므로 철거할 수 없습니다`,researchQueueFull:`연구 대기열 가득 참`,moonExists:`위성이 이미 존재합니다`,insufficientDebris:`잔해장 부족`},nav:{overview:`개요`,buildings:`건물`,research:`연구`,shipyard:`조선소`,defense:`방어`,fleet:`함대`,officers:`장교`,simulator:`시뮬레이터`,galaxy:`은하계`,messages:`메시지`,settings:`설정`,gm:`GM`},sidebar:{language:`언어`,lightMode:`라이트 모드`,darkMode:`다크 모드`,collapse:`메뉴 접기`,expand:`메뉴 펼치기`},resources:{metal:`금속`,crystal:`크리스탈`,deuterium:`중수소`,darkMatter:`암흑 물질`,energy:`에너지`,production:`생산량`,consumption:`소비량`,capacity:`용량`,current:`현재 저장량`,max:`최대 용량`,perHour:`시간`,perMinute:`분`,hour:`시간`,noEnergy:`에너지 부족`},planet:{planet:`행성`,moon:`위성`,colony:`식민지`,position:`위치`,coordinates:`좌표`,switchToMoon:`위성 보기`,backToPlanet:`모행성으로 돌아가기`,fields:`필드`,temperature:`온도`,homePlanet:`모행성`,planetPrefix:`행성`,moonSuffix:`의 위성`,colonyPrefix:`식민지`},player:{points:`총 점수`},buildings:{metalMine:`금속 광산`,crystalMine:`크리스탈 광산`,deuteriumSynthesizer:`중수소 합성기`,solarPlant:`태양광 발전소`,roboticsFactory:`로봇 공장`,naniteFactory:`나노 공장`,shipyard:`조선소`,researchLab:`연구소`,metalStorage:`금속 창고`,crystalStorage:`크리스탈 창고`,deuteriumTank:`중수소 탱크`,darkMatterCollector:`암흑 물질 수집기`,terraformer:`지형 변환기`,lunarBase:`달 기지`,sensorPhalanx:`센서 팔랑크스`,jumpGate:`점프 게이트`,planetDestroyerFactory:`행성 파괴 공장`,buildTime:`건설 시간`,production:`생산량`,consumption:`소비`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`},buildingDescriptions:{metalMine:`금속 자원 채굴`,crystalMine:`크리스탈 자원 채굴`,deuteriumSynthesizer:`중수소 자원 합성`,solarPlant:`에너지 제공`,roboticsFactory:`건설 속도 향상`,naniteFactory:`건설 대기열 수 증가, 레벨당 +1 (최대 10레벨)`,shipyard:`함선 건조`,researchLab:`기술 연구`,metalStorage:`금속 저장 용량 증가`,crystalStorage:`크리스탈 저장 용량 증가`,deuteriumTank:`중수소 저장 용량 증가`,darkMatterCollector:`희귀한 암흑 물질 자원 수집`,terraformer:`행성 지형 개조, 레벨당 가용 공간 5 증가`,lunarBase:`달 가용 공간 증가, 레벨당 +5 공간`,sensorPhalanx:`주변 행성계의 함대 활동 감지`,jumpGate:`다른 위성으로 함대 순간 이동`,planetDestroyerFactory:`행성을 파괴할 수 있는 궁극 병기 건조`},ships:{lightFighter:`경전투기`,heavyFighter:`중전투기`,cruiser:`순양함`,battleship:`전함`,smallCargo:`소형 수송선`,largeCargo:`대형 수송선`,colonyShip:`식민선`,recycler:`재활용선`,espionageProbe:`정찰기`,darkMatterHarvester:`암흑 물질 채취선`,deathstar:`데스스타`},shipDescriptions:{lightFighter:`기본 전투 유닛`,heavyFighter:`중장갑 전투기`,cruiser:`중형 전함, 공격과 방어 균형`,battleship:`강력한 전함`,smallCargo:`소량의 자원 운송`,largeCargo:`대량의 자원 운송`,colonyShip:`새로운 행성 식민에 사용`,recycler:`잔해장 자원 수집`,espionageProbe:`적 행성 정찰`,darkMatterHarvester:`암흑 물질 채취 전용 특수 함선`,deathstar:`행성 전체를 파괴할 수 있는 궁극 병기`},defenses:{rocketLauncher:`로켓 발사대`,lightLaser:`경량 레이저포`,heavyLaser:`중형 레이저포`,gaussCannon:`가우스 캐논`,ionCannon:`이온 캐논`,plasmaTurret:`플라즈마 포탑`,smallShieldDome:`소형 실드 돔`,largeShieldDome:`대형 실드 돔`,planetaryShield:`행성 실드`},defenseDescriptions:{rocketLauncher:`기본 방어 시설`,lightLaser:`경량 에너지 무기`,heavyLaser:`중형 에너지 무기`,gaussCannon:`고속 운동 에너지 무기`,ionCannon:`실드 파괴의 이기`,plasmaTurret:`강력한 방어 시설`,smallShieldDome:`행성 전체를 보호하는 소형 실드`,largeShieldDome:`행성 전체를 보호하는 대형 실드`,planetaryShield:`파괴 공격으로부터 행성을 보호하는 초급 실드`},research:{researchTime:`연구 시간`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`},technologies:{energyTechnology:`에너지 기술`,laserTechnology:`레이저 기술`,ionTechnology:`이온 기술`,hyperspaceTechnology:`초공간 기술`,plasmaTechnology:`플라즈마 기술`,computerTechnology:`컴퓨터 기술`,combustionDrive:`연소 엔진`,impulseDrive:`임펄스 엔진`,hyperspaceDrive:`초공간 엔진`,darkMatterTechnology:`암흑 물질 기술`,terraformingTechnology:`지형 변환 기술`,planetDestructionTech:`행성 파괴 기술`},technologyDescriptions:{energyTechnology:`에너지 이용 효율 향상`,laserTechnology:`레이저 무기와 방어의 기초`,ionTechnology:`이온 무기 기술`,hyperspaceTechnology:`초공간 점프 기술`,plasmaTechnology:`플라즈마 무기 기술`,computerTechnology:`연구 대기열 수 증가, 레벨당 +1 (최대 10레벨)`,combustionDrive:`기본 추진 기술`,impulseDrive:`중급 추진 기술`,hyperspaceDrive:`고급 추진 기술`,darkMatterTechnology:`암흑 물질의 성질과 응용 연구`,terraformingTechnology:`행성 지형 개조 기술 연구, 레벨당 모든 행성의 가용 공간 3 증가`,planetDestructionTech:`행성 전체를 파괴하는 공포의 기술 연구`},officers:{commander:`사령관`,admiral:`제독`,engineer:`엔지니어`,geologist:`지질학자`,technocrat:`기술 전문가`,darkMatterSpecialist:`암흑 물질 전문가`,resourceBonus:`자원 생산 보너스`,darkMatterBonus:`암흑 물질 생산 보너스`,energyBonus:`에너지 생산 보너스`},officerDescriptions:{commander:`건설 속도 및 관리 능력 향상`,admiral:`함대 전투력 및 속도 향상`,engineer:`에너지 및 방어력 향상`,geologist:`자원 생산량 향상`,technocrat:`연구 속도 및 정찰 능력 향상`,darkMatterSpecialist:`암흑 물질 수집 효율 향상`},queue:{buildQueue:`건설 대기열`,researchQueue:`연구 대기열`,building:`건설 중`,researching:`연구 중`,remaining:`남은 시간`,cancel:`취소`,cancelBuild:`건설 취소`,cancelResearch:`연구 취소`,confirmCancel:`취소하시겠습니까? 자원의 50%가 환불됩니다.`,level:`레벨`,upgradeToLevel:`레벨로 업그레이드`},overview:{title:`행성 개요`,resourceOverview:`자원 개요`,fleetInfo:`함대`,currentShips:`현재 행성의 함선 수`,productionSources:`생산 소스`,productionSourcesDesc:`상세 자원 생산 및 보너스 정보`,consumptionSources:`소비 소스`,consumptionSourcesDesc:`건물 에너지 소비 세부 정보`,totalProduction:`총 생산량`,totalConsumption:`총 소비량`,noConsumption:`에너지 소비 없음`},buildingsView:{title:`건물`,usedSpace:`사용된 공간`,spaceUsage:`공간 사용`,level:`레벨`,upgradeCost:`업그레이드 비용`,buildTime:`건설 시간`,upgrade:`업그레이드`,maxLevelReached:`최대 레벨 도달`,requirementsNotMet:`요구 사항 미충족`,upgradeFailed:`업그레이드 실패`,upgradeFailedMessage:`자원이 충분한지, 공간이 충분한지, 또는 다른 건설 작업이 있는지 확인하세요.`,demolish:`철거`,demolishRefund:`철거 환불`,demolishFailed:`철거 실패`,demolishFailedMessage:`이 건물을 철거할 수 없습니다. 건설 대기열이 가득 찼거나 건물 레벨이 0인지 확인하세요.`},researchView:{title:`연구`,researchCost:`연구 비용`,research:`연구`,maxLevelReached:`최대 레벨 도달`,researchFailed:`연구 실패`,researchFailedMessage:`자원이 충분한지, 전제 조건이 충족되었는지, 또는 다른 연구 작업이 있는지 확인하세요.`},shipyard:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,speed:`속도`,cargoCapacity:`화물 용량`,fuelConsumption:`연료 소비`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},shipyardView:{title:`조선소`,fleetStorage:`함대 저장소`,attack:`공격력`,shield:`실드`,speed:`속도`,cargoCapacity:`적재량`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요.`},defense:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},defenseView:{title:`방어 시설`,attack:`공격력`,shield:`실드`,armor:`장갑`,buildTime:`건설 시간`,seconds:`초`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,shieldDomeBuilt:`실드 돔이 이미 건설됨`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요. 실드 돔은 하나만 건설할 수 있습니다.`},fleetView:{title:`함대 관리`,fleetOverview:`함대 개요`,sendFleet:`함대 파견`,flightMissions:`비행 임무`,currentPlanetFleet:`현재 행성 함대`,attack:`공격`,shield:`실드`,armor:`장갑`,speed:`속도`,cargo:`화물`,selectFleet:`함대 선택`,selectFleetDescription:`파견할 함선 수 선택`,available:`사용 가능`,all:`전체`,targetCoordinates:`목표 좌표`,galaxy:`은하계`,system:`행성계`,position:`위치`,missionType:`임무 유형`,missionInfo:`임무 정보`,fuelConsumption:`연료 소비`,flightTime:`비행 시간`,attackMission:`공격`,transport:`수송`,colonize:`식민`,spy:`정찰`,deploy:`배치`,recycle:`회수`,transportResources:`자원 수송`,totalCargoCapacity:`총 적재량`,used:`사용됨`,noFlightMissions:`비행 임무 없음`,outbound:`이동 중`,returning:`귀환 중`,fleetComposition:`함대 구성`,carryingResources:`운반 자원`,arrivalTime:`도착 시간`,returnTime:`귀환 시간`,recallFleet:`함대 소환`,sendFailed:`파견 실패`,sendFailedMessage:`함대 수, 연료 충분 여부 또는 적재량 한계를 확인하세요.`,recallFailed:`소환 실패`,recallFailedMessage:`이 임무는 소환할 수 없습니다.`,unknownPlanet:`알 수 없는 행성`,fleetMissionSlots:`함대 임무 슬롯`,noShipsSelected:`선택된 함선 없음`,cannotSendToOwnPlanet:`자신의 행성으로 함대를 파견할 수 없습니다`,cargoExceedsCapacity:`적재량이 용량을 초과합니다`,noColonyShip:`식민 임무를 위해 식민선이 필요합니다`,noDebrisAtTarget:`대상 좌표에 잔해장이 없거나 잔해장이 비어 있습니다`},officersView:{title:`장교`,activated:`활성화됨`,inactive:`비활성`,activeStatus:`활성 상태`,expirationTime:`만료 시간`,remainingTime:`남은 시간`,recruitCost:`모집 비용`,days:`일`,benefitsBonus:`효과 보너스`,resourceProduction:`자원 생산량`,darkMatterProduction:`암흑 물질 생산량`,energyProduction:`에너지 생산량`,buildingSpeed:`건설 속도`,researchSpeed:`연구 속도`,fleetSpeed:`함대 속도`,fuelConsumption:`연료 소비`,defense:`방어력`,storageCapacity:`저장 용량`,buildQueue:`건설 대기열`,fleetSlots:`함대 슬롯`,hire:`고용`,renew:`갱신`,dismiss:`해고`,hireTitle:`장교 고용`,hireMessage:`{name}을(를) 고용하시겠습니까? 유효 기간은 7일입니다.`,renewTitle:`장교 갱신`,renewMessage:`{name}을(를) 7일간 갱신하시겠습니까?`,dismissTitle:`장교 해고`,dismissMessage:`{name}을(를) 해고하시겠습니까? 비용은 환불되지 않습니다.`,hireFailed:`고용 실패`,renewFailed:`갱신 실패`,insufficientResources:`자원 부족!`},galaxyView:{title:`은하계`,selectCoordinates:`좌표 선택`,galaxy:`은하계`,selectGalaxy:`은하계 선택`,system:`행성계`,selectSystem:`행성계 선택`,view:`보기`,myPlanet:`내 행성`,totalPositions:`총 10개 행성 위치`,mine:`내 것`,hostile:`적대`,emptySlot:`빈 자리 - 식민 가능`,scout:`정찰`,attack:`공격`,colonize:`식민`,switch:`전환`,recycle:`회수`,debrisField:`잔해 필드`,scoutPlanetTitle:`행성 정찰`,attackPlanetTitle:`행성 공격`,colonizePlanetTitle:`행성 식민`,recyclePlanetTitle:`잔해 회수`,scoutPlanetMessage:`행성 [{coordinates}]을(를) 정찰하기 위해 정찰기를 보내시겠습니까? - -함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,attackPlanetMessage:`행성 [{coordinates}]을(를) 공격하시겠습니까? - -함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,colonizePlanetMessage:`위치 [{coordinates}]을(를) 식민하시겠습니까? - -함대 페이지로 이동하여 식민선을 파견하세요.`,recyclePlanetMessage:`위치 [{coordinates}]의 잔해를 회수하시겠습니까? - -함대 페이지로 이동하여 회수선을 파견하세요.`},messagesView:{title:`메시지 센터`,battles:`전투`,spy:`정찰`,battleReports:`전투 보고서`,spyReports:`정찰 보고서`,noBattleReports:`전투 보고서 없음`,noSpyReports:`정찰 보고서 없음`,battleReport:`전투 보고서`,spyReport:`정찰 보고서`,victory:`승리`,defeat:`패배`,draw:`무승부`,attackerFleet:`공격자 함대`,defenderFleet:`방어자 함대`,defenderDefense:`방어자 방어`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,plunder:`약탈 자원`,debrisField:`잔해장`,resources:`자원`,fleet:`함대`,defense:`방어`,buildings:`건물`,unread:`읽지 않음`,targetPlanet:`목표 행성`,attackerRemaining:`공격자 잔여`,defenderRemaining:`방어자 잔여`,moonChance:`위성 생성 확률`,showRoundDetails:`라운드 상세 표시`,hideRoundDetails:`라운드 상세 숨기기`,round:`제{round}라운드`,attackerRemainingPower:`공격자 잔여 화력`,defenderRemainingPower:`방어자 잔여 화력`},simulatorView:{title:`전투 시뮬레이터`,attacker:`공격자`,defender:`방어자`,attackerConfig:`공격자 설정`,attackerConfigDesc:`공격자의 함대와 기술 레벨 설정`,defenderConfig:`방어자 설정`,defenderConfigDesc:`방어자의 함대, 방어 및 기술 레벨 설정`,fleet:`함대`,defenseStructures:`방어 시설`,techLevels:`기술 레벨`,weapon:`무기`,shield:`실드`,armor:`장갑`,defenderResources:`방어자 자원 (약탈 계산용)`,startSimulation:`시뮬레이션 시작`,reset:`초기화`,battleResult:`전투 결과`,attackerVictory:`공격자 승리`,defenderVictory:`방어자 승리`,draw:`무승부`,afterRounds:`{rounds}회 전투 후`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,attackerRemaining:`공격자 잔여`,defenderRemaining:`방어자 잔여`,allDestroyed:`모두 파괴됨`,plunderableResources:`약탈 가능 자원`,debrisField:`잔해장`,moonChance:`위성 생성 확률`,showRoundDetails:`라운드 상세 표시`,hideRoundDetails:`라운드 상세 숨기기`,round:`제 {round} 라운드`,attackerRemainingPower:`공격자 잔여 화력`,defenderRemainingPower:`방어자 잔여 화력`},settings:{dataManagement:`데이터 관리`,dataManagementDesc:`게임 데이터 내보내기, 가져오기 또는 지우기`,exportData:`데이터 내보내기`,exportDataDesc:`게임 진행 상황을 JSON 파일로 내보내기`,export:`내보내기`,exporting:`내보내는 중...`,exportSuccess:`내보내기 성공`,exportFailed:`내보내기 실패, 다시 시도해주세요`,importData:`데이터 가져오기`,importDataDesc:`JSON 파일에서 게임 진행 상황 복원`,selectFile:`파일 선택`,importSuccess:`가져오기 성공`,importConfirmTitle:`가져오기 확인`,importConfirmMessage:`가져오기를 하면 현재 게임 진행 상황이 덮어쓰기됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,importFailed:`가져오기 실패, 파일 형식을 확인해주세요`,clearData:`데이터 지우기`,clearDataDesc:`모든 게임 데이터 삭제 및 초기화`,clear:`지우기`,clearConfirmTitle:`데이터 지우기 확인`,clearConfirmMessage:`모든 게임 데이터가 삭제되고 처음부터 시작됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,gameSettings:`게임 설정`,gameSettingsDesc:`게임 매개변수 및 설정 조정`,gamePause:`게임 일시정지`,gamePauseDesc:`게임 시간 및 자원 생산 일시정지 또는 재개`,pause:`일시정지`,resume:`재개`,gamePaused:`게임이 일시정지되었습니다`,gameResumed:`게임이 재개되었습니다`,playerName:`플레이어 이름`,gameSpeed:`게임 속도`,gameSpeedDesc:`현재 게임 속도 배율`,about:`정보`,version:`버전`,buildDate:`빌드 날짜`,community:`커뮤니티`,github:`GitHub 저장소`,qqGroup:`QQ 그룹`},gmView:{title:`GM 제어판`,adminOnly:`관리자 전용`,selectPlanet:`행성 선택`,choosePlanet:`행성을 선택하세요`,resources:`자원`,buildings:`건물`,research:`연구`,ships:`함선`,defense:`방어`,officers:`장교`,modifyResources:`자원 수정`,resourcesDesc:`행성 자원을 빠르게 수정`,modifyBuildings:`건물 수정`,buildingsDesc:`건물 레벨을 빠르게 설정`,modifyResearch:`연구 수정`,researchDesc:`연구 레벨을 빠르게 설정`,modifyShips:`함선 수정`,shipsDesc:`함선 수량을 빠르게 설정`,modifyDefense:`방어 수정`,defenseDesc:`방어 수량을 빠르게 설정`,modifyOfficers:`장교 수정`,officersDesc:`장교 만료 시간을 빠르게 설정`,days:`일`,dangerZone:`위험 구역`,dangerZoneDesc:`다음 작업은 되돌릴 수 없습니다`,resetGame:`게임 초기화`,resetGameConfirm:`게임을 초기화하시겠습니까? 모든 데이터가 삭제됩니다!`}},o={common:{confirm:`確認`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,save:`保存`,close:`閉じる`,back:`戻る`,next:`次へ`,previous:`前へ`,submit:`送信`,reset:`リセット`,search:`検索`,filter:`フィルター`,loading:`読み込み中...`,noData:`データなし`,error:`エラー`,success:`成功`,warning:`警告`,info:`情報`,resourceType:`資源タイプ`,playerName:`司令官`,timeHour:`時間`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`機能がロックされています`,unlockRequired:`建物が必要です`,requiredBuilding:`必要な建物`,currentLevel:`現在のレベル`,goToBuildings:`建物へ移動`,locked:`ロック済み`,viewRequirements:`必要条件を表示`,requirementsNotMet:`必要条件が満たされていません`,current:`現在`,level:`レベル`},errors:{requirementsNotMet:`前提条件を満たしていません`,insufficientResources:`資源が不足しています`,insufficientFleetStorage:`艦隊ストレージが不足しています`,shieldDomeLimit:`シールドドームの上限に達しました`,fleetMissionsFull:`艦隊ミッションスロットが満杯です`,insufficientFleet:`艦隊が不足しています`,insufficientFuel:`燃料が不足しています`,planetOnly:`この建物は惑星でのみ建設できます`,moonOnly:`この建物は月でのみ建設できます`,buildQueueFull:`建設キューが満杯です`,insufficientSpace:`スペースが不足しています`,buildingLevelZero:`建物レベルが0のため、解体できません`,researchQueueFull:`研究キューが満杯です`,moonExists:`月は既に存在します`,insufficientDebris:`残骸フィールドが不足しています`},nav:{overview:`概要`,buildings:`建物`,research:`研究`,shipyard:`造船所`,defense:`防衛`,fleet:`艦隊`,officers:`士官`,simulator:`シミュレーター`,galaxy:`銀河`,messages:`メッセージ`,settings:`設定`,gm:`GM`},sidebar:{language:`言語`,lightMode:`ライトモード`,darkMode:`ダークモード`,collapse:`メニューを閉じる`,expand:`メニューを開く`},resources:{metal:`金属`,crystal:`クリスタル`,deuterium:`重水素`,darkMatter:`ダークマター`,energy:`エネルギー`,production:`生産量`,consumption:`消費量`,capacity:`容量`,current:`現在の貯蔵量`,max:`最大容量`,perHour:`時間`,perMinute:`分`,hour:`時間`,noEnergy:`エネルギー不足`},planet:{planet:`惑星`,moon:`月`,colony:`コロニー`,position:`位置`,coordinates:`座標`,switchToMoon:`月を表示`,backToPlanet:`母星に戻る`,fields:`フィールド`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`惑星`,moonSuffix:`の月`,colonyPrefix:`コロニー`},player:{points:`総ポイント`},buildings:{metalMine:`金属鉱山`,crystalMine:`クリスタル鉱山`,deuteriumSynthesizer:`重水素合成装置`,solarPlant:`太陽光発電所`,roboticsFactory:`ロボット工場`,naniteFactory:`ナノマシン工場`,shipyard:`造船所`,researchLab:`研究所`,metalStorage:`金属倉庫`,crystalStorage:`クリスタル倉庫`,deuteriumTank:`重水素タンク`,darkMatterCollector:`ダークマター採取装置`,terraformer:`テラフォーマー`,lunarBase:`月面基地`,sensorPhalanx:`センサーファランクス`,jumpGate:`ジャンプゲート`,planetDestroyerFactory:`惑星破壊工場`,buildTime:`建設時間`,production:`生産量`,consumption:`消費`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`},buildingDescriptions:{metalMine:`金属資源を採掘`,crystalMine:`クリスタル資源を採掘`,deuteriumSynthesizer:`重水素資源を合成`,solarPlant:`エネルギーを供給`,roboticsFactory:`建設速度を向上`,naniteFactory:`建設キュー数を増加、レベル毎に+1(最大10レベル)`,shipyard:`艦船を建造`,researchLab:`技術を研究`,metalStorage:`金属の貯蔵上限を増加`,crystalStorage:`クリスタルの貯蔵上限を増加`,deuteriumTank:`重水素の貯蔵上限を増加`,darkMatterCollector:`希少なダークマター資源を収集`,terraformer:`惑星地形を改造、レベル毎に利用可能スペース5増加`,lunarBase:`月の利用可能スペースを増加、レベル毎に+5スペース`,sensorPhalanx:`周辺星系の艦隊活動を探知`,jumpGate:`他の月へ艦隊を瞬間移動`,planetDestroyerFactory:`惑星を破壊できる究極兵器を建造`},ships:{lightFighter:`軽戦闘機`,heavyFighter:`重戦闘機`,cruiser:`巡洋艦`,battleship:`戦艦`,smallCargo:`小型輸送船`,largeCargo:`大型輸送船`,colonyShip:`コロニーシップ`,recycler:`リサイクラー`,espionageProbe:`スパイプローブ`,darkMatterHarvester:`ダークマター採取船`,deathstar:`デススター`},shipDescriptions:{lightFighter:`基本戦闘ユニット`,heavyFighter:`重装甲戦闘機`,cruiser:`中型戦艦、攻守バランス型`,battleship:`強力な戦艦`,smallCargo:`少量の資源を輸送`,largeCargo:`大量の資源を輸送`,colonyShip:`新惑星の植民に使用`,recycler:`デブリフィールドの資源を回収`,espionageProbe:`敵惑星を偵察`,darkMatterHarvester:`ダークマター採取専用の特殊艦`,deathstar:`惑星全体を破壊できる究極兵器`},defenses:{rocketLauncher:`ロケットランチャー`,lightLaser:`ライトレーザー`,heavyLaser:`ヘビーレーザー`,gaussCannon:`ガウスキャノン`,ionCannon:`イオンキャノン`,plasmaTurret:`プラズマタレット`,smallShieldDome:`小型シールドドーム`,largeShieldDome:`大型シールドドーム`,planetaryShield:`惑星シールド`},defenseDescriptions:{rocketLauncher:`基本防衛施設`,lightLaser:`軽量エネルギー兵器`,heavyLaser:`重型エネルギー兵器`,gaussCannon:`高速運動エネルギー兵器`,ionCannon:`シールド破壊に効果的`,plasmaTurret:`強力な防衛施設`,smallShieldDome:`惑星全体を保護する小型シールド`,largeShieldDome:`惑星全体を保護する大型シールド`,planetaryShield:`破壊攻撃から惑星を保護する超級シールド`},research:{researchTime:`研究時間`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`},technologies:{energyTechnology:`エネルギー技術`,laserTechnology:`レーザー技術`,ionTechnology:`イオン技術`,hyperspaceTechnology:`ハイパースペース技術`,plasmaTechnology:`プラズマ技術`,computerTechnology:`コンピューター技術`,combustionDrive:`燃焼ドライブ`,impulseDrive:`インパルスドライブ`,hyperspaceDrive:`ハイパースペースドライブ`,darkMatterTechnology:`ダークマター技術`,terraformingTechnology:`テラフォーミング技術`,planetDestructionTech:`惑星破壊技術`},technologyDescriptions:{energyTechnology:`エネルギー利用効率を向上`,laserTechnology:`レーザー兵器と防衛の基礎`,ionTechnology:`イオン兵器技術`,hyperspaceTechnology:`ハイパースペースジャンプ技術`,plasmaTechnology:`プラズマ兵器技術`,computerTechnology:`研究キュー数を増加、レベル毎に+1(最大10レベル)`,combustionDrive:`基本推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`ダークマターの性質と応用を研究`,terraformingTechnology:`惑星地形改造技術を研究、レベル毎に全惑星の利用可能スペース3増加`,planetDestructionTech:`惑星全体を破壊する恐怖の技術を研究`},officers:{commander:`司令官`,admiral:`提督`,engineer:`エンジニア`,geologist:`地質学者`,technocrat:`技術専門家`,darkMatterSpecialist:`ダークマター専門家`,resourceBonus:`資源生産ボーナス`,darkMatterBonus:`ダークマター生産ボーナス`,energyBonus:`エネルギー生産ボーナス`},officerDescriptions:{commander:`建設速度と管理能力を向上`,admiral:`艦隊戦闘力と速度を向上`,engineer:`エネルギーと防御力を向上`,geologist:`資源生産量を向上`,technocrat:`研究速度と偵察能力を向上`,darkMatterSpecialist:`ダークマター採取効率を向上`},queue:{buildQueue:`建設キュー`,researchQueue:`研究キュー`,building:`建設中`,researching:`研究中`,remaining:`残り時間`,cancel:`キャンセル`,cancelBuild:`建設キャンセル`,cancelResearch:`研究キャンセル`,confirmCancel:`キャンセルしますか?資源の50%が返還されます。`,level:`レベル`,upgradeToLevel:`レベルにアップグレード`},shipyard:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargoCapacity:`貨物容量`,fuelConsumption:`燃料消費`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},overview:{title:`惑星概要`,resourceOverview:`資源概要`,fleetInfo:`艦隊`,currentShips:`現在の惑星の艦船数`,productionSources:`生産源`,productionSourcesDesc:`詳細な資源生産とボーナス情報`,consumptionSources:`消費源`,consumptionSourcesDesc:`建物のエネルギー消費詳細`,totalProduction:`総生産量`,totalConsumption:`総消費量`,noConsumption:`エネルギー消費なし`},buildingsView:{title:`建物`,usedSpace:`使用済みスペース`,spaceUsage:`スペース使用量`,level:`レベル`,upgradeCost:`アップグレードコスト`,buildTime:`建設時間`,upgrade:`アップグレード`,maxLevelReached:`最大レベルに達しました`,requirementsNotMet:`要件が満たされていません`,upgradeFailed:`アップグレード失敗`,upgradeFailedMessage:`資源が十分か、スペースが十分か、または他の建設タスクがないか確認してください。`,demolish:`解体`,demolishRefund:`解体返還`,demolishFailed:`解体失敗`,demolishFailedMessage:`この建物を解体できません。建設キューが満杯か、建物レベルが0でないか確認してください。`},researchView:{title:`研究`,researchCost:`研究コスト`,research:`研究`,maxLevelReached:`最大レベルに達しました`,researchFailed:`研究失敗`,researchFailedMessage:`資源が十分か、前提条件が満たされているか、または他の研究タスクがないか確認してください。`},defense:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},shipyardView:{title:`造船所`,fleetStorage:`艦隊ストレージ`,attack:`攻撃力`,shield:`シールド`,speed:`速度`,cargoCapacity:`積載量`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。`},defenseView:{title:`防衛施設`,attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildTime:`建設時間`,seconds:`秒`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,shieldDomeBuilt:`シールドドーム建設済み`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。シールドドームは1つのみ建設できます。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊概要`,sendFleet:`艦隊派遣`,flightMissions:`飛行ミッション`,currentPlanetFleet:`現在の惑星艦隊`,attack:`攻撃`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargo:`貨物`,selectFleet:`艦隊選択`,selectFleetDescription:`派遣する艦船数を選択`,available:`利用可能`,all:`全て`,targetCoordinates:`目標座標`,galaxy:`銀河`,system:`星系`,position:`位置`,missionType:`ミッションタイプ`,missionInfo:`ミッション情報`,fuelConsumption:`燃料消費`,flightTime:`飛行時間`,attackMission:`攻撃`,transport:`輸送`,colonize:`植民`,spy:`偵察`,deploy:`配備`,recycle:`回収`,transportResources:`資源輸送`,totalCargoCapacity:`総積載量`,used:`使用済み`,noFlightMissions:`飛行ミッションなし`,outbound:`往路`,returning:`帰路`,fleetComposition:`艦隊構成`,carryingResources:`運搬資源`,arrivalTime:`到着時刻`,returnTime:`帰還時刻`,recallFleet:`艦隊召還`,sendFailed:`派遣失敗`,sendFailedMessage:`艦隊数、燃料の充足、または積載量の制限を確認してください。`,recallFailed:`召還失敗`,recallFailedMessage:`このミッションは召還できません。`,unknownPlanet:`未知の惑星`,fleetMissionSlots:`艦隊ミッションスロット`,noShipsSelected:`艦船が選択されていません`,cannotSendToOwnPlanet:`自分の惑星に艦隊を派遣できません`,cargoExceedsCapacity:`積載量が容量を超えています`,noColonyShip:`植民ミッションにはコロニーシップが必要です`,noDebrisAtTarget:`目標座標にデブリフィールドがないか、デブリフィールドが空です`},officersView:{title:`士官`,activated:`アクティブ`,inactive:`非アクティブ`,activeStatus:`アクティブ状態`,expirationTime:`期限切れ時刻`,remainingTime:`残り時間`,recruitCost:`募集コスト`,days:`日`,benefitsBonus:`効果ボーナス`,resourceProduction:`資源生産量`,darkMatterProduction:`ダークマター生産量`,energyProduction:`エネルギー生産量`,buildingSpeed:`建設速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消費`,defense:`防御力`,storageCapacity:`貯蔵容量`,buildQueue:`建設キュー`,fleetSlots:`艦隊スロット`,hire:`雇用`,renew:`更新`,dismiss:`解雇`,hireTitle:`士官雇用`,hireMessage:`{name}を雇用しますか?有効期限は7日間です。`,renewTitle:`士官更新`,renewMessage:`{name}を7日間更新しますか?`,dismissTitle:`士官解雇`,dismissMessage:`{name}を解雇しますか?費用は返金されません。`,hireFailed:`雇用失敗`,renewFailed:`更新失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`銀河`,selectCoordinates:`座標選択`,galaxy:`銀河`,selectGalaxy:`銀河を選択`,system:`星系`,selectSystem:`星系を選択`,view:`表示`,myPlanet:`自分の惑星`,totalPositions:`全10惑星位置`,mine:`自分`,hostile:`敵対`,emptySlot:`空き - 植民可能`,scout:`偵察`,attack:`攻撃`,colonize:`植民`,switch:`切り替え`,recycle:`回収`,debrisField:`デブリフィールド`,scoutPlanetTitle:`惑星偵察`,attackPlanetTitle:`惑星攻撃`,colonizePlanetTitle:`惑星植民`,recyclePlanetTitle:`デブリ回収`,scoutPlanetMessage:`惑星[{coordinates}]にスパイプローブを送りますか? - -艦隊ページに移動して艦船を選択して派遣してください。`,attackPlanetMessage:`惑星[{coordinates}]を攻撃しますか? - -艦隊ページに移動して艦船を選択して派遣してください。`,colonizePlanetMessage:`位置[{coordinates}]を植民しますか? - -艦隊ページに移動してコロニーシップを派遣してください。`,recyclePlanetMessage:`位置[{coordinates}]のデブリを回収しますか? - -艦隊ページに移動してリサイクラーを派遣してください。`},messagesView:{title:`メッセージセンター`,battles:`戦闘`,spy:`スパイ`,battleReports:`戦闘レポート`,spyReports:`スパイレポート`,noBattleReports:`戦闘レポートなし`,noSpyReports:`スパイレポートなし`,battleReport:`戦闘レポート`,spyReport:`スパイレポート`,victory:`勝利`,defeat:`敗北`,draw:`引き分け`,attackerFleet:`攻撃側艦隊`,defenderFleet:`防御側艦隊`,defenderDefense:`防御側防衛`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,plunder:`略奪資源`,debrisField:`デブリフィールド`,resources:`資源`,fleet:`艦隊`,defense:`防衛`,buildings:`建物`,unread:`未読`,targetPlanet:`目標惑星`,attackerRemaining:`攻撃側残存`,defenderRemaining:`防御側残存`,moonChance:`月生成確率`,showRoundDetails:`ラウンド詳細表示`,hideRoundDetails:`ラウンド詳細非表示`,round:`第{round}ラウンド`,attackerRemainingPower:`攻撃側残存火力`,defenderRemainingPower:`防御側残存火力`},simulatorView:{title:`戦闘シミュレーター`,attacker:`攻撃側`,defender:`防御側`,attackerConfig:`攻撃側設定`,attackerConfigDesc:`攻撃側の艦隊と技術レベルを設定`,defenderConfig:`防御側設定`,defenderConfigDesc:`防御側の艦隊、防衛、技術レベルを設定`,fleet:`艦隊`,defenseStructures:`防衛施設`,techLevels:`技術レベル`,weapon:`武器`,shield:`シールド`,armor:`装甲`,defenderResources:`防御側資源(略奪計算用)`,startSimulation:`シミュレーション開始`,reset:`リセット`,battleResult:`戦闘結果`,attackerVictory:`攻撃側勝利`,defenderVictory:`防御側勝利`,draw:`引き分け`,afterRounds:`{rounds}ラウンド後`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,attackerRemaining:`攻撃側残存`,defenderRemaining:`防御側残存`,allDestroyed:`全て破壊`,plunderableResources:`略奪可能資源`,debrisField:`デブリフィールド`,moonChance:`月生成確率`,showRoundDetails:`ラウンド詳細表示`,hideRoundDetails:`ラウンド詳細非表示`,round:`第{round}ラウンド`,attackerRemainingPower:`攻撃側残存火力`,defenderRemainingPower:`防御側残存火力`},settings:{dataManagement:`データ管理`,dataManagementDesc:`ゲームデータのエクスポート、インポート、またはクリア`,exportData:`データエクスポート`,exportDataDesc:`ゲームの進行状況をJSONファイルとしてエクスポート`,export:`エクスポート`,exporting:`エクスポート中...`,exportSuccess:`エクスポート成功`,exportFailed:`エクスポートに失敗しました。もう一度お試しください`,importData:`データインポート`,importDataDesc:`JSONファイルからゲームの進行状況を復元`,selectFile:`ファイルを選択`,importSuccess:`インポート成功`,importConfirmTitle:`インポート確認`,importConfirmMessage:`インポートすると現在のゲームの進行状況が上書きされます。この操作は元に戻せません。続行しますか?`,importFailed:`インポートに失敗しました。ファイル形式を確認してください`,clearData:`データクリア`,clearDataDesc:`すべてのゲームデータを削除してリセット`,clear:`クリア`,clearConfirmTitle:`データクリア確認`,clearConfirmMessage:`すべてのゲームデータが削除され、最初からやり直します。この操作は元に戻せません。続行しますか?`,gameSettings:`ゲーム設定`,gameSettingsDesc:`ゲームパラメータと設定を調整`,gamePause:`ゲーム一時停止`,gamePauseDesc:`ゲーム時間と資源生産を一時停止または再開`,pause:`一時停止`,resume:`再開`,gamePaused:`ゲームを一時停止しました`,gameResumed:`ゲームを再開しました`,playerName:`プレイヤー名`,gameSpeed:`ゲーム速度`,gameSpeedDesc:`現在のゲーム速度倍率`,about:`について`,version:`バージョン`,buildDate:`ビルド日`,community:`コミュニティ`,github:`GitHubリポジトリ`,qqGroup:`QQグループ`},gmView:{title:`GMコントロールパネル`,adminOnly:`管理者専用`,selectPlanet:`惑星を選択`,choosePlanet:`惑星を選択してください`,resources:`資源`,buildings:`建物`,research:`研究`,ships:`艦船`,defense:`防衛`,officers:`士官`,modifyResources:`資源を変更`,resourcesDesc:`惑星の資源を素早く変更`,modifyBuildings:`建物を変更`,buildingsDesc:`建物レベルを素早く設定`,modifyResearch:`研究を変更`,researchDesc:`研究レベルを素早く設定`,modifyShips:`艦船を変更`,shipsDesc:`艦船数を素早く設定`,modifyDefense:`防衛を変更`,defenseDesc:`防衛数を素早く設定`,modifyOfficers:`士官を変更`,officersDesc:`士官の有効期限を素早く設定`,days:`日`,dangerZone:`危険ゾーン`,dangerZoneDesc:`以下の操作は元に戻せません`,resetGame:`ゲームをリセット`,resetGameConfirm:`ゲームをリセットしてもよろしいですか?すべてのデータが削除されます!`}};const s={"zh-CN":e,"zh-TW":t,en:n,de:r,ru:i,ko:a,ja:o},c={"zh-CN":`简体中文`,"zh-TW":`繁體中文`,en:`English`,de:`Deutsch`,ru:`Русский`,ko:`한국어`,ja:`日本語`},l=()=>{let e=(navigator.language||navigator.languages&&navigator.languages[0]||`zh-CN`).toLowerCase();return e.startsWith(`zh-tw`)||e.startsWith(`zh-hant`)||e.startsWith(`zh-hk`)||e.startsWith(`zh-mo`)?`zh-TW`:e.startsWith(`zh`)?`zh-CN`:e.startsWith(`ja`)?`ja`:e.startsWith(`ko`)?`ko`:e.startsWith(`en`)?`en`:e.startsWith(`de`)?`de`:e.startsWith(`ru`)?`ru`:`zh-CN`};export{c as n,s as r,l as t}; \ No newline at end of file diff --git a/docs/assets/game-i18n-Dr0JspcV.js b/docs/assets/game-i18n-Dr0JspcV.js new file mode 100644 index 0000000..ec64baf --- /dev/null +++ b/docs/assets/game-i18n-Dr0JspcV.js @@ -0,0 +1,71 @@ +var e={common:{confirm:`确认`,cancel:`取消`,delete:`删除`,edit:`编辑`,save:`保存`,close:`关闭`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜索`,filter:`筛选`,loading:`加载中...`,noData:`暂无数据`,error:`错误`,success:`成功`,warning:`警告`,info:`信息`,resourceType:`资源类型`,playerName:`指挥官`,timeHour:`时`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已锁定`,unlockRequired:`需要解锁前置建筑`,requiredBuilding:`所需建筑`,currentLevel:`当前等级`,goToBuildings:`前往建筑页面`,locked:`已锁定`,viewRequirements:`查看前置条件`,requirementsNotMet:`前置条件未满足`,current:`当前`,level:`等级`},errors:{requirementsNotMet:`不满足前置条件`,insufficientResources:`资源不足`,insufficientFleetStorage:`舰队仓储空间不足`,shieldDomeLimit:`护盾罩数量限制`,fleetMissionsFull:`舰队任务槽位已满`,insufficientFleet:`舰队数量不足`,insufficientFuel:`燃料不足`,planetOnly:`该建筑只能在行星上建造`,moonOnly:`该建筑只能在月球上建造`,buildQueueFull:`建造队列已满`,insufficientSpace:`空间不足`,buildingLevelZero:`建筑等级为0,无法拆除`,researchQueueFull:`研究队列已满`,moonExists:`已存在月球`,insufficientDebris:`残骸场不足`},nav:{overview:`总览`,buildings:`建筑`,research:`研究`,shipyard:`船坞`,defense:`防御`,fleet:`舰队`,officers:`军官`,simulator:`模拟`,galaxy:`星系`,diplomacy:`外交`,messages:`消息`,settings:`设置`,gm:`GM`},sidebar:{language:`语言`,lightMode:`日间模式`,darkMode:`夜间模式`,collapse:`收起菜单`,expand:`展开菜单`},resources:{metal:`金属`,crystal:`晶体`,deuterium:`重氢`,darkMatter:`暗物质`,energy:`电力`,production:`产量`,consumption:`消耗`,capacity:`容量`,current:`当前储量`,max:`最大容量`,perHour:`小时`,perMinute:`分钟`,hour:`小时`,noEnergy:`电力不足`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`坐标`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,switchPlanet:`切换星球`,currentPlanet:`当前星球`,fields:`场地`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`总积分`},buildings:{metalMine:`金属矿`,crystalMine:`晶体矿`,deuteriumSynthesizer:`重氢合成器`,solarPlant:`太阳能电站`,fusionReactor:`核聚变反应堆`,roboticsFactory:`机器人工厂`,naniteFactory:`纳米工厂`,shipyard:`船坞`,researchLab:`研究实验室`,metalStorage:`金属仓库`,crystalStorage:`晶体仓库`,deuteriumTank:`重氢罐`,darkMatterCollector:`暗物质收集器`,darkMatterTank:`暗物质储罐`,missileSilo:`导弹发射井`,terraformer:`地形改造器`,lunarBase:`月球基地`,sensorPhalanx:`传感器阵列`,jumpGate:`跳跃门`,planetDestroyerFactory:`行星毁灭者工厂`,buildTime:`建造时间`,production:`产量`,consumption:`消耗`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`,storageCapacity:`容量`,energyProduction:`电力产出`,fleetStorage:`舰队仓储`,buildQueueBonus:`建造队列`,spaceBonus:`空间加成`,buildSpeedBonus:`建造速度加成`,researchSpeedBonus:`研究速度加成`,missileCapacity:`导弹容量`},buildingDescriptions:{metalMine:`开采金属资源`,crystalMine:`开采晶体资源`,deuteriumSynthesizer:`合成重氢资源`,solarPlant:`提供能源`,fusionReactor:`使用重氢产生大量能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造队列数量,每级+1队列(最多10级)`,shipyard:`建造舰船`,researchLab:`研究科技`,metalStorage:`增加金属存储上限`,crystalStorage:`增加晶体存储上限`,deuteriumTank:`增加重氢存储上限`,darkMatterCollector:`收集稀有的暗物质资源`,darkMatterTank:`增加暗物质存储上限`,missileSilo:`存储和发射导弹,每级可存储10枚导弹`,terraformer:`改造行星地形,每级增加5个可用空间`,lunarBase:`增加月球可用空间,每级+5空间`,sensorPhalanx:`侦测周围星系的舰队活动`,jumpGate:`瞬间传送舰队到其他月球`,planetDestroyerFactory:`建造能够摧毁行星的终极武器`},ships:{lightFighter:`轻型战斗机`,heavyFighter:`重型战斗机`,cruiser:`巡洋舰`,battleship:`战列舰`,battlecruiser:`战列巡洋舰`,bomber:`轰炸机`,destroyer:`驱逐舰`,smallCargo:`小型运输船`,largeCargo:`大型运输船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`间谍探测器`,solarSatellite:`太阳能卫星`,darkMatterHarvester:`暗物质采集船`,deathstar:`死星`},shipDescriptions:{lightFighter:`基础战斗单位`,heavyFighter:`重装战斗机`,cruiser:`中型战舰,攻守平衡`,battleship:`强力战舰`,battlecruiser:`快速强大的战斗舰船,擅长攻击战列舰`,bomber:`专门对付防御设施的轰炸舰`,destroyer:`擅长摧毁大型舰船的猎杀者`,smallCargo:`运输少量资源`,largeCargo:`运输大量资源`,colonyShip:`用于殖民新星球`,recycler:`收集残骸场资源`,espionageProbe:`侦察敌方星球`,solarSatellite:`提供额外能源,每个产生50点电力`,darkMatterHarvester:`专门用于采集暗物质的特殊飞船`,deathstar:`终极武器,能够摧毁整个行星`},defenses:{rocketLauncher:`火箭发射器`,lightLaser:`轻型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`离子炮`,plasmaTurret:`等离子炮塔`,smallShieldDome:`小型护盾罩`,largeShieldDome:`大型护盾罩`,antiBallisticMissile:`反弹道导弹`,interplanetaryMissile:`星际导弹`,planetaryShield:`行星护盾`},defenseDescriptions:{rocketLauncher:`基础防御设施`,lightLaser:`轻型电力武器`,heavyLaser:`重型电力武器`,gaussCannon:`高速动能武器`,ionCannon:`破坏护盾的利器`,plasmaTurret:`强力防御设施`,smallShieldDome:`保护整个星球的小型护盾`,largeShieldDome:`保护整个星球的大型护盾`,antiBallisticMissile:`拦截敌方导弹,每个可拦截1枚星际导弹`,interplanetaryMissile:`可以攻击其他星球的防御设施`,planetaryShield:`保护行星免受毁灭攻击的超级护盾`},research:{researchTime:`研究时间`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`,attackBonus:`攻击加成`,shieldBonus:`护盾加成`,armorBonus:`装甲加成`,spyLevel:`侦查等级`,researchQueueBonus:`研究队列`,colonySlots:`殖民地槽位`,forAllPlanets:`(全局)`,speedBonus:`速度加成`,researchSpeedBonus:`研究速度加成`},technologies:{energyTechnology:`能源技术`,laserTechnology:`激光技术`,ionTechnology:`离子技术`,hyperspaceTechnology:`超空间技术`,plasmaTechnology:`等离子技术`,computerTechnology:`计算机技术`,espionageTechnology:`间谍技术`,weaponsTechnology:`武器技术`,shieldingTechnology:`护盾技术`,armourTechnology:`装甲技术`,astrophysics:`天体物理学`,gravitonTechnology:`引力技术`,combustionDrive:`燃烧引擎`,impulseDrive:`脉冲引擎`,hyperspaceDrive:`超空间引擎`,darkMatterTechnology:`暗物质技术`,terraformingTechnology:`地形改造技术`,planetDestructionTech:`行星毁灭技术`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防御的基础`,ionTechnology:`离子武器技术`,hyperspaceTechnology:`超空间跳跃技术`,plasmaTechnology:`等离子武器技术`,computerTechnology:`增加研究队列数量,每级+1队列(最多10级)`,espionageTechnology:`提高间谍探测效果,每级提高1级侦查深度`,weaponsTechnology:`提高舰船和防御的攻击力,每级+10%`,shieldingTechnology:`提高舰船和防御的护盾值,每级+10%`,armourTechnology:`提高舰船和防御的装甲值,每级+10%`,astrophysics:`每级增加1个殖民地槽位,增加探险成功率`,gravitonTechnology:`研究引力操纵,死星的必要技术`,combustionDrive:`基础推进技术`,impulseDrive:`中级推进技术`,hyperspaceDrive:`高级推进技术`,darkMatterTechnology:`研究暗物质的性质和应用`,terraformingTechnology:`研究行星地形改造技术,每级为所有行星增加3个可用空间`,planetDestructionTech:`研究如何摧毁整个行星的恐怖技术`},officers:{commander:`指挥官`,admiral:`上将`,engineer:`工程师`,geologist:`地质学家`,technocrat:`技术专家`,darkMatterSpecialist:`暗物质专家`,resourceBonus:`资源产量加成`,darkMatterBonus:`暗物质产量加成`,energyBonus:`电力产量加成`},officerDescriptions:{commander:`提升建筑速度和管理能力`,admiral:`提升舰队战斗力和速度`,engineer:`提升能源和防御能力`,geologist:`提升资源产量`,technocrat:`提升研究速度和间谍能力`,darkMatterSpecialist:`提升暗物质采集效率`},queue:{buildQueueBonus:`建造队列`,spaceBonus:`空间加成`,researchQueueBonus:`研究队列`,building:`建造中`,researching:`研究中`,remaining:`剩余时间`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`确定要取消吗?将返还50%的资源。`,level:`等级`,quantity:`数量`,upgradeToLevel:`升级到等级`},overview:{title:`星球总览`,resourceOverview:`资源概览`,fleetInfo:`舰队`,currentShips:`当前星球的舰船数量`,productionSources:`资源获取来源`,productionSourcesDesc:`详细的资源产量及加成信息`,consumptionSources:`电力消耗来源`,consumptionSourcesDesc:`各建筑的电力消耗详情`,totalProduction:`总产量`,totalConsumption:`总消耗`,noConsumption:`当前无电力消耗`},buildingsView:{title:`建筑`,usedSpace:`已用空间`,spaceUsage:`占用空间`,level:`等级`,upgradeCost:`升级消耗`,buildTime:`建造时间`,upgrade:`升级`,maxLevelReached:`等级已满`,requirementsNotMet:`条件不足`,upgradeFailed:`升级失败`,upgradeFailedMessage:`请检查资源是否足够、空间是否充足或是否有其他建造任务。`,demolish:`拆除`,demolishRefund:`拆除返还`,demolishFailed:`拆除失败`,demolishFailedMessage:`无法拆除该建筑,请检查建造队列是否已满或建筑等级是否为0。`,confirmDemolish:`确认拆除`,confirmDemolishMessage:`确定要拆除`},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,maxLevelReached:`等级已满`,researchFailed:`研究失败`,researchFailedMessage:`请检查资源是否足够、前置条件是否满足,或是否有其他研究任务。`},shipyard:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargoCapacity:`载货量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},shipyardView:{title:`船坞`,fleetStorage:`舰队仓储`,attack:`攻击力`,shield:`护盾`,speed:`速度`,cargoCapacity:`载货量`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。`},defense:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},defenseView:{title:`防御设施`,attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildTime:`建造时间`,seconds:`秒`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,shieldDomeBuilt:`护盾罩已建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。护盾罩只能建造一个。`},fleetView:{title:`舰队管理`,fleetOverview:`舰队总览`,sendFleet:`派遣舰队`,flightMissions:`飞行任务`,currentPlanetFleet:`当前星球舰队`,attack:`攻击`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargo:`载货`,selectFleet:`选择舰队`,selectFleetDescription:`选择要派遣的舰船数量`,available:`可用`,all:`全部`,targetCoordinates:`目标坐标`,galaxy:`银河系`,system:`星系`,position:`位置`,missionType:`任务类型`,missionInfo:`任务信息`,fuelConsumption:`燃料消耗`,flightTime:`飞行时间`,attackMission:`攻击`,transport:`运输`,colonize:`殖民`,spy:`侦察`,deploy:`部署`,recycle:`回收`,destroy:`行星毁灭`,transportResources:`运输资源`,totalCargoCapacity:`总载货量`,used:`已用`,noFlightMissions:`暂无飞行任务`,outbound:`前往`,returning:`返回`,fleetComposition:`舰队组成`,carryingResources:`携带资源`,arrivalTime:`到达时间`,returnTime:`返回时间`,recallFleet:`召回舰队`,sendFailed:`派遣失败`,sendFailedMessage:`请检查舰队数量、燃料是否充足,或载货量是否超出限制。`,recallFailed:`召回失败`,recallFailedMessage:`该任务无法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`舰队任务槽位`,noShipsSelected:`未选择舰船`,cannotSendToOwnPlanet:`无法派遣舰队到自己的星球`,cargoExceedsCapacity:`载货量超出限制`,noColonyShip:`需要殖民船才能执行殖民任务`,noDebrisAtTarget:`目标坐标没有残骸场或残骸场已空`,noDeathstar:`需要死星才能执行毁灭任务`,giftMode:`赠送模式`,giftModeDescription:`将资源作为礼物赠送给`,estimatedReputationGain:`预计好感度增加`},officersView:{title:`军官`,activated:`已激活`,inactive:`未激活`,activeStatus:`激活状态`,expirationTime:`到期时间`,remainingTime:`剩余时间`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`资源产量`,darkMatterProduction:`暗物质产量`,energyProduction:`电量产出`,buildingSpeed:`建筑速度`,researchSpeed:`研究速度`,fleetSpeed:`舰队速度`,fuelConsumption:`燃料消耗`,defense:`防御力`,storageCapacity:`仓储容量`,buildQueue:`建筑队列`,fleetSlots:`舰队槽位`,hire:`招募`,renew:`续约`,dismiss:`解雇`,hireTitle:`招募军官`,hireMessage:`确定要招募 {name} 吗?有效期为7天。`,renewTitle:`续约军官`,renewMessage:`确定要为 {name} 续约7天吗?`,dismissTitle:`解雇军官`,dismissMessage:`确定要解雇 {name} 吗?不会返还任何费用。`,hireFailed:`招募失败`,renewFailed:`续约失败`,insufficientResources:`资源不足!`},galaxyView:{title:`星系`,selectCoordinates:`选择坐标`,galaxy:`银河系`,selectGalaxy:`选择银河系`,system:`星系`,selectSystem:`选择星系`,view:`查看`,myPlanet:`我的星球`,myPlanets:`我的星球`,npcPlanets:`NPC星球`,selectPlanetToView:`选择要查看的星球`,totalPositions:`共10个星球位置`,mine:`我的`,hostile:`敌对`,emptySlot:`空位 - 可殖民`,scout:`侦察`,attack:`攻击`,colonize:`殖民`,switch:`切换`,recycle:`回收`,sendGift:`赠送礼物`,debris:`残骸`,debrisField:`残骸场`,scoutPlanetTitle:`侦察星球`,attackPlanetTitle:`攻击星球`,colonizePlanetTitle:`殖民星球`,recyclePlanetTitle:`回收残骸`,giftPlanetTitle:`赠送礼物`,scoutPlanetMessage:`确定要派遣间谍探测器侦察星球 [{coordinates}] 吗? + +请前往舰队页面选择舰船并派遣。`,attackPlanetMessage:`确定要攻击星球 [{coordinates}] 吗? + +请前往舰队页面选择舰船并派遣。`,colonizePlanetMessage:`确定要殖民位置 [{coordinates}] 吗? + +请前往舰队页面派遣殖民船。`,recyclePlanetMessage:`确定要回收位置 [{coordinates}] 的残骸吗? + +请前往舰队页面派遣回收船。`,giftPlanetMessage:`确定要向星球 [{coordinates}] 赠送资源吗? + +请前往舰队页面选择运输船并装载资源。`},messagesView:{title:`消息中心`,battles:`战斗`,spy:`侦查`,npc:`NPC`,battleReports:`战斗报告`,spyReports:`间谍报告`,noBattleReports:`暂无战斗报告`,noSpyReports:`暂无间谍报告`,battleReport:`战斗报告`,spyReport:`间谍报告`,victory:`胜利`,defeat:`失败`,draw:`平局`,attackerFleet:`攻击方舰队`,defenderFleet:`防守方舰队`,defenderDefense:`防守方防御`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,plunder:`掠夺资源`,debrisField:`残骸场`,resources:`资源`,fleet:`舰队`,defense:`防御`,buildings:`建筑`,unread:`未读`,targetPlanet:`目标星球`,attackerRemaining:`攻击方剩余`,defenderRemaining:`防守方剩余`,moonChance:`月球生成概率`,showRoundDetails:`显示回合详情`,hideRoundDetails:`隐藏回合详情`,round:`第{round}回合`,attackerRemainingPower:`攻击方剩余火力`,defenderRemainingPower:`防守方剩余火力`,spied:`被侦查`,spiedNotification:`被侦查通知`,noSpiedNotifications:`暂无被侦查通知`,detected:`已发现`,undetected:`未发现`,missions:`任务`,noMissionReports:`暂无任务报告`,success:`成功`,failed:`失败`,npcActivity:`NPC活动`,noNPCActivity:`暂无NPC活动通知`,npcRecycleActivity:`NPC回收残骸`,gifts:`礼物`,giftRejected:`被拒绝`,noGiftNotifications:`暂无礼物通知`,noGiftRejected:`暂无拒绝记录`,giftFrom:`{npcName}的礼物`,giftRejectedBy:`{npcName}拒绝了礼物`,giftResources:`礼物资源`,rejectedResources:`被拒绝的资源`,expectedReputation:`预计好感度`,currentReputation:`当前好感度`,acceptGift:`接受`,rejectGift:`拒绝`,rejectionReason:{hostile:`对方对你有敌意,不接受礼物`,neutral_distrust:`对方对你缺乏信任`,polite_decline:`对方礼貌地拒绝了`}},missionReports:{transportSuccess:`运输任务成功完成`,transportFailed:`运输任务失败`,colonizeSuccess:`殖民任务成功,新星球已建立`,colonizeFailed:`殖民任务失败`,deploySuccess:`部署任务成功完成`,deployFailed:`部署任务失败`,recycleSuccess:`回收任务成功完成`,recycleFailed:`回收任务失败,目标位置没有残骸`,destroySuccess:`行星毁灭任务成功执行`,destroyFailed:`行星毁灭任务失败`},simulatorView:{title:`战斗模拟器`,attacker:`攻击方`,defender:`防守方`,attackerConfig:`攻击方配置`,attackerConfigDesc:`设置攻击方的舰队和科技等级`,defenderConfig:`防守方配置`,defenderConfigDesc:`设置防守方的舰队、防御和科技等级`,fleet:`舰队`,defenseStructures:`防御设施`,techLevels:`科技等级`,weapon:`武器`,shield:`护盾`,armor:`装甲`,defenderResources:`防守方资源(用于掠夺计算)`,startSimulation:`开始模拟`,reset:`重置`,battleResult:`战斗结果`,attackerVictory:`攻击方胜利`,defenderVictory:`防守方胜利`,draw:`平局`,afterRounds:`经过 {rounds} 回合战斗`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,attackerRemaining:`攻击方剩余`,defenderRemaining:`防守方剩余`,allDestroyed:`全部摧毁`,plunderableResources:`可掠夺资源`,debrisField:`残骸场`,moonChance:`月球生成概率`,showRoundDetails:`显示回合详情`,hideRoundDetails:`隐藏回合详情`,round:`第 {round} 回合`,attackerRemainingPower:`攻击方剩余火力`,defenderRemainingPower:`防守方剩余火力`},settings:{dataManagement:`数据管理`,dataManagementDesc:`导出、导入或清除游戏数据`,exportData:`导出数据`,exportDataDesc:`将游戏进度导出为JSON文件`,export:`导出`,exporting:`导出中...`,exportSuccess:`导出成功`,exportFailed:`导出失败,请重试`,importData:`导入数据`,importDataDesc:`从JSON文件恢复游戏进度`,selectFile:`导入`,importSuccess:`导入成功`,importConfirmTitle:`确认导入数据`,importConfirmMessage:`导入数据将覆盖当前游戏进度,此操作不可撤销。确定要继续吗?`,importFailed:`导入失败,请检查文件格式`,clearData:`清除数据`,clearDataDesc:`删除所有游戏数据并重置游戏`,clear:`清除`,clearConfirmTitle:`确认清除数据`,clearConfirmMessage:`这将删除所有游戏数据并重新开始,此操作不可撤销。确定要继续吗?`,gameSettings:`游戏设置`,gameSettingsDesc:`调整游戏参数和偏好设置`,gamePause:`游戏暂停`,gamePauseDesc:`暂停或恢复游戏时间和资源生产`,pause:`暂停`,resume:`恢复`,gamePaused:`游戏已暂停`,gameResumed:`游戏已恢复`,playerName:`玩家名称`,gameSpeed:`游戏速度`,gameSpeedDesc:`当前游戏速度倍率`,about:`关于`,version:`版本`,buildDate:`构建日期`,community:`社区`,github:`GitHub 仓库`,qqGroup:`QQ 交流群`},gmView:{title:`GM 管理面板`,adminOnly:`仅管理员`,selectPlanet:`选择星球`,choosePlanet:`选择一个星球`,resources:`资源`,buildings:`建筑`,research:`科技`,ships:`舰船`,defense:`防御`,officers:`军官`,modifyResources:`修改资源`,resourcesDesc:`快速修改星球资源数量`,modifyBuildings:`修改建筑`,buildingsDesc:`快速设置建筑等级`,modifyResearch:`修改科技`,researchDesc:`快速设置科技等级`,modifyShips:`修改舰船`,shipsDesc:`快速设置舰船数量`,modifyDefense:`修改防御`,defenseDesc:`快速设置防御数量`,modifyOfficers:`修改军官`,officersDesc:`快速设置军官到期时间`,days:`天`,npcTesting:`NPC 测试`,npcTestingDesc:`测试NPC侦查和攻击行为`,selectNPC:`选择NPC`,chooseNPC:`选择一个NPC`,targetPlanet:`目标星球`,chooseTarget:`选择目标星球`,testSpy:`测试侦查`,testAttack:`测试攻击`,testSpyAndAttack:`测试侦查&攻击`,initializeFleet:`初始化NPC舰队`,accelerateMissions:`加速所有任务(5秒)`,selectNPCFirst:`请先选择一个NPC`,npcNoProbes:`NPC没有间谍探测器`,npcNoSpyReport:`NPC需要先侦查`,npcMissionFailed:`创建任务失败`,dangerZone:`危险区域`,dangerZoneDesc:`以下操作不可撤销,请谨慎操作`,resetGame:`重置游戏`,resetGameConfirm:`确定要重置游戏吗?这将删除所有数据!`},alerts:{npcSpyIncoming:`NPC侦查即将到达`,npcAttackIncoming:`NPC舰队来袭!`,npcFleetIncoming:`NPC舰队接近`,ships:`艘舰船`,spiedBy:`被侦查`,attackedBy:`被攻击`,detectionSuccess:`侦查被发现`,detectionFailed:`侦查未被发现`,npcSpiedYourPlanet:`NPC侦查了你的星球`,npcAttackedYourPlanet:`NPC攻击了你的星球`},diplomacy:{title:`外交`,description:`管理与NPC的外交关系`,tabs:{all:`全部`,friendly:`友好`,neutral:`中立`,hostile:`敌对`},noNpcs:`暂无NPC`,noFriendlyNpcs:`暂无友好NPC`,noNeutralNpcs:`暂无中立NPC`,noHostileNpcs:`暂无敌对NPC`,recentEvents:`最近事件`,recentEventsDescription:`最近的外交活动记录`,ago:`前`,status:{friendly:`友好`,neutral:`中立`,hostile:`敌对`},planets:`个星球`,allies:`个盟友`,reputation:`好感度`,alliedWith:`盟友`,more:`更多`,actions:{gift:`赠送资源`,viewPlanets:`查看星球`},lastEvent:`最近活动`,events:{gift:`赠送资源`,attack:`攻击`,allyAttacked:`攻击盟友`,spy:`侦查`,stealDebris:`抢夺残骸`}},pagination:{previous:`上一页`,next:`下一页`,first:`首页`,last:`末页`,page:`第 {page} 页`}},t={common:{confirm:`確認`,cancel:`取消`,delete:`刪除`,edit:`編輯`,save:`儲存`,close:`關閉`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜尋`,filter:`篩選`,loading:`載入中...`,noData:`暫無資料`,error:`錯誤`,success:`成功`,warning:`警告`,info:`資訊`,resourceType:`資源類型`,playerName:`指揮官`,timeHour:`時`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已鎖定`,unlockRequired:`需要解鎖前置建築`,requiredBuilding:`所需建築`,currentLevel:`當前等級`,goToBuildings:`前往建築頁面`,locked:`已鎖定`,viewRequirements:`查看前置條件`,requirementsNotMet:`前置條件未滿足`,current:`當前`,level:`等級`},errors:{requirementsNotMet:`不滿足前置條件`,insufficientResources:`資源不足`,insufficientFleetStorage:`艦隊倉儲空間不足`,shieldDomeLimit:`護盾罩數量限制`,fleetMissionsFull:`艦隊任務槽位已滿`,insufficientFleet:`艦隊數量不足`,insufficientFuel:`燃料不足`,planetOnly:`該建築只能在行星上建造`,moonOnly:`該建築只能在月球上建造`,buildQueueFull:`建造隊列已滿`,insufficientSpace:`空間不足`,buildingLevelZero:`建築等級為0,無法拆除`,researchQueueFull:`研究隊列已滿`,moonExists:`已存在月球`,insufficientDebris:`殘骸場不足`},nav:{overview:`總覽`,buildings:`建築`,research:`研究`,shipyard:`船塢`,defense:`防禦`,fleet:`艦隊`,officers:`軍官`,simulator:`模擬`,galaxy:`星系`,diplomacy:`Diplomacy`,messages:`訊息`,settings:`設定`,gm:`GM`},sidebar:{language:`語言`,lightMode:`日間模式`,darkMode:`夜間模式`,collapse:`收起選單`,expand:`展開選單`},resources:{metal:`金屬`,crystal:`晶體`,deuterium:`重氫`,darkMatter:`暗物質`,energy:`電力`,production:`產量`,consumption:`消耗`,capacity:`容量`,current:`當前儲量`,max:`最大容量`,perHour:`小時`,perMinute:`分鐘`,hour:`小時`,noEnergy:`電力不足`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`座標`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,switchPlanet:`切換星球`,currentPlanet:`當前星球`,fields:`場地`,temperature:`溫度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`總積分`},buildings:{metalMine:`金屬礦`,crystalMine:`晶體礦`,deuteriumSynthesizer:`重氫合成器`,solarPlant:`太陽能電站`,fusionReactor:`核聚變反應堆`,roboticsFactory:`機器人工廠`,naniteFactory:`納米工廠`,shipyard:`船塢`,researchLab:`研究實驗室`,metalStorage:`金屬倉庫`,crystalStorage:`晶體倉庫`,deuteriumTank:`重氫罐`,darkMatterCollector:`暗物質收集器`,darkMatterTank:`暗物質儲罐`,missileSilo:`導彈發射井`,terraformer:`地形改造器`,lunarBase:`月球基地`,sensorPhalanx:`傳感器陣列`,jumpGate:`跳躍門`,planetDestroyerFactory:`行星毀滅者工廠`,buildTime:`建造時間`,production:`產量`,consumption:`消耗`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`,capacity:`容量/效果`,storageCapacity:`容量`,energyProduction:`電力產出`,fleetStorage:`艦隊倉儲`,buildQueue:`建造隊列`,buildQueueBonus:`建造隊列`,spaceBonus:`空間加成`,buildSpeedBonus:`建造速度加成`,researchSpeedBonus:`研究速度加成`,planetSpace:`行星空間`,moonSpace:`月球空間`,missileCapacity:`導彈容量`},buildingDescriptions:{metalMine:`開採金屬資源`,crystalMine:`開採晶體資源`,deuteriumSynthesizer:`合成重氫資源`,solarPlant:`提供能源`,fusionReactor:`使用重氫產生大量能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造佇列數量,每級+1佇列(最多10級)`,shipyard:`建造艦船`,researchLab:`研究科技`,metalStorage:`增加金屬儲存上限`,crystalStorage:`增加晶體儲存上限`,deuteriumTank:`增加重氫儲存上限`,darkMatterCollector:`收集稀有的暗物質資源`,darkMatterTank:`增加暗物質儲存上限`,missileSilo:`存儲和發射導彈,每級可存儲10枚導彈`,terraformer:`改造行星地形,每級增加5個可用空間`,lunarBase:`增加月球可用空間,每級+5空間`,sensorPhalanx:`偵測周圍星系的艦隊活動`,jumpGate:`瞬間傳送艦隊到其他月球`,planetDestroyerFactory:`建造能夠摧毀行星的終極武器`},ships:{lightFighter:`輕型戰鬥機`,heavyFighter:`重型戰鬥機`,cruiser:`巡洋艦`,battleship:`戰列艦`,battlecruiser:`戰列巡洋艦`,bomber:`轟炸機`,destroyer:`驅逐艦`,smallCargo:`小型運輸船`,largeCargo:`大型運輸船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`間諜探測器`,solarSatellite:`太陽能衛星`,darkMatterHarvester:`暗物質採集船`,deathstar:`死星`},shipDescriptions:{lightFighter:`基礎戰鬥單位`,heavyFighter:`重裝戰鬥機`,cruiser:`中型戰艦,攻守平衡`,battleship:`強力戰艦`,battlecruiser:`快速強大的戰鬥艦船,擅長攻擊戰列艦`,bomber:`專門對付防禦設施的轟炸艦`,destroyer:`擅長摧毀大型艦船的獵殺者`,smallCargo:`運輸少量資源`,largeCargo:`運輸大量資源`,colonyShip:`用於殖民新星球`,recycler:`收集殘骸場資源`,espionageProbe:`偵察敵方星球`,solarSatellite:`提供額外能源,每個產生50點電力`,darkMatterHarvester:`專門用於採集暗物質的特殊飛船`,deathstar:`終極武器,能夠摧毀整個行星`},defenses:{rocketLauncher:`火箭發射器`,lightLaser:`輕型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`離子炮`,plasmaTurret:`等離子炮塔`,smallShieldDome:`小型護盾罩`,largeShieldDome:`大型護盾罩`,antiBallisticMissile:`反彈道導彈`,interplanetaryMissile:`星際導彈`,planetaryShield:`行星護盾`},defenseDescriptions:{rocketLauncher:`基礎防禦設施`,lightLaser:`輕型電力武器`,heavyLaser:`重型電力武器`,gaussCannon:`高速動能武器`,ionCannon:`破壞護盾的利器`,plasmaTurret:`強力防禦設施`,smallShieldDome:`保護整個星球的小型護盾`,largeShieldDome:`保護整個星球的大型護盾`,antiBallisticMissile:`攔截敵方導彈,每個可攔截1枚星際導彈`,interplanetaryMissile:`可以攻擊其他星球的防禦設施`,planetaryShield:`保護行星免受毀滅攻擊的超級護盾`},research:{researchTime:`研究時間`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`,capacity:`容量/效果`,attackBonus:`攻擊加成`,shieldBonus:`護盾加成`,armorBonus:`裝甲加成`,spyLevel:`偵查等級`,researchQueueBonus:`研究隊列`,colonySlots:`殖民地槽位`,forAllPlanets:`(全局)`,speedBonus:`速度加成`,researchSpeedBonus:`研究速度加成`},technologies:{energyTechnology:`能源技術`,laserTechnology:`激光技術`,ionTechnology:`離子技術`,hyperspaceTechnology:`超空間技術`,plasmaTechnology:`等離子技術`,computerTechnology:`計算機技術`,espionageTechnology:`間諜技術`,weaponsTechnology:`武器技術`,shieldingTechnology:`護盾技術`,armourTechnology:`裝甲技術`,astrophysics:`天體物理學`,gravitonTechnology:`引力技術`,combustionDrive:`燃燒引擎`,impulseDrive:`脈衝引擎`,hyperspaceDrive:`超空間引擎`,darkMatterTechnology:`暗物質技術`,terraformingTechnology:`地形改造技術`,planetDestructionTech:`行星毀滅技術`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防禦的基礎`,ionTechnology:`離子武器技術`,hyperspaceTechnology:`超空間跳躍技術`,plasmaTechnology:`等離子武器技術`,computerTechnology:`增加研究佇列數量,每級+1佇列(最多10級)`,espionageTechnology:`提高間諜探測效果,每級提高1級偵查深度`,weaponsTechnology:`提高艦船和防禦的攻擊力,每級+10%`,shieldingTechnology:`提高艦船和防禦的護盾值,每級+10%`,armourTechnology:`提高艦船和防禦的裝甲值,每級+10%`,astrophysics:`每級增加1個殖民地槽位,增加探險成功率`,gravitonTechnology:`研究引力操縱,死星的必要技術`,combustionDrive:`基礎推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`研究暗物質的性質和應用`,terraformingTechnology:`研究行星地形改造技術,每級為所有行星增加3個可用空間`,planetDestructionTech:`研究如何摧毀整個行星的恐怖技術`},officers:{commander:`指揮官`,admiral:`上將`,engineer:`工程師`,geologist:`地質學家`,technocrat:`技術專家`,darkMatterSpecialist:`暗物質專家`,resourceBonus:`資源生產加成`,darkMatterBonus:`暗物質生產加成`,energyBonus:`電力產量加成`},officerDescriptions:{commander:`提升建築速度和管理能力`,admiral:`提升艦隊戰鬥力和速度`,engineer:`提升能源和防禦能力`,geologist:`提升資源產量`,technocrat:`提升研究速度和間諜能力`,darkMatterSpecialist:`提升暗物質採集效率`},queue:{buildQueue:`建造佇列`,researchQueue:`研究佇列`,building:`建造中`,researching:`研究中`,remaining:`剩餘時間`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`確定要取消嗎?將返還50%的資源。`,level:`等級`,upgradeToLevel:`升級到等級`},overview:{title:`星球總覽`,resourceOverview:`資源概覽`,fleetInfo:`艦隊資訊`,currentShips:`當前星球的艦船數量`,productionSources:`生產來源`,productionSourcesDesc:`詳細資源生產和加成資訊`,consumptionSources:`電力消耗來源`,consumptionSourcesDesc:`各建築的電力消耗詳情`,totalProduction:`總產量`,totalConsumption:`總消耗`,noConsumption:`當前無電力消耗`},buildingsView:{title:`建築`,usedSpace:`已用空間`,spaceUsage:`佔用空間`,level:`等級`,upgradeCost:`升級消耗`,buildTime:`建造時間`,upgrade:`升級`,maxLevelReached:`等級已滿`,requirementsNotMet:`條件不足`,upgradeFailed:`升級失敗`,upgradeFailedMessage:`請檢查資源是否足夠、空間是否充足或是否有其他建造任務。`,demolish:`拆除`,demolishRefund:`拆除返還`,demolishFailed:`拆除失敗`,demolishFailedMessage:`無法拆除該建築,請檢查建造隊列是否已滿或建築等級是否為0。`,confirmDemolish:``,confirmDemolishMessage:``},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,maxLevelReached:`等級已滿`,researchFailed:`研究失敗`,researchFailedMessage:`請檢查資源是否足夠、前置條件是否滿足,或是否有其他研究任務。`},shipyard:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargoCapacity:`載貨量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},shipyardView:{title:`船塢`,fleetStorage:`艦隊倉儲`,attack:`攻擊力`,shield:`護盾`,speed:`速度`,cargoCapacity:`載貨量`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。`},defense:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},defenseView:{title:`防禦設施`,attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildTime:`建造時間`,seconds:`秒`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,shieldDomeBuilt:`護盾罩已建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。護盾罩只能建造一個。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊總覽`,sendFleet:`派遣艦隊`,flightMissions:`飛行任務`,currentPlanetFleet:`當前星球艦隊`,attack:`攻擊`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargo:`載貨`,selectFleet:`選擇艦隊`,selectFleetDescription:`選擇要派遣的艦船數量`,available:`可用`,all:`全部`,targetCoordinates:`目標座標`,galaxy:`銀河系`,diplomacy:`Diplomacy`,system:`星系`,position:`位置`,missionType:`任務類型`,missionInfo:`任務資訊`,fuelConsumption:`燃料消耗`,flightTime:`飛行時間`,attackMission:`攻擊`,transport:`運輸`,colonize:`殖民`,spy:`偵察`,deploy:`部署`,recycle:`回收`,transportResources:`運輸資源`,totalCargoCapacity:`總載貨量`,used:`已用`,noFlightMissions:`暫無飛行任務`,outbound:`前往`,returning:`返回`,fleetComposition:`艦隊組成`,carryingResources:`攜帶資源`,arrivalTime:`到達時間`,returnTime:`返回時間`,recallFleet:`召回艦隊`,sendFailed:`派遣失敗`,sendFailedMessage:`請檢查艦隊數量、燃料是否充足,或載貨量是否超出限制。`,recallFailed:`召回失敗`,recallFailedMessage:`該任務無法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`艦隊任務槽位`,noShipsSelected:`未選擇艦船`,cannotSendToOwnPlanet:`無法派遣艦隊到自己的星球`,cargoExceedsCapacity:`載貨量超出限制`,noColonyShip:`需要殖民船才能執行殖民任務`,noDebrisAtTarget:`目標坐標沒有殘骸場或殘骸場已空`,noDeathstar:`需要死星才能執行毀滅任務`,giftMode:`贈送模式`,giftModeDescription:`將資源作為禮物贈送給`,estimatedReputationGain:`預計好感度增加`},officersView:{title:`軍官`,activated:`已啟用`,inactive:`未啟用`,activeStatus:`啟用狀態`,expirationTime:`到期時間`,remainingTime:`剩餘時間`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`資源產量`,darkMatterProduction:`暗物質產量`,energyProduction:`電量產出`,buildingSpeed:`建築速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消耗`,defense:`防禦力`,storageCapacity:`倉儲容量`,buildQueue:`建築佇列`,fleetSlots:`艦隊槽位`,hire:`招募`,renew:`續約`,dismiss:`解雇`,hireTitle:`招募軍官`,hireMessage:`確定要招募 {name} 嗎?有效期為7天。`,renewTitle:`續約軍官`,renewMessage:`確定要為 {name} 續約7天嗎?`,dismissTitle:`解雇軍官`,dismissMessage:`確定要解雇 {name} 嗎?不會返還任何費用。`,hireFailed:`招募失敗`,renewFailed:`續約失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`星系`,selectCoordinates:`選擇座標`,galaxy:`銀河系`,diplomacy:`Diplomacy`,selectGalaxy:`選擇銀河系`,system:`星系`,selectSystem:`選擇星系`,view:`查看`,myPlanet:`我的星球`,myPlanets:`我的星球`,npcPlanets:`NPC星球`,selectPlanetToView:`選擇要查看的星球`,totalPositions:`共10個星球位置`,mine:`我的`,hostile:`敵對`,emptySlot:`空位 - 可殖民`,scout:`偵察`,attack:`攻擊`,colonize:`殖民`,switch:`切換`,recycle:`回收`,debrisField:`殘骸場`,scoutPlanetTitle:`偵察星球`,attackPlanetTitle:`攻擊星球`,colonizePlanetTitle:`殖民星球`,recyclePlanetTitle:`回收殘骸`,scoutPlanetMessage:`確定要派遣間諜探測器偵察星球 [{coordinates}] 嗎? + +請前往艦隊頁面選擇艦船並派遣。`,attackPlanetMessage:`確定要攻擊星球 [{coordinates}] 嗎? + +請前往艦隊頁面選擇艦船並派遣。`,colonizePlanetMessage:`確定要殖民位置 [{coordinates}] 嗎? + +請前往艦隊頁面派遣殖民船。`,recyclePlanetMessage:`確定要回收位置 [{coordinates}] 的殘骸嗎? + +請前往艦隊頁面派遣回收船。`,sendGift:`贈送禮物`,debris:`殘骸`,giftPlanetTitle:`贈送禮物`,giftPlanetMessage:`確定要向星球 [{coordinates}] 贈送資源嗎? + +請前往艦隊頁面選擇運輸船並裝載資源。`},messagesView:{title:`訊息中心`,battles:`戰鬥`,spy:`偵查`,npc:`NPC`,battleReports:`戰鬥報告`,spyReports:`間諜報告`,noBattleReports:`暫無戰鬥報告`,noSpyReports:`暫無間諜報告`,battleReport:`戰鬥報告`,spyReport:`間諜報告`,victory:`勝利`,defeat:`失敗`,draw:`平局`,attackerFleet:`攻擊方艦隊`,defenderFleet:`防守方艦隊`,defenderDefense:`防守方防禦`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,plunder:`掠奪資源`,debrisField:`殘骸場`,resources:`資源`,fleet:`艦隊`,defense:`防禦`,buildings:`建築`,unread:`未讀`,targetPlanet:`目標星球`,attackerRemaining:`攻擊方剩餘`,defenderRemaining:`防守方剩餘`,moonChance:`月球生成機率`,showRoundDetails:`顯示回合詳情`,hideRoundDetails:`隱藏回合詳情`,round:`第{round}回合`,attackerRemainingPower:`攻擊方剩餘火力`,defenderRemainingPower:`防守方剩餘火力`,spied:`被偵查`,spiedNotification:`被偵查通知`,noSpiedNotifications:`暫無被偵查通知`,detected:`已發現`,undetected:`未發現`,missions:`任務`,noMissionReports:`暫無任務報告`,success:`成功`,failed:`失敗`,npcActivity:`NPC活動`,noNPCActivity:`暫無NPC活動通知`,npcRecycleActivity:`NPC回收殘骸`,gifts:`禮物`,giftRejected:`被拒絕`,noGiftNotifications:`暫無禮物通知`,noGiftRejected:`暫無拒絕記錄`,giftFrom:`{npcName}的禮物`,giftRejectedBy:`{npcName}拒絕了禮物`,giftResources:`禮物資源`,rejectedResources:`被拒絕的資源`,expectedReputation:`預計好感度`,currentReputation:`當前好感度`,acceptGift:`接受`,rejectGift:`拒絕`,rejectionReason:{hostile:`對方對你有敵意,不接受禮物`,neutral_distrust:`對方對你缺乏信任`,polite_decline:`對方禮貌地拒絕了`}},missionReports:{transportSuccess:`運輸任務成功完成`,transportFailed:`運輸任務失敗`,colonizeSuccess:`殖民任務成功,新星球已建立`,colonizeFailed:`殖民任務失敗`,deploySuccess:`部署任務成功完成`,deployFailed:`部署任務失敗`,recycleSuccess:`回收任務成功完成`,recycleFailed:`回收任務失敗,目標位置沒有殘骸`,destroySuccess:`行星毀滅任務成功執行`,destroyFailed:`行星毀滅任務失敗`},simulatorView:{title:`戰鬥模擬器`,attacker:`攻擊方`,defender:`防守方`,attackerConfig:`攻擊方配置`,attackerConfigDesc:`設置攻擊方的艦隊和科技等級`,defenderConfig:`防守方配置`,defenderConfigDesc:`設置防守方的艦隊、防禦和科技等級`,fleet:`艦隊`,defenseStructures:`防禦設施`,techLevels:`科技等級`,weapon:`武器`,shield:`護盾`,armor:`裝甲`,defenderResources:`防守方資源(用於掠奪計算)`,startSimulation:`開始模擬`,reset:`重置`,battleResult:`戰鬥結果`,attackerVictory:`攻擊方勝利`,defenderVictory:`防守方勝利`,draw:`平局`,afterRounds:`經過 {rounds} 回合戰鬥`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,attackerRemaining:`攻擊方剩餘`,defenderRemaining:`防守方剩餘`,allDestroyed:`全部摧毀`,plunderableResources:`可掠奪資源`,debrisField:`殘骸場`,moonChance:`月球生成機率`,showRoundDetails:`顯示回合詳情`,hideRoundDetails:`隱藏回合詳情`,round:`第 {round} 回合`,attackerRemainingPower:`攻擊方剩餘火力`,defenderRemainingPower:`防守方剩餘火力`},settings:{dataManagement:`資料管理`,dataManagementDesc:`匯出、匯入或清除遊戲資料`,exportData:`匯出資料`,exportDataDesc:`將遊戲進度匯出為JSON檔案`,export:`匯出`,exporting:`匯出中...`,exportSuccess:`匯出成功`,exportFailed:`匯出失敗,請重試`,importData:`匯入資料`,importDataDesc:`從JSON檔案恢復遊戲進度`,selectFile:`匯入`,importSuccess:`匯入成功`,importConfirmTitle:`確認匯入資料`,importConfirmMessage:`匯入資料將覆蓋目前遊戲進度,此操作不可撤銷。確定要繼續嗎?`,importFailed:`匯入失敗,請檢查檔案格式`,clearData:`清除資料`,clearDataDesc:`刪除所有遊戲資料並重置遊戲`,clear:`清除`,clearConfirmTitle:`確認清除資料`,clearConfirmMessage:`這將刪除所有遊戲資料並重新開始,此操作不可撤銷。確定要繼續嗎?`,gameSettings:`遊戲設定`,gameSettingsDesc:`調整遊戲參數和偏好設定`,gamePause:`遊戲暫停`,gamePauseDesc:`暫停或恢復遊戲時間和資源生產`,pause:`暫停`,resume:`恢復`,gamePaused:`遊戲已暫停`,gameResumed:`遊戲已恢復`,playerName:`玩家名稱`,gameSpeed:`遊戲速度`,gameSpeedDesc:`目前遊戲速度倍率`,about:`關於`,version:`版本`,buildDate:`建置日期`,community:`社群`,github:`GitHub 儲存庫`,qqGroup:`QQ 交流群`},gmView:{title:`GM 管理面板`,adminOnly:`僅管理員`,selectPlanet:`選擇星球`,choosePlanet:`選擇一個星球`,resources:`資源`,buildings:`建築`,research:`科技`,ships:`艦船`,defense:`防禦`,officers:`軍官`,modifyResources:`修改資源`,resourcesDesc:`快速修改星球資源數量`,modifyBuildings:`修改建築`,buildingsDesc:`快速設定建築等級`,modifyResearch:`修改科技`,researchDesc:`快速設定科技等級`,modifyShips:`修改艦船`,shipsDesc:`快速設定艦船數量`,modifyDefense:`修改防禦`,defenseDesc:`快速設定防禦數量`,modifyOfficers:`修改軍官`,officersDesc:`快速設定軍官到期時間`,days:`天`,npcTesting:`NPC 測試`,npcTestingDesc:`測試NPC偵查和攻擊行為`,selectNPC:`選擇NPC`,chooseNPC:`選擇一個NPC`,targetPlanet:`目標星球`,chooseTarget:`選擇目標星球`,testSpy:`測試偵查`,testAttack:`測試攻擊`,testSpyAndAttack:`測試偵查&攻擊`,initializeFleet:`初始化NPC艦隊`,accelerateMissions:`加速所有任務(5秒)`,selectNPCFirst:`請先選擇一個NPC`,npcNoProbes:`NPC沒有間諜探測器`,npcNoSpyReport:`NPC需要先偵查`,npcMissionFailed:`創建任務失敗`,dangerZone:`危險區域`,dangerZoneDesc:`以下操作不可撤銷,請謹慎操作`,resetGame:`重置遊戲`,resetGameConfirm:`確定要重置遊戲嗎?這將刪除所有資料!`},alerts:{npcSpyIncoming:`NPC偵查即將到達`,npcAttackIncoming:`NPC艦隊來襲!`,npcFleetIncoming:`NPC艦隊接近`,ships:`艘艦船`,spiedBy:`被偵查`,attackedBy:`被攻擊`,detectionSuccess:`偵查被發現`,detectionFailed:`偵查未被發現`,npcSpiedYourPlanet:`NPC偵查了你的星球`,npcAttackedYourPlanet:`NPC攻擊了你的星球`},diplomacy:{title:`外交`,description:`管理與NPC的外交關係`,tabs:{all:`全部`,friendly:`友好`,neutral:`中立`,hostile:`敵對`},noNpcs:`沒有NPC`,noFriendlyNpcs:`沒有友好的NPC`,noNeutralNpcs:`沒有中立的NPC`,noHostileNpcs:`沒有敵對的NPC`,recentEvents:`最近事件`,recentEventsDescription:`最近的外交活動記錄`,ago:`前`,status:{friendly:`友好`,neutral:`中立`,hostile:`敵對`},planets:`星球`,allies:`盟友`,reputation:`聲望`,alliedWith:`結盟對象`,more:`更多`,actions:{gift:`贈送禮物`,viewPlanets:`查看星球`},lastEvent:`最近事件`,events:{gift:`已贈送禮物`,attack:`攻擊`,allyAttacked:`盟友被攻擊`,spy:`間諜活動`,stealDebris:`掠奪殘骸`}},pagination:{previous:`上一頁`,next:`下一頁`,first:`首頁`,last:`末頁`,page:`第 {page} 頁`}},n={common:{confirm:`Confirm`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,save:`Save`,close:`Close`,back:`Back`,next:`Next`,previous:`Previous`,submit:`Submit`,reset:`Reset`,search:`Search`,filter:`Filter`,loading:`Loading...`,noData:`No Data`,error:`Error`,success:`Success`,warning:`Warning`,info:`Info`,resourceType:`Resource Type`,playerName:`Commander`,timeHour:`h`,timeMinute:`m`,timeSecond:`s`,featureLocked:`Feature Locked`,unlockRequired:`Building Required`,requiredBuilding:`Required Building`,currentLevel:`Current Level`,goToBuildings:`Go to Buildings`,locked:`Locked`,viewRequirements:`View Requirements`,requirementsNotMet:`Requirements Not Met`,current:`Current`,level:`Level`},errors:{requirementsNotMet:`Requirements not met`,insufficientResources:`Insufficient resources`,insufficientFleetStorage:`Insufficient fleet storage`,shieldDomeLimit:`Shield dome limit reached`,fleetMissionsFull:`Fleet mission slots full`,insufficientFleet:`Insufficient fleet`,insufficientFuel:`Insufficient fuel`,planetOnly:`This building can only be built on planets`,moonOnly:`This building can only be built on moons`,buildQueueFull:`Build queue full`,insufficientSpace:`Insufficient space`,buildingLevelZero:`Building level is 0, cannot demolish`,researchQueueFull:`Research queue full`,moonExists:`Moon already exists`,insufficientDebris:`Insufficient debris field`},nav:{overview:`Overview`,buildings:`Buildings`,research:`Research`,shipyard:`Shipyard`,defense:`Defense`,fleet:`Fleet`,officers:`Officers`,simulator:`Simulator`,galaxy:`Galaxy`,diplomacy:`Diplomacy`,messages:`Messages`,settings:`Settings`,gm:`GM`},sidebar:{language:`Language`,lightMode:`Light Mode`,darkMode:`Dark Mode`,collapse:`Collapse`,expand:`Expand`},resources:{metal:`Metal`,crystal:`Crystal`,deuterium:`Deuterium`,darkMatter:`Dark Matter`,energy:`Energy`,production:`Production`,consumption:`Consumption`,capacity:`Capacity`,current:`Current`,max:`Max Capacity`,perHour:`hour`,perMinute:`min`,hour:`hour`,noEnergy:`No Energy`},planet:{planet:`Planet`,moon:`Moon`,colony:`Colony`,position:`Position`,coordinates:`Coordinates`,switchToMoon:`View Moon`,backToPlanet:`Back to Planet`,switchPlanet:`Switch Planet`,currentPlanet:`Current Planet`,fields:`Fields`,temperature:`Temperature`,homePlanet:`Home Planet`,planetPrefix:`Planet`,moonSuffix:`'s Moon`,colonyPrefix:`Colony`},player:{points:`Total Points`},buildings:{metalMine:`Metal Mine`,crystalMine:`Crystal Mine`,deuteriumSynthesizer:`Deuterium Synthesizer`,solarPlant:`Solar Plant`,fusionReactor:`Fusion Reactor`,roboticsFactory:`Robotics Factory`,naniteFactory:`Nanite Factory`,shipyard:`Shipyard`,researchLab:`Research Lab`,metalStorage:`Metal Storage`,crystalStorage:`Crystal Storage`,deuteriumTank:`Deuterium Tank`,darkMatterCollector:`Dark Matter Collector`,darkMatterTank:`Dark Matter Tank`,missileSilo:`Missile Silo`,terraformer:`Terraformer`,lunarBase:`Lunar Base`,sensorPhalanx:`Sensor Phalanx`,jumpGate:`Jump Gate`,planetDestroyerFactory:`Planet Destroyer Factory`,buildTime:`Build Time`,production:`Production`,consumption:`Consumption`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueueBonus:`Build Queue`,spaceBonus:`Space Bonus`,buildSpeedBonus:`Build Speed Bonus`,researchSpeedBonus:`Research Speed Bonus`,missileCapacity:`Missile Capacity`},buildingDescriptions:{metalMine:`Extracts metal resources`,crystalMine:`Extracts crystal resources`,deuteriumSynthesizer:`Synthesizes deuterium resources`,solarPlant:`Provides energy`,fusionReactor:`Uses deuterium to generate large amounts of energy`,roboticsFactory:`Accelerates construction speed`,naniteFactory:`Increases build queue capacity, +1 per level (max 10 levels)`,shipyard:`Constructs ships`,researchLab:`Researches technologies`,metalStorage:`Increases metal storage capacity`,crystalStorage:`Increases crystal storage capacity`,deuteriumTank:`Increases deuterium storage capacity`,darkMatterCollector:`Collects rare dark matter resources`,darkMatterTank:`Increases dark matter storage capacity`,missileSilo:`Stores and launches missiles, 10 missiles per level`,terraformer:`Terraforms planet surface, adds 5 available space per level`,lunarBase:`Increases available space on the moon, +5 space per level`,sensorPhalanx:`Detects fleet activities in surrounding systems`,jumpGate:`Instantly transfers fleets to other moons`,planetDestroyerFactory:`Constructs ultimate weapons capable of destroying planets`},ships:{lightFighter:`Light Fighter`,heavyFighter:`Heavy Fighter`,cruiser:`Cruiser`,battleship:`Battleship`,battlecruiser:`Battlecruiser`,bomber:`Bomber`,destroyer:`Destroyer`,smallCargo:`Small Cargo`,largeCargo:`Large Cargo`,colonyShip:`Colony Ship`,recycler:`Recycler`,espionageProbe:`Espionage Probe`,solarSatellite:`Solar Satellite`,darkMatterHarvester:`Dark Matter Harvester`,deathstar:`Deathstar`},shipDescriptions:{lightFighter:`Basic combat unit`,heavyFighter:`Heavily armored fighter`,cruiser:`Medium warship, balanced offense and defense`,battleship:`Powerful warship`,battlecruiser:`Fast powerful warship, excels at attacking battleships`,bomber:`Specialized ship for attacking defense structures`,destroyer:`Hunter specialized in destroying large ships`,smallCargo:`Transports small amounts of resources`,largeCargo:`Transports large amounts of resources`,colonyShip:`Used to colonize new planets`,recycler:`Collects debris field resources`,espionageProbe:`Scouts enemy planets`,solarSatellite:`Provides extra energy, generates 50 energy per satellite`,darkMatterHarvester:`Special ship for harvesting dark matter`,deathstar:`Ultimate weapon capable of destroying entire planets`},defenses:{rocketLauncher:`Rocket Launcher`,lightLaser:`Light Laser`,heavyLaser:`Heavy Laser`,gaussCannon:`Gauss Cannon`,ionCannon:`Ion Cannon`,plasmaTurret:`Plasma Turret`,smallShieldDome:`Small Shield Dome`,largeShieldDome:`Large Shield Dome`,antiBallisticMissile:`Anti-Ballistic Missile`,interplanetaryMissile:`Interplanetary Missile`,planetaryShield:`Planetary Shield`},defenseDescriptions:{rocketLauncher:`Basic defense facility`,lightLaser:`Light energy weapon`,heavyLaser:`Heavy energy weapon`,gaussCannon:`High-speed kinetic weapon`,ionCannon:`Effective against shields`,plasmaTurret:`Powerful defense facility`,smallShieldDome:`Small shield protecting the entire planet`,largeShieldDome:`Large shield protecting the entire planet`,antiBallisticMissile:`Intercepts enemy missiles, can intercept 1 interplanetary missile each`,interplanetaryMissile:`Can attack defense structures on other planets`,planetaryShield:`Super shield protecting planet from destruction attacks`},research:{researchTime:`Research Time`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`,attackBonus:`Attack Bonus`,shieldBonus:`Shield Bonus`,armorBonus:`Armor Bonus`,spyLevel:`Spy Level`,researchQueueBonus:`Research Queue`,colonySlots:`Colony Slots`,forAllPlanets:`(Global)`,speedBonus:`Speed Bonus`,researchSpeedBonus:`Research Speed Bonus`},technologies:{energyTechnology:`Energy Technology`,laserTechnology:`Laser Technology`,ionTechnology:`Ion Technology`,hyperspaceTechnology:`Hyperspace Technology`,plasmaTechnology:`Plasma Technology`,computerTechnology:`Computer Technology`,espionageTechnology:`Espionage Technology`,weaponsTechnology:`Weapons Technology`,shieldingTechnology:`Shielding Technology`,armourTechnology:`Armour Technology`,astrophysics:`Astrophysics`,gravitonTechnology:`Graviton Technology`,combustionDrive:`Combustion Drive`,impulseDrive:`Impulse Drive`,hyperspaceDrive:`Hyperspace Drive`,darkMatterTechnology:`Dark Matter Technology`,terraformingTechnology:`Terraforming Technology`,planetDestructionTech:`Planet Destruction Technology`},technologyDescriptions:{energyTechnology:`Improves energy efficiency`,laserTechnology:`Foundation of laser weapons and defense`,ionTechnology:`Ion weapon technology`,hyperspaceTechnology:`Hyperspace jump technology`,plasmaTechnology:`Plasma weapon technology`,computerTechnology:`Increases research queue capacity, +1 per level (max 10 levels)`,espionageTechnology:`Improves spy probe effectiveness, +1 espionage level per level`,weaponsTechnology:`Increases ship and defense attack power by 10% per level`,shieldingTechnology:`Increases ship and defense shields by 10% per level`,armourTechnology:`Increases ship and defense armour by 10% per level`,astrophysics:`Each level adds 1 colony slot and increases expedition success rate`,gravitonTechnology:`Studies graviton manipulation, required for Death Star`,combustionDrive:`Basic propulsion technology`,impulseDrive:`Intermediate propulsion technology`,hyperspaceDrive:`Advanced propulsion technology`,darkMatterTechnology:`Research into dark matter properties and applications`,terraformingTechnology:`Research planet terraforming technology, adds 3 available space to all planets per level`,planetDestructionTech:`Terrifying technology for destroying entire planets`},officers:{commander:`Commander`,admiral:`Admiral`,engineer:`Engineer`,geologist:`Geologist`,technocrat:`Technocrat`,darkMatterSpecialist:`Dark Matter Specialist`,resourceBonus:`Resource Production Bonus`,darkMatterBonus:`Dark Matter Production Bonus`,energyBonus:`Energy Production Bonus`},officerDescriptions:{commander:`Improves building speed and management`,admiral:`Improves fleet combat and speed`,engineer:`Improves energy and defense`,geologist:`Improves resource production`,technocrat:`Improves research speed and espionage`,darkMatterSpecialist:`Improves dark matter collection efficiency`},queue:{buildQueueBonus:`Build Queue`,spaceBonus:`Space Bonus`,buildSpeedBonus:`Build Speed Bonus`,researchSpeedBonus:`Research Speed Bonus`,researchQueueBonus:`Research Queue`,building:`Building`,researching:`Researching`,remaining:`Remaining`,cancel:`Cancel`,cancelBuild:`Cancel Build`,cancelResearch:`Cancel Research`,confirmCancel:`Are you sure you want to cancel? 50% of resources will be refunded.`,level:`Level`,quantity:`Quantity`,upgradeToLevel:`Upgrade to Level`},overview:{title:`Planet Overview`,resourceOverview:`Resources`,fleetInfo:`Fleet`,currentShips:`Ships on this planet`,productionSources:`Production Sources`,productionSourcesDesc:`Detailed resource production and bonus information`,consumptionSources:`Consumption Sources`,consumptionSourcesDesc:`Energy consumption details for buildings`,totalProduction:`Total Production`,totalConsumption:`Total Consumption`,noConsumption:`No energy consumption`},buildingsView:{title:`Buildings`,usedSpace:`Used Space`,spaceUsage:`Space Usage`,level:`Level`,upgradeCost:`Upgrade Cost`,buildTime:`Build Time`,upgrade:`Upgrade`,maxLevelReached:`Max Level Reached`,requirementsNotMet:`Requirements Not Met`,upgradeFailed:`Upgrade Failed`,upgradeFailedMessage:`Please check if you have enough resources, space, or if there are other build tasks.`,demolish:`Demolish`,demolishRefund:`Demolish Refund`,demolishFailed:`Demolish Failed`,demolishFailedMessage:`Unable to demolish this building. Please check if the build queue is full or the building level is 0.`,confirmDemolish:`Confirm Demolish`,confirmDemolishMessage:`Are you sure you want to demolish`},researchView:{title:`Research`,researchCost:`Research Cost`,research:`Research`,maxLevelReached:`Max Level Reached`,researchFailed:`Research Failed`,researchFailedMessage:`Please check if you have enough resources, prerequisites are met, or if there are other research tasks.`},shipyard:{attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,fuelConsumption:`Fuel Consumption`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},shipyardView:{title:`Shipyard`,fleetStorage:`Fleet Storage`,attack:`Attack`,shield:`Shield`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met.`},defense:{attack:`Attack`,shield:`Shield`,armor:`Armor`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},defenseView:{title:`Defense`,attack:`Attack`,shield:`Shield`,armor:`Armor`,buildTime:`Build Time`,seconds:`s`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,shieldDomeBuilt:`Shield dome already built`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met. Shield domes can only be built once.`},fleetView:{title:`Fleet Management`,fleetOverview:`Fleet Overview`,sendFleet:`Send Fleet`,flightMissions:`Flight Missions`,currentPlanetFleet:`Current Planet Fleet`,attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargo:`Cargo`,selectFleet:`Select Fleet`,selectFleetDescription:`Select the number of ships to send`,available:`Available`,all:`All`,targetCoordinates:`Target Coordinates`,galaxy:`Galaxy`,system:`System`,position:`Position`,missionType:`Mission Type`,missionInfo:`Mission Info`,fuelConsumption:`Fuel Consumption`,flightTime:`Flight Time`,attackMission:`Attack`,transport:`Transport`,colonize:`Colonize`,spy:`Spy`,deploy:`Deploy`,recycle:`Recycle`,destroy:`Planet Destruction`,transportResources:`Transport Resources`,totalCargoCapacity:`Total Cargo Capacity`,used:`Used`,noFlightMissions:`No flight missions`,outbound:`Outbound`,returning:`Returning`,fleetComposition:`Fleet Composition`,carryingResources:`Carrying Resources`,arrivalTime:`Arrival Time`,returnTime:`Return Time`,recallFleet:`Recall Fleet`,sendFailed:`Send Failed`,sendFailedMessage:`Please check fleet count, fuel availability, or cargo capacity limits.`,recallFailed:`Recall Failed`,recallFailedMessage:`This mission cannot be recalled.`,unknownPlanet:`Unknown Planet`,fleetMissionSlots:`Fleet Mission Slots`,noShipsSelected:`No ships selected`,cannotSendToOwnPlanet:`Cannot send fleet to your own planet`,cargoExceedsCapacity:`Cargo exceeds capacity`,noColonyShip:`Colony ship required for colonization mission`,noDebrisAtTarget:`No debris field at target coordinates or debris field is empty`,noDeathstar:`Deathstar required for destruction mission`,giftMode:`Gift Mode`,giftModeDescription:`Send resources as a gift to`,estimatedReputationGain:`Estimated reputation gain`},officersView:{title:`Officers`,activated:`Activated`,inactive:`Inactive`,activeStatus:`Active Status`,expirationTime:`Expiration Time`,remainingTime:`Remaining Time`,recruitCost:`Recruitment Cost`,days:`days`,benefitsBonus:`Benefits Bonus`,resourceProduction:`Resource Production`,darkMatterProduction:`Dark Matter Production`,energyProduction:`Energy Production`,buildingSpeed:`Building Speed`,researchSpeed:`Research Speed`,fleetSpeed:`Fleet Speed`,fuelConsumption:`Fuel Consumption`,defense:`Defense`,storageCapacity:`Storage Capacity`,buildQueueBonus:`Build Queue`,spaceBonus:`Space Bonus`,buildSpeedBonus:`Build Speed Bonus`,researchSpeedBonus:`Research Speed Bonus`,fleetSlots:`Fleet Slots`,hire:`Hire`,renew:`Renew`,dismiss:`Dismiss`,hireTitle:`Hire Officer`,hireMessage:`Are you sure you want to hire {name}? Valid for 7 days.`,renewTitle:`Renew Officer`,renewMessage:`Are you sure you want to renew {name} for 7 days?`,dismissTitle:`Dismiss Officer`,dismissMessage:`Are you sure you want to dismiss {name}? No refunds will be given.`,hireFailed:`Hire Failed`,renewFailed:`Renew Failed`,insufficientResources:`Insufficient resources!`},galaxyView:{title:`Galaxy`,selectCoordinates:`Select Coordinates`,galaxy:`Galaxy`,selectGalaxy:`Select Galaxy`,system:`System`,selectSystem:`Select System`,view:`View`,myPlanet:`My Planet`,myPlanets:`My Planets`,npcPlanets:`NPC Planets`,selectPlanetToView:`Select planet to view`,totalPositions:`10 planet positions total`,mine:`Mine`,hostile:`Hostile`,emptySlot:`Empty - Colonizable`,scout:`Scout`,attack:`Attack`,colonize:`Colonize`,switch:`Switch`,recycle:`Recycle`,debrisField:`Debris Field`,scoutPlanetTitle:`Scout Planet`,attackPlanetTitle:`Attack Planet`,colonizePlanetTitle:`Colonize Planet`,recyclePlanetTitle:`Recycle Debris`,scoutPlanetMessage:`Are you sure you want to send espionage probes to scout planet [{coordinates}]? + +Please go to the fleet page to select ships and send.`,attackPlanetMessage:`Are you sure you want to attack planet [{coordinates}]? + +Please go to the fleet page to select ships and send.`,colonizePlanetMessage:`Are you sure you want to colonize position [{coordinates}]? + +Please go to the fleet page to send a colony ship.`,recyclePlanetMessage:`Are you sure you want to recycle debris at position [{coordinates}]? + +Please go to the fleet page to send recycler ships.`,sendGift:`Send Gift`,debris:`Debris`,giftPlanetTitle:`Send Gift`,giftPlanetMessage:`Are you sure you want to send resources as a gift to planet [{coordinates}]? + +Please go to the fleet page to select transport ships and load resources.`},messagesView:{title:`Messages`,battles:`Battles`,spy:`Spy`,npc:`NPC`,battleReports:`Battle Reports`,spyReports:`Spy Reports`,noBattleReports:`No battle reports`,noSpyReports:`No spy reports`,battleReport:`Battle Report`,spyReport:`Spy Report`,victory:`Victory`,defeat:`Defeat`,draw:`Draw`,attackerFleet:`Attacker Fleet`,defenderFleet:`Defender Fleet`,defenderDefense:`Defender Defense`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,plunder:`Plunder`,debrisField:`Debris Field`,resources:`Resources`,fleet:`Fleet`,defense:`Defense`,buildings:`Buildings`,unread:`Unread`,targetPlanet:`Target Planet`,spied:`Spied`,spiedNotification:`Spied Notification`,noSpiedNotifications:`No spied notifications`,detected:`Detected`,undetected:`Undetected`,missions:`Missions`,noMissionReports:`No mission reports`,success:`Success`,failed:`Failed`,npcActivity:`NPC Activity`,noNPCActivity:`No NPC activity notifications`,npcRecycleActivity:`NPC Recycling Debris`,gifts:`Gifts`,giftRejected:`Rejected`,noGiftNotifications:`No gift notifications`,noGiftRejected:`No rejected gifts`,giftFrom:`Gift from {npcName}`,giftRejectedBy:`{npcName} rejected the gift`,giftResources:`Gift resources`,rejectedResources:`Rejected resources`,expectedReputation:`Expected reputation`,currentReputation:`Current reputation`,acceptGift:`Accept`,rejectGift:`Reject`,rejectionReason:{hostile:`They are hostile towards you and do not accept gifts`,neutral_distrust:`They lack trust in you`,polite_decline:`They politely declined`}},missionReports:{transportSuccess:`Transport mission completed successfully`,transportFailed:`Transport mission failed`,colonizeSuccess:`Colonization mission successful, new planet established`,colonizeFailed:`Colonization mission failed`,deploySuccess:`Deployment mission completed successfully`,deployFailed:`Deployment mission failed`,recycleSuccess:`Recycling mission completed successfully`,recycleFailed:`Recycling mission failed, no debris at target location`,destroySuccess:`Planet destruction mission executed successfully`,destroyFailed:`Planet destruction mission failed`},simulatorView:{title:`Battle Simulator`,attacker:`Attacker`,defender:`Defender`,attackerConfig:`Attacker Configuration`,attackerConfigDesc:`Configure attacker fleet and technology levels`,defenderConfig:`Defender Configuration`,defenderConfigDesc:`Configure defender fleet, defense, and technology levels`,fleet:`Fleet`,defenseStructures:`Defense Structures`,techLevels:`Technology Levels`,weapon:`Weapon`,shield:`Shield`,armor:`Armor`,defenderResources:`Defender Resources (for plunder calculation)`,startSimulation:`Start Simulation`,reset:`Reset`,battleResult:`Battle Result`,attackerVictory:`Attacker Victory`,defenderVictory:`Defender Victory`,draw:`Draw`,afterRounds:`After {rounds} rounds`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,attackerRemaining:`Attacker Remaining`,defenderRemaining:`Defender Remaining`,allDestroyed:`All destroyed`,plunderableResources:`Plunderable Resources`,debrisField:`Debris Field`,moonChance:`Moon chance`,showRoundDetails:`Show round details`,hideRoundDetails:`Hide round details`,round:`Round {round}`,attackerRemainingPower:`Attacker remaining power`,defenderRemainingPower:`Defender remaining power`,spied:`Spied`,spiedNotification:`Spied Notification`,noSpiedNotifications:`No spied notifications`,detected:`Detected`,undetected:`Undetected`},settings:{dataManagement:`Data Management`,dataManagementDesc:`Export, import, or clear game data`,exportData:`Export Data`,exportDataDesc:`Export game progress as JSON file`,export:`Export`,exporting:`Exporting...`,exportSuccess:`Export successful`,exportFailed:`Export failed, please try again`,importData:`Import Data`,importDataDesc:`Restore game progress from JSON file`,selectFile:`Select File`,importSuccess:`Import successful`,importConfirmTitle:`Confirm Import`,importConfirmMessage:`Importing will overwrite current game progress. This action cannot be undone. Continue?`,importFailed:`Import failed, please check file format`,clearData:`Clear Data`,clearDataDesc:`Delete all game data and reset`,clear:`Clear`,clearConfirmTitle:`Confirm Clear Data`,clearConfirmMessage:`This will delete all game data and start over. This action cannot be undone. Continue?`,gameSettings:`Game Settings`,gameSettingsDesc:`Adjust game parameters and preferences`,gamePause:`Game Pause`,gamePauseDesc:`Pause or resume game time and resource production`,pause:`Pause`,resume:`Resume`,gamePaused:`Game paused`,gameResumed:`Game resumed`,playerName:`Player Name`,gameSpeed:`Game Speed`,gameSpeedDesc:`Current game speed multiplier`,about:`About`,version:`Version`,buildDate:`Build Date`,community:`Community`,github:`GitHub Repository`,qqGroup:`QQ Group`},gmView:{title:`GM Control Panel`,adminOnly:`Admin Only`,selectPlanet:`Select Planet`,choosePlanet:`Choose a planet`,resources:`Resources`,buildings:`Buildings`,research:`Research`,ships:`Ships`,defense:`Defense`,officers:`Officers`,modifyResources:`Modify Resources`,resourcesDesc:`Quickly modify planet resources`,modifyBuildings:`Modify Buildings`,buildingsDesc:`Quickly set building levels`,modifyResearch:`Modify Research`,researchDesc:`Quickly set research levels`,modifyShips:`Modify Ships`,shipsDesc:`Quickly set ship counts`,modifyDefense:`Modify Defense`,defenseDesc:`Quickly set defense counts`,modifyOfficers:`Modify Officers`,officersDesc:`Quickly set officer expiration time`,days:`d`,npcTesting:`NPC Testing`,npcTestingDesc:`Test NPC spy and attack behavior`,selectNPC:`Select NPC`,chooseNPC:`Choose an NPC`,targetPlanet:`Target Planet`,chooseTarget:`Choose target planet`,testSpy:`Test Spy`,testAttack:`Test Attack`,testSpyAndAttack:`Test Spy & Attack`,initializeFleet:`Initialize NPC Fleet`,accelerateMissions:`Accelerate All Missions (5s)`,selectNPCFirst:`Please select an NPC first`,npcNoProbes:`NPC has no spy probes`,npcNoSpyReport:`NPC needs to spy first`,npcMissionFailed:`Failed to create mission`,dangerZone:`Danger Zone`,dangerZoneDesc:`The following operations are irreversible`,resetGame:`Reset Game`,resetGameConfirm:`Are you sure you want to reset the game? This will delete all data!`},alerts:{npcSpyIncoming:`NPC Spy Probe Incoming`,npcAttackIncoming:`NPC Fleet Attack Incoming!`,npcFleetIncoming:`NPC Fleet Approaching`,ships:`ships`,spiedBy:`Spied By`,attackedBy:`Attacked By`,detectionSuccess:`Spy detected`,detectionFailed:`Spy not detected`,npcSpiedYourPlanet:`NPC spied your planet`,npcAttackedYourPlanet:`NPC attacked your planet`},diplomacy:{title:`Diplomacy`,description:`Manage diplomatic relations with NPCs`,tabs:{all:`All`,friendly:`Friendly`,neutral:`Neutral`,hostile:`Hostile`},noNpcs:`No NPCs`,noFriendlyNpcs:`No friendly NPCs`,noNeutralNpcs:`No neutral NPCs`,noHostileNpcs:`No hostile NPCs`,recentEvents:`Recent Events`,recentEventsDescription:`Recent diplomatic activity log`,ago:`ago`,status:{friendly:`Friendly`,neutral:`Neutral`,hostile:`Hostile`},planets:`planets`,allies:`allies`,reputation:`Reputation`,alliedWith:`Allied with`,more:`more`,actions:{gift:`Send Gift`,viewPlanets:`View Planets`},lastEvent:`Last Event`,events:{gift:`Sent Gift`,attack:`Attack`,allyAttacked:`Ally Attacked`,spy:`Espionage`,stealDebris:`Debris Stolen`}},pagination:{previous:`Previous`,next:`Next`,first:`First`,last:`Last`,page:`Page {page}`}},r={common:{confirm:`Bestätigen`,cancel:`Abbrechen`,delete:`Löschen`,edit:`Bearbeiten`,save:`Speichern`,close:`Schließen`,back:`Zurück`,next:`Weiter`,previous:`Vorherige`,submit:`Absenden`,reset:`Zurücksetzen`,search:`Suchen`,filter:`Filtern`,loading:`Laden...`,noData:`Keine Daten`,error:`Fehler`,success:`Erfolg`,warning:`Warnung`,info:`Info`,resourceType:`Ressourcentyp`,playerName:`Kommandant`,timeHour:`Std`,timeMinute:`Min`,timeSecond:`Sek`,featureLocked:`Funktion gesperrt`,unlockRequired:`Gebäude erforderlich`,requiredBuilding:`Erforderliches Gebäude`,currentLevel:`Aktuelles Level`,goToBuildings:`Zu Gebäuden`,locked:`Gesperrt`,viewRequirements:`Anforderungen anzeigen`,requirementsNotMet:`Anforderungen nicht erfüllt`,current:`Aktuell`,level:`Stufe`},errors:{requirementsNotMet:`Anforderungen nicht erfüllt`,insufficientResources:`Unzureichende Ressourcen`,insufficientFleetStorage:`Unzureichender Flottenspeicher`,shieldDomeLimit:`Schildkuppel-Limit erreicht`,fleetMissionsFull:`Flottenmissionsplätze voll`,insufficientFleet:`Unzureichende Flotte`,insufficientFuel:`Unzureichender Treibstoff`,planetOnly:`Dieses Gebäude kann nur auf Planeten gebaut werden`,moonOnly:`Dieses Gebäude kann nur auf Monden gebaut werden`,buildQueueFull:`Bauauftrag voll`,insufficientSpace:`Unzureichender Platz`,buildingLevelZero:`Gebäudelevel ist 0, kann nicht abgerissen werden`,researchQueueFull:`Forschungsauftrag voll`,moonExists:`Mond existiert bereits`,insufficientDebris:`Unzureichendes Trümmerfeld`},nav:{overview:`Übersicht`,buildings:`Gebäude`,research:`Forschung`,shipyard:`Raumschiffwerft`,defense:`Verteidigung`,fleet:`Flotte`,officers:`Offiziere`,simulator:`Simulator`,galaxy:`Galaxie`,diplomacy:`Diplomacy`,messages:`Nachrichten`,settings:`Einstellungen`,gm:`GM`},sidebar:{language:`Sprache`,lightMode:`Heller Modus`,darkMode:`Dunkler Modus`,collapse:`Einklappen`,expand:`Ausklappen`},resources:{metal:`Metall`,crystal:`Kristall`,deuterium:`Deuterium`,darkMatter:`Dunkle Materie`,energy:`Energie`,production:`Produktion`,consumption:`Verbrauch`,capacity:`Kapazität`,current:`Aktuell`,max:`Max. Kapazität`,perHour:`Stunde`,perMinute:`Min`,hour:`Stunde`,noEnergy:`Keine Energie`},planet:{planet:`Planet`,moon:`Mond`,colony:`Kolonie`,position:`Position`,coordinates:`Koordinaten`,switchToMoon:`Zum Mond`,backToPlanet:`Zurück zum Planeten`,switchPlanet:`Planet wechseln`,currentPlanet:`Aktueller Planet`,fields:`Felder`,temperature:`Temperatur`,homePlanet:`Heimatplanet`,planetPrefix:`Planet`,moonSuffix:`s Mond`,colonyPrefix:`Kolonie`},player:{points:`Gesamtpunkte`},buildings:{metalMine:`Metallmine`,crystalMine:`Kristallmine`,deuteriumSynthesizer:`Deuterium-Synthesizer`,solarPlant:`Solarkraftwerk`,fusionReactor:`Fusionsreaktor`,roboticsFactory:`Roboterfabrik`,naniteFactory:`Nanitenfabrik`,shipyard:`Raumschiffwerft`,researchLab:`Forschungslabor`,metalStorage:`Metallspeicher`,crystalStorage:`Kristallspeicher`,deuteriumTank:`Deuteriumtank`,darkMatterCollector:`Dunkle-Materie-Kollektor`,darkMatterTank:`Dunkle-Materie-Tank`,missileSilo:`Raketensilo`,terraformer:`Terraformer`,lunarBase:`Mondbasis`,sensorPhalanx:`Sensorphalanx`,jumpGate:`Sprungtor`,planetDestroyerFactory:`Planetenzerstörer-Fabrik`,buildTime:`Bauzeit`,production:`Produktion`,consumption:`Verbrauch`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,buildQueueBonus:`Bauauftrag`,spaceBonus:`Raumbonus`,buildSpeedBonus:`Baugeschwindigkeitsbonus`,researchSpeedBonus:`Forschungsgeschwindigkeitsbonus`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},buildingDescriptions:{metalMine:`Fördert Metallressourcen`,crystalMine:`Fördert Kristallressourcen`,deuteriumSynthesizer:`Synthesiert Deuteriumressourcen`,solarPlant:`Liefert Energie`,fusionReactor:`Nutzt Deuterium zur Erzeugung großer Energiemengen`,roboticsFactory:`Beschleunigt Baugeschwindigkeit`,naniteFactory:`Erhöht Bauauftragskapazität, +1 pro Stufe (max 10 Stufen)`,shipyard:`Baut Schiffe`,researchLab:`Erforscht Technologien`,metalStorage:`Erhöht Metallspeicherkapazität`,crystalStorage:`Erhöht Kristallspeicherkapazität`,deuteriumTank:`Erhöht Deuteriumspeicherkapazität`,darkMatterCollector:`Sammelt seltene Dunkle-Materie-Ressourcen`,darkMatterTank:`Erhöht Dunkle-Materie-Speicherkapazität`,missileSilo:`Lagert und startet Raketen, 10 Raketen pro Stufe`,terraformer:`Terraformt Planetenoberfläche, erhöht verfügbaren Platz um 5 pro Stufe`,lunarBase:`Erhöht verfügbaren Platz auf dem Mond, +5 Platz pro Stufe`,sensorPhalanx:`Erkennt Flottenaktivitäten in umliegenden Systemen`,jumpGate:`Überträgt Flotten sofort zu anderen Monden`,planetDestroyerFactory:`Konstruiert ultimative Waffen zur Zerstörung von Planeten`},ships:{lightFighter:`Leichter Jäger`,heavyFighter:`Schwerer Jäger`,cruiser:`Kreuzer`,battleship:`Schlachtschiff`,battlecruiser:`Schlachtkreuzer`,bomber:`Bomber`,destroyer:`Zerstörer`,smallCargo:`Kleiner Transporter`,largeCargo:`Großer Transporter`,colonyShip:`Kolonieschiff`,recycler:`Recycler`,espionageProbe:`Spionagesonde`,solarSatellite:`Solarsatellit`,darkMatterHarvester:`Dunkle-Materie-Ernter`,deathstar:`Todesstern`},shipDescriptions:{lightFighter:`Grundlegende Kampfeinheit`,heavyFighter:`Schwer gepanzerter Jäger`,cruiser:`Mittleres Kriegsschiff, ausgewogene Offensive und Defensive`,battleship:`Mächtiges Kriegsschiff`,battlecruiser:`Schnelles mächtiges Kriegsschiff, hervorragend gegen Schlachtschiffe`,bomber:`Spezialisiertes Schiff zum Angriff auf Verteidigungsanlagen`,destroyer:`Jäger spezialisiert auf Zerstörung großer Schiffe`,smallCargo:`Transportiert kleine Mengen Ressourcen`,largeCargo:`Transportiert große Mengen Ressourcen`,colonyShip:`Zur Kolonisierung neuer Planeten`,recycler:`Sammelt Trümmerfeld-Ressourcen`,espionageProbe:`Späht feindliche Planeten aus`,solarSatellite:`Liefert zusätzliche Energie, erzeugt 50 Energie pro Satellit`,darkMatterHarvester:`Spezielles Schiff zum Ernten von Dunkler Materie`,deathstar:`Ultimative Waffe, die ganze Planeten zerstören kann`},defenses:{rocketLauncher:`Raketenwerfer`,lightLaser:`Leichtes Lasergeschütz`,heavyLaser:`Schweres Lasergeschütz`,gaussCannon:`Gaußkanone`,ionCannon:`Ionengeschütz`,plasmaTurret:`Plasmawerfer`,smallShieldDome:`Kleine Schildkuppel`,largeShieldDome:`Große Schildkuppel`,antiBallisticMissile:`Abfangrakete`,interplanetaryMissile:`Interkontinentalrakete`,planetaryShield:`Planetarschild`},defenseDescriptions:{rocketLauncher:`Grundlegende Verteidigungsanlage`,lightLaser:`Leichte Energiewaffe`,heavyLaser:`Schwere Energiewaffe`,gaussCannon:`Hochgeschwindigkeits-Kinetikwaffe`,ionCannon:`Effektiv gegen Schilde`,plasmaTurret:`Mächtige Verteidigungsanlage`,smallShieldDome:`Kleiner Schild zum Schutz des gesamten Planeten`,largeShieldDome:`Großer Schild zum Schutz des gesamten Planeten`,antiBallisticMissile:`Fängt feindliche Raketen ab, kann 1 Interkontinentalrakete abfangen`,interplanetaryMissile:`Kann Verteidigungsanlagen auf anderen Planeten angreifen`,planetaryShield:`Superschild zum Schutz des Planeten vor Vernichtungsangriffen`},research:{researchTime:`Forschungszeit`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},technologies:{energyTechnology:`Energietechnik`,laserTechnology:`Lasertechnik`,ionTechnology:`Ionentechnik`,hyperspaceTechnology:`Hyperraumtechnik`,plasmaTechnology:`Plasmatechnik`,computerTechnology:`Computertechnologie`,espionageTechnology:`Spionagetechnik`,weaponsTechnology:`Waffentechnik`,shieldingTechnology:`Schildtechnik`,armourTechnology:`Panzerung`,astrophysics:`Astrophysik`,gravitonTechnology:`Gravitontechnik`,combustionDrive:`Verbrennungsantrieb`,impulseDrive:`Impulsantrieb`,hyperspaceDrive:`Hyperraumantrieb`,darkMatterTechnology:`Dunkle-Materie-Technologie`,terraformingTechnology:`Terraforming-Technologie`,planetDestructionTech:`Planetenzerstörungstechnologie`},technologyDescriptions:{energyTechnology:`Verbessert Energieeffizienz`,laserTechnology:`Grundlage für Laserwaffen und -verteidigung`,ionTechnology:`Ionenwaffentechnologie`,hyperspaceTechnology:`Hyperraumsprung-Technologie`,plasmaTechnology:`Plasmawaffentechnologie`,computerTechnology:`Erhöht Forschungsauftragskapazität, +1 pro Stufe (max 10 Stufen)`,espionageTechnology:`Verbessert Sondenwirksamkeit, +1 Spionagestufe pro Stufe`,weaponsTechnology:`Erhöht Angriffskraft von Schiffen und Verteidigung um 10% pro Stufe`,shieldingTechnology:`Erhöht Schilde von Schiffen und Verteidigung um 10% pro Stufe`,armourTechnology:`Erhöht Panzerung von Schiffen und Verteidigung um 10% pro Stufe`,astrophysics:`Jede Stufe fügt 1 Kolonieslot hinzu und erhöht Expeditionserfolgsrate`,gravitonTechnology:`Erforscht Gravitonmanipulation, erforderlich für Todesstern`,combustionDrive:`Grundlegende Antriebstechnologie`,impulseDrive:`Mittlere Antriebstechnologie`,hyperspaceDrive:`Fortgeschrittene Antriebstechnologie`,darkMatterTechnology:`Forschung zu Eigenschaften und Anwendungen von Dunkler Materie`,terraformingTechnology:`Forschung zur Planeten-Terraforming-Technologie, erhöht verfügbaren Platz aller Planeten um 3 pro Stufe`,planetDestructionTech:`Schreckliche Technologie zur Zerstörung ganzer Planeten`},officers:{commander:`Kommandant`,admiral:`Admiral`,engineer:`Ingenieur`,geologist:`Geologe`,technocrat:`Technokrat`,darkMatterSpecialist:`Dunkle-Materie-Spezialist`,resourceBonus:`Ressourcenproduktionsbonus`,darkMatterBonus:`Dunkle-Materie-Produktionsbonus`,energyBonus:`Energieproduktionsbonus`},officerDescriptions:{commander:`Verbessert Baugeschwindigkeit und Management`,admiral:`Verbessert Flottenkampf und Geschwindigkeit`,engineer:`Verbessert Energie und Verteidigung`,geologist:`Verbessert Ressourcenproduktion`,technocrat:`Verbessert Forschungsgeschwindigkeit und Spionage`,darkMatterSpecialist:`Verbessert Dunkle-Materie-Sammlungseffizienz`},queue:{buildQueue:`Bauauftrag`,researchQueue:`Forschungsauftrag`,building:`Im Bau`,researching:`In Forschung`,remaining:`Verbleibend`,cancel:`Abbrechen`,cancelBuild:`Bau abbrechen`,cancelResearch:`Forschung abbrechen`,confirmCancel:`Möchten Sie wirklich abbrechen? 50% der Ressourcen werden zurückerstattet.`,level:`Stufe`,upgradeToLevel:`Auf Stufe aufrüsten`},overview:{title:`Planetenübersicht`,resourceOverview:`Ressourcen`,fleetInfo:`Flotte`,currentShips:`Schiffe auf diesem Planeten`,productionSources:`Produktionsquellen`,productionSourcesDesc:`Detaillierte Ressourcenproduktion und Bonusinformationen`,consumptionSources:`Verbrauchsquellen`,consumptionSourcesDesc:`Energieverbrauchsdetails für Gebäude`,totalProduction:`Gesamtproduktion`,totalConsumption:`Gesamtverbrauch`,noConsumption:`Kein Energieverbrauch`},buildingsView:{title:`Gebäude`,usedSpace:`Verwendeter Platz`,spaceUsage:`Platzbedarf`,level:`Stufe`,upgradeCost:`Ausbaukosten`,buildTime:`Bauzeit`,upgrade:`Ausbauen`,maxLevelReached:`Maximale Stufe erreicht`,requirementsNotMet:`Anforderungen nicht erfüllt`,upgradeFailed:`Ausbau fehlgeschlagen`,upgradeFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen, Platz oder keine anderen Bauaufträge haben.`,demolish:`Abreißen`,demolishRefund:`Abriss-Rückerstattung`,demolishFailed:`Abriss fehlgeschlagen`,demolishFailedMessage:`Abriss nicht möglich. Bitte überprüfen Sie, ob die Bauqueue voll ist oder die Gebäudestufe 0 ist.`,confirmDemolish:``,confirmDemolishMessage:``},researchView:{title:`Forschung`,researchCost:`Forschungskosten`,research:`Forschen`,maxLevelReached:`Maximale Stufe erreicht`,researchFailed:`Forschung fehlgeschlagen`,researchFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben, die Voraussetzungen erfüllt sind oder keine anderen Forschungsaufträge vorhanden sind.`},shipyard:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,fuelConsumption:`Treibstoffverbrauch`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},shipyardView:{title:`Raumschiffwerft`,fleetStorage:`Flottenspeicher`,attack:`Angriff`,shield:`Schild`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind.`},defense:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},defenseView:{title:`Verteidigung`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildTime:`Bauzeit`,seconds:`s`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,shieldDomeBuilt:`Schildkuppel bereits gebaut`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind. Schildkuppeln können nur einmal gebaut werden.`},fleetView:{title:`Flottenverwaltung`,fleetOverview:`Flottenübersicht`,sendFleet:`Flotte senden`,flightMissions:`Flugmissionen`,currentPlanetFleet:`Flotte auf diesem Planeten`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargo:`Fracht`,selectFleet:`Flotte auswählen`,selectFleetDescription:`Wählen Sie die Anzahl der zu sendenden Schiffe`,available:`Verfügbar`,all:`Alle`,targetCoordinates:`Zielkoordinaten`,galaxy:`Galaxie`,diplomacy:`Diplomacy`,system:`System`,position:`Position`,missionType:`Missionstyp`,missionInfo:`Missionsinfo`,fuelConsumption:`Treibstoffverbrauch`,flightTime:`Flugzeit`,attackMission:`Angriff`,transport:`Transport`,colonize:`Kolonisieren`,spy:`Spionage`,deploy:`Stationieren`,recycle:`Recyceln`,transportResources:`Ressourcen transportieren`,totalCargoCapacity:`Gesamtladekapazität`,used:`Verwendet`,noFlightMissions:`Keine Flugmissionen`,outbound:`Hinflug`,returning:`Rückflug`,fleetComposition:`Flottenzusammensetzung`,carryingResources:`Transportierte Ressourcen`,arrivalTime:`Ankunftszeit`,returnTime:`Rückkehrzeit`,recallFleet:`Flotte zurückrufen`,sendFailed:`Senden fehlgeschlagen`,sendFailedMessage:`Bitte überprüfen Sie Flottenanzahl, Treibstoffverfügbarkeit oder Ladekapazitätsgrenzen.`,recallFailed:`Zurückrufen fehlgeschlagen`,recallFailedMessage:`Diese Mission kann nicht zurückgerufen werden.`,unknownPlanet:`Unbekannter Planet`,fleetMissionSlots:`Flottenmissionsplätze`,noShipsSelected:`Keine Schiffe ausgewählt`,cannotSendToOwnPlanet:`Flotte kann nicht zu eigenem Planeten gesendet werden`,cargoExceedsCapacity:`Fracht überschreitet Kapazität`,noColonyShip:`Kolonieschiff für Kolonisierungsmission erforderlich`,noDebrisAtTarget:`Kein Trümmerfeld an Zielkoordinaten oder Trümmerfeld ist leer`,noDeathstar:`Todesstern für Zerstörungsmission erforderlich`,giftMode:`Geschenkmodus`,giftModeDescription:`Ressourcen als Geschenk senden an`,estimatedReputationGain:`Geschätzter Reputationsgewinn`},officersView:{title:`Offiziere`,activated:`Aktiviert`,inactive:`Inaktiv`,activeStatus:`Aktivierungsstatus`,expirationTime:`Ablaufzeit`,remainingTime:`Verbleibende Zeit`,recruitCost:`Rekrutierungskosten`,days:`Tage`,benefitsBonus:`Vorteile`,resourceProduction:`Ressourcenproduktion`,darkMatterProduction:`Dunkle-Materie-Produktion`,energyProduction:`Energieproduktion`,buildingSpeed:`Baugeschwindigkeit`,researchSpeed:`Forschungsgeschwindigkeit`,fleetSpeed:`Flottengeschwindigkeit`,fuelConsumption:`Treibstoffverbrauch`,defense:`Verteidigung`,storageCapacity:`Lagerkapazität`,buildQueue:`Bauauftrag`,fleetSlots:`Flottenslots`,hire:`Rekrutieren`,renew:`Verlängern`,dismiss:`Entlassen`,hireTitle:`Offizier rekrutieren`,hireMessage:`Möchten Sie wirklich {name} rekrutieren? Gültig für 7 Tage.`,renewTitle:`Offizier verlängern`,renewMessage:`Möchten Sie wirklich {name} für 7 Tage verlängern?`,dismissTitle:`Offizier entlassen`,dismissMessage:`Möchten Sie wirklich {name} entlassen? Es werden keine Kosten zurückerstattet.`,hireFailed:`Rekrutierung fehlgeschlagen`,renewFailed:`Verlängerung fehlgeschlagen`,insufficientResources:`Nicht genug Ressourcen!`},galaxyView:{title:`Galaxie`,selectCoordinates:`Koordinaten auswählen`,galaxy:`Galaxie`,diplomacy:`Diplomacy`,selectGalaxy:`Galaxie auswählen`,system:`System`,selectSystem:`System auswählen`,view:`Anzeigen`,myPlanet:`Mein Planet`,myPlanets:`Meine Planeten`,npcPlanets:`NPC-Planeten`,selectPlanetToView:`Planet zum Anzeigen auswählen`,totalPositions:`Insgesamt 10 Planetenpositionen`,mine:`Mein`,hostile:`Feindlich`,emptySlot:`Leer - Kolonisierbar`,scout:`Spähen`,attack:`Angriff`,colonize:`Kolonisieren`,switch:`Wechseln`,recycle:`Recyceln`,debrisField:`Trümmerfeld`,scoutPlanetTitle:`Planet ausspionieren`,attackPlanetTitle:`Planet angreifen`,colonizePlanetTitle:`Planet kolonisieren`,recyclePlanetTitle:`Trümmer recyceln`,scoutPlanetMessage:`Möchten Sie wirklich Spionagesonden senden, um Planet [{coordinates}] auszuspionieren? + +Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,attackPlanetMessage:`Möchten Sie wirklich Planet [{coordinates}] angreifen? + +Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,colonizePlanetMessage:`Möchten Sie wirklich Position [{coordinates}] kolonisieren? + +Bitte gehen Sie zur Flottenseite, um ein Kolonieschiff zu senden.`,recyclePlanetMessage:`Möchten Sie wirklich Trümmer bei Position [{coordinates}] recyceln? + +Bitte gehen Sie zur Flottenseite, um Recycler zu senden.`,sendGift:`Geschenk senden`,debris:`Trümmer`,giftPlanetTitle:`Geschenk senden`,giftPlanetMessage:`Möchten Sie wirklich Ressourcen als Geschenk an Planet [{coordinates}] senden? + +Bitte gehen Sie zur Flottenseite, um Transporter auszuwählen und Ressourcen zu laden.`},messagesView:{title:`Nachrichten`,battles:`Kämpfe`,spy:`Spionage`,npc:`NPC`,spied:`Ausspioniert`,battleReports:`Kampfberichte`,spyReports:`Spionageberichte`,noBattleReports:`Keine Kampfberichte`,noSpyReports:`Keine Spionageberichte`,noSpiedNotifications:`Keine Ausspionierungs-Benachrichtigungen`,battleReport:`Kampfbericht`,spyReport:`Spionagebericht`,spiedNotification:`Ausspionierungs-Benachrichtigung`,victory:`Sieg`,defeat:`Niederlage`,draw:`Unentschieden`,detected:`Entdeckt`,undetected:`Unentdeckt`,attackerFleet:`Angreiferflotte`,defenderFleet:`Verteidigerflotte`,defenderDefense:`Verteidigerverteidigung`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,plunder:`Beute`,debrisField:`Trümmerfeld`,resources:`Ressourcen`,fleet:`Flotte`,defense:`Verteidigung`,buildings:`Gebäude`,unread:`Ungelesen`,targetPlanet:`Zielplanet`,attackerRemaining:`Angreifer verblieben`,defenderRemaining:`Verteidiger verblieben`,moonChance:`Mondchance`,showRoundDetails:`Rundendetails anzeigen`,hideRoundDetails:`Rundendetails ausblenden`,round:`Runde {round}`,attackerRemainingPower:`Verbleibende Angreiferkraft`,defenderRemainingPower:`Verbleibende Verteidigerkraft`,missions:`Missionen`,noMissionReports:`Keine Missionsberichte`,success:`Erfolg`,failed:`Fehlgeschlagen`,npcActivity:`NPC-Aktivität`,noNPCActivity:`Keine NPC-Aktivitätsbenachrichtigungen`,npcRecycleActivity:`NPC recycelt Trümmer`,gifts:`Geschenke`,giftRejected:`Abgelehnt`,noGiftNotifications:`Keine Geschenkbenachrichtigungen`,noGiftRejected:`Keine abgelehnten Geschenke`,giftFrom:`Geschenk von {npcName}`,giftRejectedBy:`{npcName} hat das Geschenk abgelehnt`,giftResources:`Geschenk-Ressourcen`,rejectedResources:`Abgelehnte Ressourcen`,expectedReputation:`Erwarteter Ruf`,currentReputation:`Aktueller Ruf`,acceptGift:`Annehmen`,rejectGift:`Ablehnen`,rejectionReason:{hostile:`Sie sind feindlich und nehmen keine Geschenke an`,neutral_distrust:`Sie vertrauen Ihnen nicht`,polite_decline:`Sie lehnten höflich ab`}},missionReports:{transportSuccess:`Transportmission erfolgreich abgeschlossen`,transportFailed:`Transportmission fehlgeschlagen`,colonizeSuccess:`Kolonisierungsmission erfolgreich, neuer Planet gegründet`,colonizeFailed:`Kolonisierungsmission fehlgeschlagen`,deploySuccess:`Einsatzmission erfolgreich abgeschlossen`,deployFailed:`Einsatzmission fehlgeschlagen`,recycleSuccess:`Recyclingmission erfolgreich abgeschlossen`,recycleFailed:`Recyclingmission fehlgeschlagen, keine Trümmer am Zielort`,destroySuccess:`Planetenzerstörungsmission erfolgreich ausgeführt`,destroyFailed:`Planetenzerstörungsmission fehlgeschlagen`},simulatorView:{title:`Kampfsimulator`,attacker:`Angreifer`,defender:`Verteidiger`,attackerConfig:`Angreiferkonfiguration`,attackerConfigDesc:`Angreiferflotte und Technologiestufen konfigurieren`,defenderConfig:`Verteidigerkonfiguration`,defenderConfigDesc:`Verteidigerflotte, Verteidigung und Technologiestufen konfigurieren`,fleet:`Flotte`,defenseStructures:`Verteidigungsanlagen`,techLevels:`Technologiestufen`,weapon:`Waffe`,shield:`Schild`,armor:`Panzerung`,defenderResources:`Verteidigerressourcen (für Beuteberechnung)`,startSimulation:`Simulation starten`,reset:`Zurücksetzen`,battleResult:`Kampfergebnis`,attackerVictory:`Angreifer Sieg`,defenderVictory:`Verteidiger Sieg`,draw:`Unentschieden`,afterRounds:`Nach {rounds} Runden`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,attackerRemaining:`Angreifer verblieben`,defenderRemaining:`Verteidiger verblieben`,allDestroyed:`Alle zerstört`,plunderableResources:`Erbeutbare Ressourcen`,debrisField:`Trümmerfeld`,moonChance:`Mondchance`,showRoundDetails:`Rundendetails anzeigen`,hideRoundDetails:`Rundendetails ausblenden`,round:`Runde {round}`,attackerRemainingPower:`Verbleibende Angreiferkraft`,defenderRemainingPower:`Verbleibende Verteidigerkraft`},settings:{dataManagement:`Datenverwaltung`,dataManagementDesc:`Spieldaten exportieren, importieren oder löschen`,exportData:`Daten exportieren`,exportDataDesc:`Spielfortschritt als JSON-Datei exportieren`,export:`Exportieren`,exporting:`Exportieren...`,exportSuccess:`Export erfolgreich`,exportFailed:`Export fehlgeschlagen, bitte erneut versuchen`,importData:`Daten importieren`,importDataDesc:`Spielfortschritt aus JSON-Datei wiederherstellen`,selectFile:`Datei auswählen`,importSuccess:`Import erfolgreich`,importConfirmTitle:`Import bestätigen`,importConfirmMessage:`Beim Importieren wird der aktuelle Spielfortschritt überschrieben. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,importFailed:`Import fehlgeschlagen, bitte Dateiformat überprüfen`,clearData:`Daten löschen`,clearDataDesc:`Alle Spieldaten löschen und zurücksetzen`,clear:`Löschen`,clearConfirmTitle:`Löschen bestätigen`,clearConfirmMessage:`Alle Spieldaten werden gelöscht und von vorne begonnen. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,gameSettings:`Spieleinstellungen`,gameSettingsDesc:`Spielparameter und Einstellungen anpassen`,gamePause:`Spielpause`,gamePauseDesc:`Spielzeit und Ressourcenproduktion pausieren oder fortsetzen`,pause:`Pausieren`,resume:`Fortsetzen`,gamePaused:`Spiel pausiert`,gameResumed:`Spiel fortgesetzt`,playerName:`Spielername`,gameSpeed:`Spielgeschwindigkeit`,gameSpeedDesc:`Aktueller Spielgeschwindigkeitsmultiplikator`,about:`Über`,version:`Version`,buildDate:`Build-Datum`,community:`Community`,github:`GitHub-Repository`,qqGroup:`QQ-Gruppe`},gmView:{title:`GM-Kontrollpanel`,adminOnly:`Nur Admin`,selectPlanet:`Planet auswählen`,choosePlanet:`Einen Planeten auswählen`,resources:`Ressourcen`,buildings:`Gebäude`,research:`Forschung`,ships:`Schiffe`,defense:`Verteidigung`,officers:`Offiziere`,modifyResources:`Ressourcen ändern`,resourcesDesc:`Planetenressourcen schnell ändern`,modifyBuildings:`Gebäude ändern`,buildingsDesc:`Gebäudelevel schnell festlegen`,modifyResearch:`Forschung ändern`,researchDesc:`Forschungslevel schnell festlegen`,modifyShips:`Schiffe ändern`,shipsDesc:`Schiffsanzahl schnell festlegen`,modifyDefense:`Verteidigung ändern`,defenseDesc:`Verteidigungsanzahl schnell festlegen`,modifyOfficers:`Offiziere ändern`,officersDesc:`Offiziersablaufzeit schnell festlegen`,days:`T`,npcTesting:`NPC-Test`,npcTestingDesc:`NPC-Spionage- und Angriffsverhalten testen`,selectNPC:`NPC auswählen`,chooseNPC:`Wählen Sie einen NPC`,targetPlanet:`Zielplanet`,chooseTarget:`Zielplanet auswählen`,testSpy:`Spionage testen`,testAttack:`Angriff testen`,testSpyAndAttack:`Spionage & Angriff testen`,initializeFleet:`NPC-Flotte initialisieren`,accelerateMissions:`Alle Missionen beschleunigen (5s)`,selectNPCFirst:`Bitte wählen Sie zuerst einen NPC`,npcNoProbes:`NPC hat keine Spionagesonden`,npcNoSpyReport:`NPC muss zuerst spionieren`,npcMissionFailed:`Mission konnte nicht erstellt werden`,dangerZone:`Gefahrenzone`,dangerZoneDesc:`Die folgenden Vorgänge sind irreversibel`,resetGame:`Spiel zurücksetzen`,resetGameConfirm:`Möchten Sie das Spiel wirklich zurücksetzen? Alle Daten werden gelöscht!`},alerts:{npcSpyIncoming:`NPC-Spionagesonde nähert sich`,npcAttackIncoming:`NPC-Flotten-Angriff im Anmarsch!`,npcFleetIncoming:`NPC-Flotte nähert sich`,ships:`Schiffe`,spiedBy:`Ausspioniert von`,attackedBy:`Angegriffen von`,detectionSuccess:`Spionage entdeckt`,detectionFailed:`Spionage nicht entdeckt`,npcSpiedYourPlanet:`NPC hat deinen Planeten ausspioniert`,npcAttackedYourPlanet:`NPC hat deinen Planeten angegriffen`},diplomacy:{title:`Diplomatie`,description:`Verwalte diplomatische Beziehungen mit NPCs`,tabs:{all:`Alle`,friendly:`Freundlich`,neutral:`Neutral`,hostile:`Feindlich`},noNpcs:`Keine NPCs`,noFriendlyNpcs:`Keine freundlichen NPCs`,noNeutralNpcs:`Keine neutralen NPCs`,noHostileNpcs:`Keine feindlichen NPCs`,recentEvents:`Aktuelle Ereignisse`,recentEventsDescription:`Protokoll der jüngsten diplomatischen Aktivitäten`,ago:`vor`,status:{friendly:`Freundlich`,neutral:`Neutral`,hostile:`Feindlich`},planets:`Planeten`,allies:`Verbündete`,reputation:`Ansehen`,alliedWith:`Verbündet mit`,more:`weitere`,actions:{gift:`Geschenk senden`,viewPlanets:`Planeten ansehen`},lastEvent:`Letztes Ereignis`,events:{gift:`Geschenk gesendet`,attack:`Angriff`,allyAttacked:`Verbündeter angegriffen`,spy:`Spionage`,stealDebris:`Trümmer gestohlen`}},pagination:{previous:`Vorherige`,next:`Nächste`,first:`Erste`,last:`Letzte`,page:`Seite {page}`}},i={common:{confirm:`Подтвердить`,cancel:`Отмена`,delete:`Удалить`,edit:`Редактировать`,save:`Сохранить`,close:`Закрыть`,back:`Назад`,next:`Далее`,previous:`Предыдущий`,submit:`Отправить`,reset:`Сбросить`,search:`Поиск`,filter:`Фильтр`,loading:`Загрузка...`,noData:`Нет данных`,error:`Ошибка`,success:`Успешно`,warning:`Предупреждение`,info:`Информация`,resourceType:`Тип ресурса`,playerName:`Командир`,timeHour:`ч`,timeMinute:`мин`,timeSecond:`сек`,featureLocked:`Функция заблокирована`,unlockRequired:`Требуется здание`,requiredBuilding:`Необходимое здание`,currentLevel:`Текущий уровень`,goToBuildings:`К зданиям`,locked:`Заблокировано`,viewRequirements:`Просмотр требований`,requirementsNotMet:`Требования не выполнены`,current:`Текущий`,level:`Уровень`},errors:{requirementsNotMet:`Требования не выполнены`,insufficientResources:`Недостаточно ресурсов`,insufficientFleetStorage:`Недостаточно места для флота`,shieldDomeLimit:`Достигнут лимит щитовых куполов`,fleetMissionsFull:`Слоты миссий флота заполнены`,insufficientFleet:`Недостаточно флота`,insufficientFuel:`Недостаточно топлива`,planetOnly:`Это здание можно построить только на планетах`,moonOnly:`Это здание можно построить только на лунах`,buildQueueFull:`Очередь строительства заполнена`,insufficientSpace:`Недостаточно места`,buildingLevelZero:`Уровень здания 0, нельзя снести`,researchQueueFull:`Очередь исследований заполнена`,moonExists:`Луна уже существует`,insufficientDebris:`Недостаточно обломков`},nav:{overview:`Обзор`,buildings:`Здания`,research:`Исследования`,shipyard:`Верфь`,defense:`Оборона`,fleet:`Флот`,officers:`Офицеры`,simulator:`Симулятор`,galaxy:`Галактика`,diplomacy:`Diplomacy`,messages:`Сообщения`,settings:`Настройки`,gm:`GM`},sidebar:{language:`Язык`,lightMode:`Светлая тема`,darkMode:`Тёмная тема`,collapse:`Свернуть`,expand:`Развернуть`},resources:{metal:`Металл`,crystal:`Кристалл`,deuterium:`Дейтерий`,darkMatter:`Тёмная материя`,energy:`Энергия`,production:`Производство`,consumption:`Потребление`,capacity:`Вместимость`,current:`Текущий`,max:`Макс. вместимость`,perHour:`час`,perMinute:`мин`,hour:`час`,noEnergy:`Нет энергии`},planet:{planet:`Планета`,moon:`Луна`,colony:`Колония`,position:`Позиция`,coordinates:`Координаты`,switchToMoon:`На луну`,backToPlanet:`Вернуться на планету`,switchPlanet:`Переключить планету`,currentPlanet:`Текущая планета`,fields:`Поля`,temperature:`Температура`,homePlanet:`Родная планета`,planetPrefix:`Планета`,moonSuffix:`я луна`,colonyPrefix:`Колония`},player:{points:`Всего очков`},buildings:{metalMine:`Рудник металла`,crystalMine:`Рудник кристалла`,deuteriumSynthesizer:`Синтезатор дейтерия`,solarPlant:`Солнечная электростанция`,fusionReactor:`Термоядерный реактор`,roboticsFactory:`Фабрика роботов`,naniteFactory:`Нанитная фабрика`,shipyard:`Верфь`,researchLab:`Исследовательская лаборатория`,metalStorage:`Хранилище металла`,crystalStorage:`Хранилище кристалла`,deuteriumTank:`Цистерна дейтерия`,darkMatterCollector:`Коллектор тёмной материи`,darkMatterTank:`Резервуар тёмной материи`,missileSilo:`Ракетная шахта`,terraformer:`Терраформер`,lunarBase:`Лунная база`,sensorPhalanx:`Сенсорная фаланга`,jumpGate:`Прыжковые ворота`,planetDestroyerFactory:`Фабрика разрушителей планет`,buildTime:`Время строительства`,production:`Производство`,consumption:`Потребление`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,buildQueueBonus:`Очередь строительства`,spaceBonus:`Бонус пространства`,buildSpeedBonus:`Бонус скорости строительства`,researchSpeedBonus:`Бонус скорости исследования`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},buildingDescriptions:{metalMine:`Добывает металлические ресурсы`,crystalMine:`Добывает кристаллические ресурсы`,deuteriumSynthesizer:`Синтезирует дейтериевые ресурсы`,solarPlant:`Обеспечивает энергией`,fusionReactor:`Использует дейтерий для производства большого количества энергии`,roboticsFactory:`Ускоряет скорость строительства`,naniteFactory:`Увеличивает вместимость очереди строительства, +1 за уровень (макс 10 уровней)`,shipyard:`Строит корабли`,researchLab:`Исследует технологии`,metalStorage:`Увеличивает ёмкость хранилища металла`,crystalStorage:`Увеличивает ёмкость хранилища кристалла`,deuteriumTank:`Увеличивает ёмкость хранилища дейтерия`,darkMatterCollector:`Собирает редкие ресурсы тёмной материи`,darkMatterTank:`Увеличивает ёмкость хранилища тёмной материи`,missileSilo:`Хранит и запускает ракеты, 10 ракет на уровень`,terraformer:`Терраформирует поверхность планеты, увеличивает доступное пространство на 5 за уровень`,lunarBase:`Увеличивает доступное пространство на луне, +5 пространства за уровень`,sensorPhalanx:`Обнаруживает активность флота в окружающих системах`,jumpGate:`Мгновенно переносит флоты на другие луны`,planetDestroyerFactory:`Производит абсолютное оружие, способное уничтожать планеты`},ships:{lightFighter:`Лёгкий истребитель`,heavyFighter:`Тяжёлый истребитель`,cruiser:`Крейсер`,battleship:`Линкор`,battlecruiser:`Линейный крейсер`,bomber:`Бомбардировщик`,destroyer:`Эсминец`,smallCargo:`Малый транспорт`,largeCargo:`Большой транспорт`,colonyShip:`Колонизатор`,recycler:`Переработчик`,espionageProbe:`Шпионский зонд`,solarSatellite:`Солнечный спутник`,darkMatterHarvester:`Сборщик тёмной материи`,deathstar:`Звезда Смерти`},shipDescriptions:{lightFighter:`Базовая боевая единица`,heavyFighter:`Тяжелобронированный истребитель`,cruiser:`Средний боевой корабль, сбалансированная атака и защита`,battleship:`Мощный боевой корабль`,battlecruiser:`Быстрый мощный боевой корабль, отлично атакует линкоры`,bomber:`Специализированный корабль для атаки оборонительных сооружений`,destroyer:`Охотник, специализирующийся на уничтожении крупных кораблей`,smallCargo:`Транспортирует небольшое количество ресурсов`,largeCargo:`Транспортирует большое количество ресурсов`,colonyShip:`Используется для колонизации новых планет`,recycler:`Собирает ресурсы с поля обломков`,espionageProbe:`Разведывает вражеские планеты`,solarSatellite:`Обеспечивает дополнительную энергию, генерирует 50 энергии на спутник`,darkMatterHarvester:`Специальный корабль для сбора тёмной материи`,deathstar:`Абсолютное оружие, способное уничтожать целые планеты`},defenses:{rocketLauncher:`Ракетная установка`,lightLaser:`Лёгкий лазер`,heavyLaser:`Тяжёлый лазер`,gaussCannon:`Гауссова пушка`,ionCannon:`Ионное орудие`,plasmaTurret:`Плазменная турель`,smallShieldDome:`Малый щитовой купол`,largeShieldDome:`Большой щитовой купол`,antiBallisticMissile:`Противоракета`,interplanetaryMissile:`Межпланетная ракета`,planetaryShield:`Планетарный щит`},defenseDescriptions:{rocketLauncher:`Базовое оборонительное сооружение`,lightLaser:`Лёгкое энергетическое оружие`,heavyLaser:`Тяжёлое энергетическое оружие`,gaussCannon:`Высокоскоростное кинетическое оружие`,ionCannon:`Эффективно против щитов`,plasmaTurret:`Мощное оборонительное сооружение`,smallShieldDome:`Малый щит, защищающий всю планету`,largeShieldDome:`Большой щит, защищающий всю планету`,antiBallisticMissile:`Перехватывает вражеские ракеты, может перехватить 1 межпланетную ракету`,interplanetaryMissile:`Может атаковать оборонительные сооружения на других планетах`,planetaryShield:`Суперщит, защищающий планету от атак уничтожения`},research:{researchTime:`Время исследования`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},technologies:{energyTechnology:`Энергетическая технология`,laserTechnology:`Лазерная технология`,ionTechnology:`Ионная технология`,hyperspaceTechnology:`Гиперпространственная технология`,plasmaTechnology:`Плазменная технология`,computerTechnology:`Компьютерная технология`,espionageTechnology:`Шпионаж`,weaponsTechnology:`Оружие`,shieldingTechnology:`Щиты`,armourTechnology:`Броня`,astrophysics:`Астрофизика`,gravitonTechnology:`Гравитоны`,combustionDrive:`Реактивный двигатель`,impulseDrive:`Импульсный двигатель`,hyperspaceDrive:`Гиперпространственный двигатель`,darkMatterTechnology:`Технология тёмной материи`,terraformingTechnology:`Технология терраформирования`,planetDestructionTech:`Технология уничтожения планет`},technologyDescriptions:{energyTechnology:`Улучшает энергоэффективность`,laserTechnology:`Основа лазерного оружия и обороны`,ionTechnology:`Технология ионного оружия`,hyperspaceTechnology:`Технология гиперпространственных прыжков`,plasmaTechnology:`Технология плазменного оружия`,computerTechnology:`Увеличивает вместимость очереди исследований, +1 за уровень (макс 10 уровней)`,espionageTechnology:`Повышает эффективность зондов, +1 уровень шпионажа за уровень`,weaponsTechnology:`Увеличивает силу атаки кораблей и обороны на 10% за уровень`,shieldingTechnology:`Увеличивает щиты кораблей и обороны на 10% за уровень`,armourTechnology:`Увеличивает броню кораблей и обороны на 10% за уровень`,astrophysics:`Каждый уровень добавляет 1 слот колонии и повышает шанс успеха экспедиций`,gravitonTechnology:`Изучает манипуляцию гравитонами, требуется для Звезды смерти`,combustionDrive:`Базовая технология двигателей`,impulseDrive:`Средняя технология двигателей`,hyperspaceDrive:`Продвинутая технология двигателей`,darkMatterTechnology:`Исследование свойств и применения тёмной материи`,terraformingTechnology:`Исследование технологии терраформирования планет, увеличивает доступное пространство всех планет на 3 за уровень`,planetDestructionTech:`Исследование ужасающей технологии уничтожения целых планет`},officers:{commander:`Командир`,admiral:`Адмирал`,engineer:`Инженер`,geologist:`Геолог`,technocrat:`Технократ`,darkMatterSpecialist:`Специалист по тёмной материи`,resourceBonus:`Бонус производства ресурсов`,darkMatterBonus:`Бонус производства тёмной материи`,energyBonus:`Бонус производства энергии`},officerDescriptions:{commander:`Улучшает скорость строительства и управление`,admiral:`Улучшает боевую мощь и скорость флота`,engineer:`Улучшает энергию и оборону`,geologist:`Улучшает производство ресурсов`,technocrat:`Улучшает скорость исследований и шпионаж`,darkMatterSpecialist:`Улучшает эффективность сбора тёмной материи`},queue:{buildQueue:`Очередь строительства`,researchQueue:`Очередь исследований`,building:`Строится`,researching:`Исследуется`,remaining:`Осталось`,cancel:`Отменить`,cancelBuild:`Отменить строительство`,cancelResearch:`Отменить исследование`,confirmCancel:`Вы уверены, что хотите отменить? 50% ресурсов будет возвращено.`,level:`Уровень`,upgradeToLevel:`Улучшить до уровня`},overview:{title:`Обзор планеты`,resourceOverview:`Ресурсы`,fleetInfo:`Флот`,currentShips:`Корабли на этой планете`,productionSources:`Источники производства`,productionSourcesDesc:`Подробная информация о производстве ресурсов и бонусах`,consumptionSources:`Источники потребления`,consumptionSourcesDesc:`Детали потребления энергии зданиями`,totalProduction:`Общее производство`,totalConsumption:`Общее потребление`,noConsumption:`Нет потребления энергии`},buildingsView:{title:`Здания`,usedSpace:`Использовано полей`,spaceUsage:`Использование полей`,level:`Уровень`,upgradeCost:`Стоимость улучшения`,buildTime:`Время строительства`,upgrade:`Улучшить`,maxLevelReached:`Достигнут максимальный уровень`,requirementsNotMet:`Требования не выполнены`,upgradeFailed:`Улучшение не удалось`,upgradeFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, места или нет других задач строительства.`,demolish:`Снести`,demolishRefund:`Возврат от сноса`,demolishFailed:`Снос не удался`,demolishFailedMessage:`Невозможно снести это здание. Проверьте, не заполнена ли очередь строительства или уровень здания не равен 0.`,confirmDemolish:``,confirmDemolishMessage:``},researchView:{title:`Исследования`,researchCost:`Стоимость исследования`,research:`Исследовать`,maxLevelReached:`Достигнут максимальный уровень`,researchFailed:`Исследование не удалось`,researchFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, выполнены ли предварительные условия или нет других исследовательских задач.`},shipyard:{attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,fuelConsumption:`Расход топлива`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},shipyardView:{title:`Верфь`,fleetStorage:`Хранилище флота`,attack:`Атака`,shield:`Щит`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия.`},defense:{attack:`Атака`,shield:`Щит`,armor:`Броня`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},defenseView:{title:`Оборона`,attack:`Атака`,shield:`Щит`,armor:`Броня`,buildTime:`Время постройки`,seconds:`с`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,shieldDomeBuilt:`Щитовой купол уже построен`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия. Щитовые купола можно построить только один раз.`},fleetView:{title:`Управление флотом`,fleetOverview:`Обзор флота`,sendFleet:`Отправить флот`,flightMissions:`Полетные миссии`,currentPlanetFleet:`Флот на этой планете`,attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargo:`Груз`,selectFleet:`Выбрать флот`,selectFleetDescription:`Выберите количество кораблей для отправки`,available:`Доступно`,all:`Все`,targetCoordinates:`Целевые координаты`,galaxy:`Галактика`,diplomacy:`Diplomacy`,system:`Система`,position:`Позиция`,missionType:`Тип миссии`,missionInfo:`Информация о миссии`,fuelConsumption:`Расход топлива`,flightTime:`Время полета`,attackMission:`Атака`,transport:`Транспорт`,colonize:`Колонизация`,spy:`Разведка`,deploy:`Размещение`,recycle:`Переработка`,transportResources:`Транспортировка ресурсов`,totalCargoCapacity:`Общая грузоподъёмность`,used:`Использовано`,noFlightMissions:`Нет полетных миссий`,outbound:`Туда`,returning:`Возвращение`,fleetComposition:`Состав флота`,carryingResources:`Перевозимые ресурсы`,arrivalTime:`Время прибытия`,returnTime:`Время возврата`,recallFleet:`Отозвать флот`,sendFailed:`Отправка не удалась`,sendFailedMessage:`Пожалуйста, проверьте количество флота, наличие топлива или ограничения грузоподъёмности.`,recallFailed:`Отзыв не удался`,recallFailedMessage:`Эта миссия не может быть отозвана.`,unknownPlanet:`Неизвестная планета`,fleetMissionSlots:`Слоты миссий флота`,noShipsSelected:`Корабли не выбраны`,cannotSendToOwnPlanet:`Невозможно отправить флот на свою планету`,cargoExceedsCapacity:`Груз превышает вместимость`,noColonyShip:`Для колонизационной миссии требуется колониальный корабль`,noDebrisAtTarget:`Нет поля обломков по целевым координатам или поле обломков пусто`,noDeathstar:`Для миссии разрушения требуется Звезда Смерти`,giftMode:`Режим подарка`,giftModeDescription:`Отправить ресурсы в подарок`,estimatedReputationGain:`Ожидаемый прирост репутации`},officersView:{title:`Офицеры`,activated:`Активирован`,inactive:`Неактивен`,activeStatus:`Статус активации`,expirationTime:`Время истечения`,remainingTime:`Оставшееся время`,recruitCost:`Стоимость найма`,days:`дн.`,benefitsBonus:`Бонусы`,resourceProduction:`Производство ресурсов`,darkMatterProduction:`Производство тёмной материи`,energyProduction:`Производство энергии`,buildingSpeed:`Скорость строительства`,researchSpeed:`Скорость исследований`,fleetSpeed:`Скорость флота`,fuelConsumption:`Расход топлива`,defense:`Защита`,storageCapacity:`Вместимость хранилища`,buildQueue:`Очередь строительства`,fleetSlots:`Слоты флота`,hire:`Нанять`,renew:`Продлить`,dismiss:`Уволить`,hireTitle:`Нанять офицера`,hireMessage:`Вы уверены, что хотите нанять {name}? Действует 7 дней.`,renewTitle:`Продлить офицера`,renewMessage:`Вы уверены, что хотите продлить {name} на 7 дней?`,dismissTitle:`Уволить офицера`,dismissMessage:`Вы уверены, что хотите уволить {name}? Средства не возвращаются.`,hireFailed:`Найм не удался`,renewFailed:`Продление не удалось`,insufficientResources:`Недостаточно ресурсов!`},galaxyView:{title:`Галактика`,selectCoordinates:`Выбрать координаты`,galaxy:`Галактика`,diplomacy:`Diplomacy`,selectGalaxy:`Выбрать галактику`,system:`Система`,selectSystem:`Выбрать систему`,view:`Показать`,myPlanet:`Моя планета`,myPlanets:`Мои планеты`,npcPlanets:`Планеты NPC`,selectPlanetToView:`Выберите планету для просмотра`,totalPositions:`Всего 10 позиций планет`,mine:`Моя`,hostile:`Враждебная`,emptySlot:`Пусто - можно колонизировать`,scout:`Разведка`,attack:`Атака`,colonize:`Колонизация`,switch:`Переключить`,recycle:`Переработка`,debrisField:`Поле обломков`,scoutPlanetTitle:`Разведать планету`,attackPlanetTitle:`Атаковать планету`,colonizePlanetTitle:`Колонизировать планету`,recyclePlanetTitle:`Переработать обломки`,scoutPlanetMessage:`Вы уверены, что хотите отправить шпионские зонды для разведки планеты [{coordinates}]? + +Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,attackPlanetMessage:`Вы уверены, что хотите атаковать планету [{coordinates}]? + +Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,colonizePlanetMessage:`Вы уверены, что хотите колонизировать позицию [{coordinates}]? + +Перейдите на страницу флота, чтобы отправить колонизационный корабль.`,recyclePlanetMessage:`Вы уверены, что хотите переработать обломки в позиции [{coordinates}]? + +Перейдите на страницу флота, чтобы отправить переработчики.`,sendGift:`Отправить подарок`,debris:`Обломки`,giftPlanetTitle:`Отправить подарок`,giftPlanetMessage:`Вы уверены, что хотите отправить ресурсы в подарок планете [{coordinates}]? + +Перейдите на страницу флота, чтобы выбрать транспортные корабли и загрузить ресурсы.`},messagesView:{title:`Сообщения`,battles:`Битвы`,spy:`Разведка`,npc:`NPC`,battleReports:`Отчёты о боях`,spyReports:`Отчёты разведки`,noBattleReports:`Нет отчётов о боях`,noSpyReports:`Нет отчётов разведки`,battleReport:`Отчёт о бое`,spyReport:`Отчёт разведки`,victory:`Победа`,defeat:`Поражение`,draw:`Ничья`,attackerFleet:`Флот нападающего`,defenderFleet:`Флот защитника`,defenderDefense:`Оборона защитника`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,plunder:`Добыча`,debrisField:`Поле обломков`,resources:`Ресурсы`,fleet:`Флот`,defense:`Оборона`,buildings:`Здания`,unread:`Непрочитано`,targetPlanet:`Целевая планета`,attackerRemaining:`Осталось у нападающего`,defenderRemaining:`Осталось у защитника`,moonChance:`Шанс появления луны`,showRoundDetails:`Показать детали раундов`,hideRoundDetails:`Скрыть детали раундов`,round:`Раунд {round}`,attackerRemainingPower:`Оставшаяся мощь нападающего`,defenderRemainingPower:`Оставшаяся мощь защитника`,spied:`Шпионаж`,spiedNotification:`Уведомление о шпионаже`,noSpiedNotifications:`Нет уведомлений о шпионаже`,detected:`Обнаружено`,undetected:`Не обнаружено`,missions:`Миссии`,noMissionReports:`Нет отчётов о миссиях`,success:`Успех`,failed:`Неудача`,npcActivity:`Активность NPC`,noNPCActivity:`Нет уведомлений об активности NPC`,npcRecycleActivity:`NPC перерабатывает обломки`,gifts:`Подарки`,giftRejected:`Отклонено`,noGiftNotifications:`Нет уведомлений о подарках`,noGiftRejected:`Нет отклоненных подарков`,giftFrom:`Подарок от {npcName}`,giftRejectedBy:`{npcName} отклонил подарок`,giftResources:`Ресурсы подарка`,rejectedResources:`Отклоненные ресурсы`,expectedReputation:`Ожидаемая репутация`,currentReputation:`Текущая репутация`,acceptGift:`Принять`,rejectGift:`Отклонить`,rejectionReason:{hostile:`Они враждебны и не принимают подарки`,neutral_distrust:`Они вам не доверяют`,polite_decline:`Вежливо отказались`}},missionReports:{transportSuccess:`Миссия транспортировки успешно завершена`,transportFailed:`Миссия транспортировки провалена`,colonizeSuccess:`Миссия колонизации успешна, новая планета создана`,colonizeFailed:`Миссия колонизации провалена`,deploySuccess:`Миссия размещения успешно завершена`,deployFailed:`Миссия размещения провалена`,recycleSuccess:`Миссия переработки успешно завершена`,recycleFailed:`Миссия переработки провалена, нет обломков в целевой позиции`,destroySuccess:`Миссия уничтожения планеты успешно выполнена`,destroyFailed:`Миссия уничтожения планеты провалена`},simulatorView:{title:`Симулятор боя`,attacker:`Нападающий`,defender:`Защитник`,attackerConfig:`Настройки нападающего`,attackerConfigDesc:`Настроить флот и уровни технологий нападающего`,defenderConfig:`Настройки защитника`,defenderConfigDesc:`Настроить флот, оборону и уровни технологий защитника`,fleet:`Флот`,defenseStructures:`Оборонительные сооружения`,techLevels:`Уровни технологий`,weapon:`Оружие`,shield:`Щит`,armor:`Броня`,defenderResources:`Ресурсы защитника (для расчёта добычи)`,startSimulation:`Начать симуляцию`,reset:`Сбросить`,battleResult:`Результат боя`,attackerVictory:`Победа нападающего`,defenderVictory:`Победа защитника`,draw:`Ничья`,afterRounds:`После {rounds} раундов`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,attackerRemaining:`Осталось у нападающего`,defenderRemaining:`Осталось у защитника`,allDestroyed:`Всё уничтожено`,plunderableResources:`Доступная добыча`,debrisField:`Поле обломков`,moonChance:`Шанс появления луны`,showRoundDetails:`Показать детали раундов`,hideRoundDetails:`Скрыть детали раундов`,round:`Раунд {round}`,attackerRemainingPower:`Оставшаяся мощь нападающего`,defenderRemainingPower:`Оставшаяся мощь защитника`},settings:{dataManagement:`Управление данными`,dataManagementDesc:`Экспорт, импорт или очистка игровых данных`,exportData:`Экспорт данных`,exportDataDesc:`Экспортировать прогресс игры в JSON файл`,export:`Экспорт`,exporting:`Экспорт...`,exportSuccess:`Экспорт успешен`,exportFailed:`Экспорт не удался, попробуйте еще раз`,importData:`Импорт данных`,importDataDesc:`Восстановить прогресс игры из JSON файла`,selectFile:`Выбрать файл`,importSuccess:`Импорт успешен`,importConfirmTitle:`Подтвердить импорт`,importConfirmMessage:`Импорт перезапишет текущий прогресс игры. Это действие невозможно отменить. Продолжить?`,importFailed:`Импорт не удался, проверьте формат файла`,clearData:`Очистить данные`,clearDataDesc:`Удалить все игровые данные и сбросить`,clear:`Очистить`,clearConfirmTitle:`Подтвердить очистку данных`,clearConfirmMessage:`Все игровые данные будут удалены и игра начнется заново. Это действие невозможно отменить. Продолжить?`,gameSettings:`Настройки игры`,gameSettingsDesc:`Настроить параметры и предпочтения игры`,gamePause:`Пауза игры`,gamePauseDesc:`Приостановить или возобновить игровое время и производство ресурсов`,pause:`Пауза`,resume:`Возобновить`,gamePaused:`Игра приостановлена`,gameResumed:`Игра возобновлена`,playerName:`Имя игрока`,gameSpeed:`Скорость игры`,gameSpeedDesc:`Текущий множитель скорости игры`,about:`О программе`,version:`Версия`,buildDate:`Дата сборки`,community:`Сообщество`,github:`Репозиторий GitHub`,qqGroup:`Группа QQ`},gmView:{title:`Панель управления GM`,adminOnly:`Только для администратора`,selectPlanet:`Выбрать планету`,choosePlanet:`Выберите планету`,resources:`Ресурсы`,buildings:`Здания`,research:`Исследования`,ships:`Корабли`,defense:`Оборона`,officers:`Офицеры`,modifyResources:`Изменить ресурсы`,resourcesDesc:`Быстрое изменение ресурсов планеты`,modifyBuildings:`Изменить здания`,buildingsDesc:`Быстрая установка уровней зданий`,modifyResearch:`Изменить исследования`,researchDesc:`Быстрая установка уровней исследований`,modifyShips:`Изменить корабли`,shipsDesc:`Быстрая установка количества кораблей`,modifyDefense:`Изменить оборону`,defenseDesc:`Быстрая установка количества обороны`,modifyOfficers:`Изменить офицеров`,officersDesc:`Быстрая установка времени истечения офицеров`,days:`д`,npcTesting:`Тестирование NPC`,npcTestingDesc:`Тестирование разведки и атак NPC`,selectNPC:`Выбрать NPC`,chooseNPC:`Выберите NPC`,targetPlanet:`Целевая планета`,chooseTarget:`Выберите целевую планету`,testSpy:`Тест разведки`,testAttack:`Тест атаки`,testSpyAndAttack:`Тест разведки и атаки`,initializeFleet:`Инициализировать флот NPC`,accelerateMissions:`Ускорить все миссии (5с)`,selectNPCFirst:`Сначала выберите NPC`,npcNoProbes:`У NPC нет шпионских зондов`,npcNoSpyReport:`NPC нужно сначала разведать`,npcMissionFailed:`Не удалось создать миссию`,dangerZone:`Опасная зона`,dangerZoneDesc:`Следующие операции необратимы`,resetGame:`Сбросить игру`,resetGameConfirm:`Вы уверены, что хотите сбросить игру? Все данные будут удалены!`},alerts:{npcSpyIncoming:`Приближается шпионский зонд NPC`,npcAttackIncoming:`Атака флота NPC приближается!`,npcFleetIncoming:`Приближается флот NPC`,ships:`кораблей`,spiedBy:`Разведан`,attackedBy:`Атакован`,detectionSuccess:`Разведка обнаружена`,detectionFailed:`Разведка не обнаружена`,npcSpiedYourPlanet:`NPC разведал вашу планету`,npcAttackedYourPlanet:`NPC атаковал вашу планету`},diplomacy:{title:`Дипломатия`,description:`Управление дипломатическими отношениями с NPC`,tabs:{all:`Все`,friendly:`Дружественные`,neutral:`Нейтральные`,hostile:`Враждебные`},noNpcs:`Нет NPC`,noFriendlyNpcs:`Нет дружественных NPC`,noNeutralNpcs:`Нет нейтральных NPC`,noHostileNpcs:`Нет враждебных NPC`,recentEvents:`Недавние события`,recentEventsDescription:`Журнал последних дипломатических действий`,ago:`назад`,status:{friendly:`Дружественный`,neutral:`Нейтральный`,hostile:`Враждебный`},planets:`планет`,allies:`союзников`,reputation:`Репутация`,alliedWith:`В союзе с`,more:`еще`,actions:{gift:`Отправить подарок`,viewPlanets:`Посмотреть планеты`},lastEvent:`Последнее событие`,events:{gift:`Подарок отправлен`,attack:`Атака`,allyAttacked:`Союзник атакован`,spy:`Шпионаж`,stealDebris:`Обломки украдены`}},pagination:{previous:`Предыдущая`,next:`Следующая`,first:`Первая`,last:`Последняя`,page:`Страница {page}`}},a={common:{confirm:`확인`,cancel:`취소`,delete:`삭제`,edit:`편집`,save:`저장`,close:`닫기`,back:`돌아가기`,next:`다음`,previous:`이전`,submit:`제출`,reset:`초기화`,search:`검색`,filter:`필터`,loading:`로딩 중...`,noData:`데이터 없음`,error:`오류`,success:`성공`,warning:`경고`,info:`정보`,resourceType:`자원 유형`,playerName:`사령관`,timeHour:`시간`,timeMinute:`분`,timeSecond:`초`,featureLocked:`기능 잠김`,unlockRequired:`건물 필요`,requiredBuilding:`필요한 건물`,currentLevel:`현재 레벨`,goToBuildings:`건물로 이동`,locked:`잠김`,viewRequirements:`요구사항 보기`,requirementsNotMet:`요구사항 미충족`,current:`현재`,level:`레벨`},errors:{requirementsNotMet:`전제 조건 미충족`,insufficientResources:`자원 부족`,insufficientFleetStorage:`함대 저장소 부족`,shieldDomeLimit:`실드 돔 한도 도달`,fleetMissionsFull:`함대 임무 슬롯 가득 참`,insufficientFleet:`함대 부족`,insufficientFuel:`연료 부족`,planetOnly:`이 건물은 행성에서만 지을 수 있습니다`,moonOnly:`이 건물은 위성에서만 지을 수 있습니다`,buildQueueFull:`건설 대기열 가득 참`,insufficientSpace:`공간 부족`,buildingLevelZero:`건물 레벨이 0이므로 철거할 수 없습니다`,researchQueueFull:`연구 대기열 가득 참`,moonExists:`위성이 이미 존재합니다`,insufficientDebris:`잔해장 부족`},nav:{overview:`개요`,buildings:`건물`,research:`연구`,shipyard:`조선소`,defense:`방어`,fleet:`함대`,officers:`장교`,simulator:`시뮬레이터`,galaxy:`은하계`,diplomacy:`Diplomacy`,messages:`메시지`,settings:`설정`,gm:`GM`},sidebar:{language:`언어`,lightMode:`라이트 모드`,darkMode:`다크 모드`,collapse:`메뉴 접기`,expand:`메뉴 펼치기`},resources:{metal:`금속`,crystal:`크리스탈`,deuterium:`중수소`,darkMatter:`암흑 물질`,energy:`에너지`,production:`생산량`,consumption:`소비량`,capacity:`용량`,current:`현재 저장량`,max:`최대 용량`,perHour:`시간`,perMinute:`분`,hour:`시간`,noEnergy:`에너지 부족`},planet:{planet:`행성`,moon:`위성`,colony:`식민지`,position:`위치`,coordinates:`좌표`,switchToMoon:`위성 보기`,backToPlanet:`모행성으로 돌아가기`,switchPlanet:`행성 전환`,currentPlanet:`현재 행성`,fields:`필드`,temperature:`온도`,homePlanet:`모행성`,planetPrefix:`행성`,moonSuffix:`의 위성`,colonyPrefix:`식민지`},player:{points:`총 점수`},buildings:{metalMine:`금속 광산`,crystalMine:`크리스탈 광산`,deuteriumSynthesizer:`중수소 합성기`,solarPlant:`태양광 발전소`,fusionReactor:`핵융합 반응로`,roboticsFactory:`로봇 공장`,naniteFactory:`나노 공장`,shipyard:`조선소`,researchLab:`연구소`,metalStorage:`금속 창고`,crystalStorage:`크리스탈 창고`,deuteriumTank:`중수소 탱크`,darkMatterCollector:`암흑 물질 수집기`,darkMatterTank:`암흑 물질 탱크`,missileSilo:`미사일 발사대`,terraformer:`지형 변환기`,lunarBase:`달 기지`,sensorPhalanx:`센서 팔랑크스`,jumpGate:`점프 게이트`,planetDestroyerFactory:`행성 파괴 공장`,buildTime:`건설 시간`,production:`생산량`,consumption:`소비`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,buildQueueBonus:`건설 대기열`,spaceBonus:`공간 보너스`,buildSpeedBonus:`건설 속도 보너스`,researchSpeedBonus:`연구 속도 보너스`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},buildingDescriptions:{metalMine:`금속 자원 채굴`,crystalMine:`크리스탈 자원 채굴`,deuteriumSynthesizer:`중수소 자원 합성`,solarPlant:`에너지 제공`,fusionReactor:`중수소를 사용하여 대량의 에너지 생산`,roboticsFactory:`건설 속도 향상`,naniteFactory:`건설 대기열 수 증가, 레벨당 +1 (최대 10레벨)`,shipyard:`함선 건조`,researchLab:`기술 연구`,metalStorage:`금속 저장 용량 증가`,crystalStorage:`크리스탈 저장 용량 증가`,deuteriumTank:`중수소 저장 용량 증가`,darkMatterCollector:`희귀한 암흑 물질 자원 수집`,darkMatterTank:`암흑 물질 저장 용량 증가`,missileSilo:`미사일을 저장 및 발사, 레벨당 10발`,terraformer:`행성 지형 개조, 레벨당 가용 공간 5 증가`,lunarBase:`달 가용 공간 증가, 레벨당 +5 공간`,sensorPhalanx:`주변 행성계의 함대 활동 감지`,jumpGate:`다른 위성으로 함대 순간 이동`,planetDestroyerFactory:`행성을 파괴할 수 있는 궁극 병기 건조`},ships:{lightFighter:`경전투기`,heavyFighter:`중전투기`,cruiser:`순양함`,battleship:`전함`,battlecruiser:`순양전함`,bomber:`폭격기`,destroyer:`구축함`,smallCargo:`소형 수송선`,largeCargo:`대형 수송선`,colonyShip:`식민선`,recycler:`재활용선`,espionageProbe:`정찰기`,solarSatellite:`태양광 위성`,darkMatterHarvester:`암흑 물질 채취선`,deathstar:`데스스타`},shipDescriptions:{lightFighter:`기본 전투 유닛`,heavyFighter:`중장갑 전투기`,cruiser:`중형 전함, 공격과 방어 균형`,battleship:`강력한 전함`,battlecruiser:`빠르고 강력한 전투함, 전함 공격에 탁월`,bomber:`방어 시설 공격 전문 함선`,destroyer:`대형 함선 파괴 전문 헌터`,smallCargo:`소량의 자원 운송`,largeCargo:`대량의 자원 운송`,colonyShip:`새로운 행성 식민에 사용`,recycler:`잔해장 자원 수집`,espionageProbe:`적 행성 정찰`,solarSatellite:`추가 에너지 제공, 위성당 50 에너지 생성`,darkMatterHarvester:`암흑 물질 채취 전용 특수 함선`,deathstar:`행성 전체를 파괴할 수 있는 궁극 병기`},defenses:{rocketLauncher:`로켓 발사대`,lightLaser:`경량 레이저포`,heavyLaser:`중형 레이저포`,gaussCannon:`가우스 캐논`,ionCannon:`이온 캐논`,plasmaTurret:`플라즈마 포탑`,smallShieldDome:`소형 실드 돔`,largeShieldDome:`대형 실드 돔`,antiBallisticMissile:`요격 미사일`,interplanetaryMissile:`행성간 미사일`,planetaryShield:`행성 실드`},defenseDescriptions:{rocketLauncher:`기본 방어 시설`,lightLaser:`경량 에너지 무기`,heavyLaser:`중형 에너지 무기`,gaussCannon:`고속 운동 에너지 무기`,ionCannon:`실드 파괴의 이기`,plasmaTurret:`강력한 방어 시설`,smallShieldDome:`행성 전체를 보호하는 소형 실드`,largeShieldDome:`행성 전체를 보호하는 대형 실드`,antiBallisticMissile:`적 미사일 요격, 행성간 미사일 1발 요격 가능`,interplanetaryMissile:`다른 행성의 방어 시설 공격 가능`,planetaryShield:`파괴 공격으로부터 행성을 보호하는 초급 실드`},research:{researchTime:`연구 시간`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},technologies:{energyTechnology:`에너지 기술`,laserTechnology:`레이저 기술`,ionTechnology:`이온 기술`,hyperspaceTechnology:`초공간 기술`,plasmaTechnology:`플라즈마 기술`,computerTechnology:`컴퓨터 기술`,espionageTechnology:`스파이 기술`,weaponsTechnology:`무기 기술`,shieldingTechnology:`실드 기술`,armourTechnology:`장갑 기술`,astrophysics:`천체물리학`,gravitonTechnology:`중력자 기술`,combustionDrive:`연소 엔진`,impulseDrive:`임펄스 엔진`,hyperspaceDrive:`초공간 엔진`,darkMatterTechnology:`암흑 물질 기술`,terraformingTechnology:`지형 변환 기술`,planetDestructionTech:`행성 파괴 기술`},technologyDescriptions:{energyTechnology:`에너지 이용 효율 향상`,laserTechnology:`레이저 무기와 방어의 기초`,ionTechnology:`이온 무기 기술`,hyperspaceTechnology:`초공간 점프 기술`,plasmaTechnology:`플라즈마 무기 기술`,computerTechnology:`연구 대기열 수 증가, 레벨당 +1 (최대 10레벨)`,espionageTechnology:`스파이 탐사기 효과 향상, 레벨당 정찰 깊이 +1`,weaponsTechnology:`함선과 방어의 공격력 레벨당 10% 증가`,shieldingTechnology:`함선과 방어의 실드 레벨당 10% 증가`,armourTechnology:`함선과 방어의 장갑 레벨당 10% 증가`,astrophysics:`레벨당 식민지 슬롯 +1, 탐험 성공률 향상`,gravitonTechnology:`중력 조작 연구, 데스스타 필요 기술`,combustionDrive:`기본 추진 기술`,impulseDrive:`중급 추진 기술`,hyperspaceDrive:`고급 추진 기술`,darkMatterTechnology:`암흑 물질의 성질과 응용 연구`,terraformingTechnology:`행성 지형 개조 기술 연구, 레벨당 모든 행성의 가용 공간 3 증가`,planetDestructionTech:`행성 전체를 파괴하는 공포의 기술 연구`},officers:{commander:`사령관`,admiral:`제독`,engineer:`엔지니어`,geologist:`지질학자`,technocrat:`기술 전문가`,darkMatterSpecialist:`암흑 물질 전문가`,resourceBonus:`자원 생산 보너스`,darkMatterBonus:`암흑 물질 생산 보너스`,energyBonus:`에너지 생산 보너스`},officerDescriptions:{commander:`건설 속도 및 관리 능력 향상`,admiral:`함대 전투력 및 속도 향상`,engineer:`에너지 및 방어력 향상`,geologist:`자원 생산량 향상`,technocrat:`연구 속도 및 정찰 능력 향상`,darkMatterSpecialist:`암흑 물질 수집 효율 향상`},queue:{buildQueue:`건설 대기열`,researchQueue:`연구 대기열`,building:`건설 중`,researching:`연구 중`,remaining:`남은 시간`,cancel:`취소`,cancelBuild:`건설 취소`,cancelResearch:`연구 취소`,confirmCancel:`취소하시겠습니까? 자원의 50%가 환불됩니다.`,level:`레벨`,upgradeToLevel:`레벨로 업그레이드`},overview:{title:`행성 개요`,resourceOverview:`자원 개요`,fleetInfo:`함대`,currentShips:`현재 행성의 함선 수`,productionSources:`생산 소스`,productionSourcesDesc:`상세 자원 생산 및 보너스 정보`,consumptionSources:`소비 소스`,consumptionSourcesDesc:`건물 에너지 소비 세부 정보`,totalProduction:`총 생산량`,totalConsumption:`총 소비량`,noConsumption:`에너지 소비 없음`},buildingsView:{title:`건물`,usedSpace:`사용된 공간`,spaceUsage:`공간 사용`,level:`레벨`,upgradeCost:`업그레이드 비용`,buildTime:`건설 시간`,upgrade:`업그레이드`,maxLevelReached:`최대 레벨 도달`,requirementsNotMet:`요구 사항 미충족`,upgradeFailed:`업그레이드 실패`,upgradeFailedMessage:`자원이 충분한지, 공간이 충분한지, 또는 다른 건설 작업이 있는지 확인하세요.`,demolish:`철거`,demolishRefund:`철거 환불`,demolishFailed:`철거 실패`,demolishFailedMessage:`이 건물을 철거할 수 없습니다. 건설 대기열이 가득 찼거나 건물 레벨이 0인지 확인하세요.`,confirmDemolish:``,confirmDemolishMessage:``},researchView:{title:`연구`,researchCost:`연구 비용`,research:`연구`,maxLevelReached:`최대 레벨 도달`,researchFailed:`연구 실패`,researchFailedMessage:`자원이 충분한지, 전제 조건이 충족되었는지, 또는 다른 연구 작업이 있는지 확인하세요.`},shipyard:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,speed:`속도`,cargoCapacity:`화물 용량`,fuelConsumption:`연료 소비`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},shipyardView:{title:`조선소`,fleetStorage:`함대 저장소`,attack:`공격력`,shield:`실드`,speed:`속도`,cargoCapacity:`적재량`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요.`},defense:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},defenseView:{title:`방어 시설`,attack:`공격력`,shield:`실드`,armor:`장갑`,buildTime:`건설 시간`,seconds:`초`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,shieldDomeBuilt:`실드 돔이 이미 건설됨`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요. 실드 돔은 하나만 건설할 수 있습니다.`},fleetView:{title:`함대 관리`,fleetOverview:`함대 개요`,sendFleet:`함대 파견`,flightMissions:`비행 임무`,currentPlanetFleet:`현재 행성 함대`,attack:`공격`,shield:`실드`,armor:`장갑`,speed:`속도`,cargo:`화물`,selectFleet:`함대 선택`,selectFleetDescription:`파견할 함선 수 선택`,available:`사용 가능`,all:`전체`,targetCoordinates:`목표 좌표`,galaxy:`은하계`,diplomacy:`Diplomacy`,system:`행성계`,position:`위치`,missionType:`임무 유형`,missionInfo:`임무 정보`,fuelConsumption:`연료 소비`,flightTime:`비행 시간`,attackMission:`공격`,transport:`수송`,colonize:`식민`,spy:`정찰`,deploy:`배치`,recycle:`회수`,transportResources:`자원 수송`,totalCargoCapacity:`총 적재량`,used:`사용됨`,noFlightMissions:`비행 임무 없음`,outbound:`이동 중`,returning:`귀환 중`,fleetComposition:`함대 구성`,carryingResources:`운반 자원`,arrivalTime:`도착 시간`,returnTime:`귀환 시간`,recallFleet:`함대 소환`,sendFailed:`파견 실패`,sendFailedMessage:`함대 수, 연료 충분 여부 또는 적재량 한계를 확인하세요.`,recallFailed:`소환 실패`,recallFailedMessage:`이 임무는 소환할 수 없습니다.`,unknownPlanet:`알 수 없는 행성`,fleetMissionSlots:`함대 임무 슬롯`,noShipsSelected:`선택된 함선 없음`,cannotSendToOwnPlanet:`자신의 행성으로 함대를 파견할 수 없습니다`,cargoExceedsCapacity:`적재량이 용량을 초과합니다`,noColonyShip:`식민 임무를 위해 식민선이 필요합니다`,noDebrisAtTarget:`대상 좌표에 잔해장이 없거나 잔해장이 비어 있습니다`,noDeathstar:`파괴 임무를 위해 데스스타가 필요합니다`,giftMode:`선물 모드`,giftModeDescription:`자원을 선물로 보내기`,estimatedReputationGain:`예상 평판 획득`},officersView:{title:`장교`,activated:`활성화됨`,inactive:`비활성`,activeStatus:`활성 상태`,expirationTime:`만료 시간`,remainingTime:`남은 시간`,recruitCost:`모집 비용`,days:`일`,benefitsBonus:`효과 보너스`,resourceProduction:`자원 생산량`,darkMatterProduction:`암흑 물질 생산량`,energyProduction:`에너지 생산량`,buildingSpeed:`건설 속도`,researchSpeed:`연구 속도`,fleetSpeed:`함대 속도`,fuelConsumption:`연료 소비`,defense:`방어력`,storageCapacity:`저장 용량`,buildQueue:`건설 대기열`,fleetSlots:`함대 슬롯`,hire:`고용`,renew:`갱신`,dismiss:`해고`,hireTitle:`장교 고용`,hireMessage:`{name}을(를) 고용하시겠습니까? 유효 기간은 7일입니다.`,renewTitle:`장교 갱신`,renewMessage:`{name}을(를) 7일간 갱신하시겠습니까?`,dismissTitle:`장교 해고`,dismissMessage:`{name}을(를) 해고하시겠습니까? 비용은 환불되지 않습니다.`,hireFailed:`고용 실패`,renewFailed:`갱신 실패`,insufficientResources:`자원 부족!`},galaxyView:{title:`은하계`,selectCoordinates:`좌표 선택`,galaxy:`은하계`,diplomacy:`Diplomacy`,selectGalaxy:`은하계 선택`,system:`행성계`,selectSystem:`행성계 선택`,view:`보기`,myPlanet:`내 행성`,myPlanets:`내 행성들`,npcPlanets:`NPC 행성들`,selectPlanetToView:`볼 행성 선택`,totalPositions:`총 10개 행성 위치`,mine:`내 것`,hostile:`적대`,emptySlot:`빈 자리 - 식민 가능`,scout:`정찰`,attack:`공격`,colonize:`식민`,switch:`전환`,recycle:`회수`,debrisField:`잔해 필드`,scoutPlanetTitle:`행성 정찰`,attackPlanetTitle:`행성 공격`,colonizePlanetTitle:`행성 식민`,recyclePlanetTitle:`잔해 회수`,scoutPlanetMessage:`행성 [{coordinates}]을(를) 정찰하기 위해 정찰기를 보내시겠습니까? + +함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,attackPlanetMessage:`행성 [{coordinates}]을(를) 공격하시겠습니까? + +함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,colonizePlanetMessage:`위치 [{coordinates}]을(를) 식민하시겠습니까? + +함대 페이지로 이동하여 식민선을 파견하세요.`,recyclePlanetMessage:`위치 [{coordinates}]의 잔해를 회수하시겠습니까? + +함대 페이지로 이동하여 회수선을 파견하세요.`,sendGift:`선물 보내기`,debris:`잔해`,giftPlanetTitle:`선물 보내기`,giftPlanetMessage:`행성 [{coordinates}]에 자원을 선물로 보내시겠습니까? + +함대 페이지로 이동하여 수송선을 선택하고 자원을 적재하세요.`},messagesView:{title:`메시지 센터`,battles:`전투`,spy:`정찰`,npc:`NPC`,battleReports:`전투 보고서`,spyReports:`정찰 보고서`,noBattleReports:`전투 보고서 없음`,noSpyReports:`정찰 보고서 없음`,battleReport:`전투 보고서`,spyReport:`정찰 보고서`,victory:`승리`,defeat:`패배`,draw:`무승부`,attackerFleet:`공격자 함대`,defenderFleet:`방어자 함대`,defenderDefense:`방어자 방어`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,plunder:`약탈 자원`,debrisField:`잔해장`,resources:`자원`,fleet:`함대`,defense:`방어`,buildings:`건물`,unread:`읽지 않음`,targetPlanet:`목표 행성`,attackerRemaining:`공격자 잔여`,defenderRemaining:`방어자 잔여`,moonChance:`위성 생성 확률`,showRoundDetails:`라운드 상세 표시`,hideRoundDetails:`라운드 상세 숨기기`,round:`제{round}라운드`,attackerRemainingPower:`공격자 잔여 화력`,defenderRemainingPower:`방어자 잔여 화력`,spied:`정찰당함`,spiedNotification:`정찰 알림`,noSpiedNotifications:`정찰 알림 없음`,detected:`발견됨`,undetected:`미발견`,missions:`임무`,noMissionReports:`임무 보고서 없음`,success:`성공`,failed:`실패`,npcActivity:`NPC 활동`,noNPCActivity:`NPC 활동 알림 없음`,npcRecycleActivity:`NPC가 잔해 회수`,gifts:`선물`,giftRejected:`거부됨`,noGiftNotifications:`선물 알림 없음`,noGiftRejected:`거부된 기록 없음`,giftFrom:`{npcName}의 선물`,giftRejectedBy:`{npcName}가 선물을 거부했습니다`,giftResources:`선물 자원`,rejectedResources:`거부된 자원`,expectedReputation:`예상 평판`,currentReputation:`현재 평판`,acceptGift:`수락`,rejectGift:`거부`,rejectionReason:{hostile:`상대방이 적대적이어서 선물을 받지 않습니다`,neutral_distrust:`상대방이 당신을 신뢰하지 않습니다`,polite_decline:`정중하게 거절했습니다`}},missionReports:{transportSuccess:`수송 임무가 성공적으로 완료되었습니다`,transportFailed:`수송 임무 실패`,colonizeSuccess:`식민 임무 성공, 새로운 행성이 건설되었습니다`,colonizeFailed:`식민 임무 실패`,deploySuccess:`배치 임무가 성공적으로 완료되었습니다`,deployFailed:`배치 임무 실패`,recycleSuccess:`회수 임무가 성공적으로 완료되었습니다`,recycleFailed:`회수 임무 실패, 목표 위치에 잔해가 없습니다`,destroySuccess:`행성 파괴 임무가 성공적으로 실행되었습니다`,destroyFailed:`행성 파괴 임무 실패`},simulatorView:{title:`전투 시뮬레이터`,attacker:`공격자`,defender:`방어자`,attackerConfig:`공격자 설정`,attackerConfigDesc:`공격자의 함대와 기술 레벨 설정`,defenderConfig:`방어자 설정`,defenderConfigDesc:`방어자의 함대, 방어 및 기술 레벨 설정`,fleet:`함대`,defenseStructures:`방어 시설`,techLevels:`기술 레벨`,weapon:`무기`,shield:`실드`,armor:`장갑`,defenderResources:`방어자 자원 (약탈 계산용)`,startSimulation:`시뮬레이션 시작`,reset:`초기화`,battleResult:`전투 결과`,attackerVictory:`공격자 승리`,defenderVictory:`방어자 승리`,draw:`무승부`,afterRounds:`{rounds}회 전투 후`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,attackerRemaining:`공격자 잔여`,defenderRemaining:`방어자 잔여`,allDestroyed:`모두 파괴됨`,plunderableResources:`약탈 가능 자원`,debrisField:`잔해장`,moonChance:`위성 생성 확률`,showRoundDetails:`라운드 상세 표시`,hideRoundDetails:`라운드 상세 숨기기`,round:`제 {round} 라운드`,attackerRemainingPower:`공격자 잔여 화력`,defenderRemainingPower:`방어자 잔여 화력`},settings:{dataManagement:`데이터 관리`,dataManagementDesc:`게임 데이터 내보내기, 가져오기 또는 지우기`,exportData:`데이터 내보내기`,exportDataDesc:`게임 진행 상황을 JSON 파일로 내보내기`,export:`내보내기`,exporting:`내보내는 중...`,exportSuccess:`내보내기 성공`,exportFailed:`내보내기 실패, 다시 시도해주세요`,importData:`데이터 가져오기`,importDataDesc:`JSON 파일에서 게임 진행 상황 복원`,selectFile:`파일 선택`,importSuccess:`가져오기 성공`,importConfirmTitle:`가져오기 확인`,importConfirmMessage:`가져오기를 하면 현재 게임 진행 상황이 덮어쓰기됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,importFailed:`가져오기 실패, 파일 형식을 확인해주세요`,clearData:`데이터 지우기`,clearDataDesc:`모든 게임 데이터 삭제 및 초기화`,clear:`지우기`,clearConfirmTitle:`데이터 지우기 확인`,clearConfirmMessage:`모든 게임 데이터가 삭제되고 처음부터 시작됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,gameSettings:`게임 설정`,gameSettingsDesc:`게임 매개변수 및 설정 조정`,gamePause:`게임 일시정지`,gamePauseDesc:`게임 시간 및 자원 생산 일시정지 또는 재개`,pause:`일시정지`,resume:`재개`,gamePaused:`게임이 일시정지되었습니다`,gameResumed:`게임이 재개되었습니다`,playerName:`플레이어 이름`,gameSpeed:`게임 속도`,gameSpeedDesc:`현재 게임 속도 배율`,about:`정보`,version:`버전`,buildDate:`빌드 날짜`,community:`커뮤니티`,github:`GitHub 저장소`,qqGroup:`QQ 그룹`},gmView:{title:`GM 제어판`,adminOnly:`관리자 전용`,selectPlanet:`행성 선택`,choosePlanet:`행성을 선택하세요`,resources:`자원`,buildings:`건물`,research:`연구`,ships:`함선`,defense:`방어`,officers:`장교`,modifyResources:`자원 수정`,resourcesDesc:`행성 자원을 빠르게 수정`,modifyBuildings:`건물 수정`,buildingsDesc:`건물 레벨을 빠르게 설정`,modifyResearch:`연구 수정`,researchDesc:`연구 레벨을 빠르게 설정`,modifyShips:`함선 수정`,shipsDesc:`함선 수량을 빠르게 설정`,modifyDefense:`방어 수정`,defenseDesc:`방어 수량을 빠르게 설정`,modifyOfficers:`장교 수정`,officersDesc:`장교 만료 시간을 빠르게 설정`,days:`일`,npcTesting:`NPC 테스트`,npcTestingDesc:`NPC 정찰 및 공격 동작 테스트`,selectNPC:`NPC 선택`,chooseNPC:`NPC를 선택하세요`,targetPlanet:`목표 행성`,chooseTarget:`목표 행성 선택`,testSpy:`정찰 테스트`,testAttack:`공격 테스트`,testSpyAndAttack:`정찰 & 공격 테스트`,initializeFleet:`NPC 함대 초기화`,accelerateMissions:`모든 임무 가속(5초)`,selectNPCFirst:`먼저 NPC를 선택하세요`,npcNoProbes:`NPC에 정찰 프로브가 없습니다`,npcNoSpyReport:`NPC가 먼저 정찰해야 합니다`,npcMissionFailed:`임무 생성 실패`,dangerZone:`위험 구역`,dangerZoneDesc:`다음 작업은 되돌릴 수 없습니다`,resetGame:`게임 초기화`,resetGameConfirm:`게임을 초기화하시겠습니까? 모든 데이터가 삭제됩니다!`},alerts:{npcSpyIncoming:`NPC 정찰 프로브 접근 중`,npcAttackIncoming:`NPC 함대 공격 진행 중!`,npcFleetIncoming:`NPC 함대 접근 중`,ships:`척`,spiedBy:`정찰당함`,attackedBy:`공격당함`,detectionSuccess:`정찰 발견됨`,detectionFailed:`정찰 미발견`,npcSpiedYourPlanet:`NPC가 당신의 행성을 정찰했습니다`,npcAttackedYourPlanet:`NPC가 당신의 행성을 공격했습니다`},diplomacy:{title:`외교`,description:`NPC와의 외교 관계 관리`,tabs:{all:`전체`,friendly:`우호적`,neutral:`중립`,hostile:`적대적`},noNpcs:`NPC 없음`,noFriendlyNpcs:`우호적인 NPC 없음`,noNeutralNpcs:`중립적인 NPC 없음`,noHostileNpcs:`적대적인 NPC 없음`,recentEvents:`최근 이벤트`,recentEventsDescription:`최근 외교 활동 로그`,ago:`전`,status:{friendly:`우호적`,neutral:`중립`,hostile:`적대적`},planets:`행성`,allies:`동맹`,reputation:`평판`,alliedWith:`동맹 관계`,more:`더보기`,actions:{gift:`선물 보내기`,viewPlanets:`행성 보기`},lastEvent:`최근 이벤트`,events:{gift:`선물 전송`,attack:`공격`,allyAttacked:`동맹 공격당함`,spy:`정찰`,stealDebris:`잔해 약탈`}},pagination:{previous:`이전`,next:`다음`,first:`처음`,last:`마지막`,page:`{page}페이지`}},o={common:{confirm:`確認`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,save:`保存`,close:`閉じる`,back:`戻る`,next:`次へ`,previous:`前へ`,submit:`送信`,reset:`リセット`,search:`検索`,filter:`フィルター`,loading:`読み込み中...`,noData:`データなし`,error:`エラー`,success:`成功`,warning:`警告`,info:`情報`,resourceType:`資源タイプ`,playerName:`司令官`,timeHour:`時間`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`機能がロックされています`,unlockRequired:`建物が必要です`,requiredBuilding:`必要な建物`,currentLevel:`現在のレベル`,goToBuildings:`建物へ移動`,locked:`ロック済み`,viewRequirements:`必要条件を表示`,requirementsNotMet:`必要条件が満たされていません`,current:`現在`,level:`レベル`},errors:{requirementsNotMet:`前提条件を満たしていません`,insufficientResources:`資源が不足しています`,insufficientFleetStorage:`艦隊ストレージが不足しています`,shieldDomeLimit:`シールドドームの上限に達しました`,fleetMissionsFull:`艦隊ミッションスロットが満杯です`,insufficientFleet:`艦隊が不足しています`,insufficientFuel:`燃料が不足しています`,planetOnly:`この建物は惑星でのみ建設できます`,moonOnly:`この建物は月でのみ建設できます`,buildQueueFull:`建設キューが満杯です`,insufficientSpace:`スペースが不足しています`,buildingLevelZero:`建物レベルが0のため、解体できません`,researchQueueFull:`研究キューが満杯です`,moonExists:`月は既に存在します`,insufficientDebris:`残骸フィールドが不足しています`},nav:{overview:`概要`,buildings:`建物`,research:`研究`,shipyard:`造船所`,defense:`防衛`,fleet:`艦隊`,officers:`士官`,simulator:`シミュレーター`,galaxy:`銀河`,diplomacy:`Diplomacy`,messages:`メッセージ`,settings:`設定`,gm:`GM`},sidebar:{language:`言語`,lightMode:`ライトモード`,darkMode:`ダークモード`,collapse:`メニューを閉じる`,expand:`メニューを開く`},resources:{metal:`金属`,crystal:`クリスタル`,deuterium:`重水素`,darkMatter:`ダークマター`,energy:`エネルギー`,production:`生産量`,consumption:`消費量`,capacity:`容量`,current:`現在の貯蔵量`,max:`最大容量`,perHour:`時間`,perMinute:`分`,hour:`時間`,noEnergy:`エネルギー不足`},planet:{planet:`惑星`,moon:`月`,colony:`コロニー`,position:`位置`,coordinates:`座標`,switchToMoon:`月を表示`,backToPlanet:`母星に戻る`,switchPlanet:`惑星を切り替える`,currentPlanet:`現在の惑星`,fields:`フィールド`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`惑星`,moonSuffix:`の月`,colonyPrefix:`コロニー`},player:{points:`総ポイント`},buildings:{metalMine:`金属鉱山`,crystalMine:`クリスタル鉱山`,deuteriumSynthesizer:`重水素合成装置`,solarPlant:`太陽光発電所`,fusionReactor:`核融合炉`,roboticsFactory:`ロボット工場`,naniteFactory:`ナノマシン工場`,shipyard:`造船所`,researchLab:`研究所`,metalStorage:`金属倉庫`,crystalStorage:`クリスタル倉庫`,deuteriumTank:`重水素タンク`,darkMatterCollector:`ダークマター採取装置`,darkMatterTank:`ダークマタータンク`,missileSilo:`ミサイル格納庫`,terraformer:`テラフォーマー`,lunarBase:`月面基地`,sensorPhalanx:`センサーファランクス`,jumpGate:`ジャンプゲート`,planetDestroyerFactory:`惑星破壊工場`,buildTime:`建設時間`,production:`生産量`,consumption:`消費`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,buildQueueBonus:`建造隊列`,spaceBonus:`スペースボーナス`,buildSpeedBonus:`建設速度ボーナス`,researchSpeedBonus:`研究速度ボーナス`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},buildingDescriptions:{metalMine:`金属資源を採掘`,crystalMine:`クリスタル資源を採掘`,deuteriumSynthesizer:`重水素資源を合成`,solarPlant:`エネルギーを供給`,fusionReactor:`重水素を使用して大量のエネルギーを生成`,roboticsFactory:`建設速度を向上`,naniteFactory:`建設キュー数を増加、レベル毎に+1(最大10レベル)`,shipyard:`艦船を建造`,researchLab:`技術を研究`,metalStorage:`金属の貯蔵上限を増加`,crystalStorage:`クリスタルの貯蔵上限を増加`,deuteriumTank:`重水素の貯蔵上限を増加`,darkMatterCollector:`希少なダークマター資源を収集`,darkMatterTank:`ダークマターの貯蔵上限を増加`,missileSilo:`ミサイルを保管・発射、レベル毎に10発`,terraformer:`惑星地形を改造、レベル毎に利用可能スペース5増加`,lunarBase:`月の利用可能スペースを増加、レベル毎に+5スペース`,sensorPhalanx:`周辺星系の艦隊活動を探知`,jumpGate:`他の月へ艦隊を瞬間移動`,planetDestroyerFactory:`惑星を破壊できる究極兵器を建造`},ships:{lightFighter:`軽戦闘機`,heavyFighter:`重戦闘機`,cruiser:`巡洋艦`,battleship:`戦艦`,battlecruiser:`巡洋戦艦`,bomber:`爆撃機`,destroyer:`駆逐艦`,smallCargo:`小型輸送船`,largeCargo:`大型輸送船`,colonyShip:`コロニーシップ`,recycler:`リサイクラー`,espionageProbe:`スパイプローブ`,solarSatellite:`太陽光衛星`,darkMatterHarvester:`ダークマター採取船`,deathstar:`デススター`},shipDescriptions:{lightFighter:`基本戦闘ユニット`,heavyFighter:`重装甲戦闘機`,cruiser:`中型戦艦、攻守バランス型`,battleship:`強力な戦艦`,battlecruiser:`高速強力な戦闘艦、戦艦への攻撃に優れる`,bomber:`防御施設への攻撃に特化した艦船`,destroyer:`大型艦の破壊に特化したハンター`,smallCargo:`少量の資源を輸送`,largeCargo:`大量の資源を輸送`,colonyShip:`新惑星の植民に使用`,recycler:`デブリフィールドの資源を回収`,espionageProbe:`敵惑星を偵察`,solarSatellite:`追加エネルギーを提供、衛星1つにつき50エネルギー生成`,darkMatterHarvester:`ダークマター採取専用の特殊艦`,deathstar:`惑星全体を破壊できる究極兵器`},defenses:{rocketLauncher:`ロケットランチャー`,lightLaser:`ライトレーザー`,heavyLaser:`ヘビーレーザー`,gaussCannon:`ガウスキャノン`,ionCannon:`イオンキャノン`,plasmaTurret:`プラズマタレット`,smallShieldDome:`小型シールドドーム`,largeShieldDome:`大型シールドドーム`,antiBallisticMissile:`迎撃ミサイル`,interplanetaryMissile:`惑星間ミサイル`,planetaryShield:`惑星シールド`},defenseDescriptions:{rocketLauncher:`基本防衛施設`,lightLaser:`軽量エネルギー兵器`,heavyLaser:`重型エネルギー兵器`,gaussCannon:`高速運動エネルギー兵器`,ionCannon:`シールド破壊に効果的`,plasmaTurret:`強力な防衛施設`,smallShieldDome:`惑星全体を保護する小型シールド`,largeShieldDome:`惑星全体を保護する大型シールド`,antiBallisticMissile:`敵ミサイルを迎撃、惑星間ミサイル1発を迎撃可能`,interplanetaryMissile:`他の惑星の防御施設を攻撃可能`,planetaryShield:`破壊攻撃から惑星を保護する超級シールド`},research:{researchTime:`研究時間`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`,capacity:`Capacity/Effect`,storageCapacity:`Capacity`,energyProduction:`Energy Production`,fleetStorage:`Fleet Storage`,buildQueue:`Build Queue`,planetSpace:`Planet Space`,moonSpace:`Moon Space`,missileCapacity:`Missile Capacity`},technologies:{energyTechnology:`エネルギー技術`,laserTechnology:`レーザー技術`,ionTechnology:`イオン技術`,hyperspaceTechnology:`ハイパースペース技術`,plasmaTechnology:`プラズマ技術`,computerTechnology:`コンピューター技術`,espionageTechnology:`スパイ技術`,weaponsTechnology:`兵器技術`,shieldingTechnology:`シールド技術`,armourTechnology:`装甲技術`,astrophysics:`天体物理学`,gravitonTechnology:`重力技術`,combustionDrive:`燃焼ドライブ`,impulseDrive:`インパルスドライブ`,hyperspaceDrive:`ハイパースペースドライブ`,darkMatterTechnology:`ダークマター技術`,terraformingTechnology:`テラフォーミング技術`,planetDestructionTech:`惑星破壊技術`},technologyDescriptions:{energyTechnology:`エネルギー利用効率を向上`,laserTechnology:`レーザー兵器と防衛の基礎`,ionTechnology:`イオン兵器技術`,hyperspaceTechnology:`ハイパースペースジャンプ技術`,plasmaTechnology:`プラズマ兵器技術`,computerTechnology:`研究キュー数を増加、レベル毎に+1(最大10レベル)`,espionageTechnology:`スパイ探査機の効果を向上、レベル毎に偵察深度+1`,weaponsTechnology:`艦船と防御の攻撃力をレベル毎に10%増加`,shieldingTechnology:`艦船と防御のシールドをレベル毎に10%増加`,armourTechnology:`艦船と防御の装甲をレベル毎に10%増加`,astrophysics:`レベル毎に植民地スロット+1、探検成功率を向上`,gravitonTechnology:`重力操作を研究、デススターに必要`,combustionDrive:`基本推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`ダークマターの性質と応用を研究`,terraformingTechnology:`惑星地形改造技術を研究、レベル毎に全惑星の利用可能スペース3増加`,planetDestructionTech:`惑星全体を破壊する恐怖の技術を研究`},officers:{commander:`司令官`,admiral:`提督`,engineer:`エンジニア`,geologist:`地質学者`,technocrat:`技術専門家`,darkMatterSpecialist:`ダークマター専門家`,resourceBonus:`資源生産ボーナス`,darkMatterBonus:`ダークマター生産ボーナス`,energyBonus:`エネルギー生産ボーナス`},officerDescriptions:{commander:`建設速度と管理能力を向上`,admiral:`艦隊戦闘力と速度を向上`,engineer:`エネルギーと防御力を向上`,geologist:`資源生産量を向上`,technocrat:`研究速度と偵察能力を向上`,darkMatterSpecialist:`ダークマター採取効率を向上`},queue:{buildQueue:`建設キュー`,researchQueue:`研究キュー`,building:`建設中`,researching:`研究中`,remaining:`残り時間`,cancel:`キャンセル`,cancelBuild:`建設キャンセル`,cancelResearch:`研究キャンセル`,confirmCancel:`キャンセルしますか?資源の50%が返還されます。`,level:`レベル`,upgradeToLevel:`レベルにアップグレード`},shipyard:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargoCapacity:`貨物容量`,fuelConsumption:`燃料消費`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},overview:{title:`惑星概要`,resourceOverview:`資源概要`,fleetInfo:`艦隊`,currentShips:`現在の惑星の艦船数`,productionSources:`生産源`,productionSourcesDesc:`詳細な資源生産とボーナス情報`,consumptionSources:`消費源`,consumptionSourcesDesc:`建物のエネルギー消費詳細`,totalProduction:`総生産量`,totalConsumption:`総消費量`,noConsumption:`エネルギー消費なし`},buildingsView:{title:`建物`,usedSpace:`使用済みスペース`,spaceUsage:`スペース使用量`,level:`レベル`,upgradeCost:`アップグレードコスト`,buildTime:`建設時間`,upgrade:`アップグレード`,maxLevelReached:`最大レベルに達しました`,requirementsNotMet:`要件が満たされていません`,upgradeFailed:`アップグレード失敗`,upgradeFailedMessage:`資源が十分か、スペースが十分か、または他の建設タスクがないか確認してください。`,demolish:`解体`,demolishRefund:`解体返還`,demolishFailed:`解体失敗`,demolishFailedMessage:`この建物を解体できません。建設キューが満杯か、建物レベルが0でないか確認してください。`,confirmDemolish:``,confirmDemolishMessage:``},researchView:{title:`研究`,researchCost:`研究コスト`,research:`研究`,maxLevelReached:`最大レベルに達しました`,researchFailed:`研究失敗`,researchFailedMessage:`資源が十分か、前提条件が満たされているか、または他の研究タスクがないか確認してください。`},defense:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},shipyardView:{title:`造船所`,fleetStorage:`艦隊ストレージ`,attack:`攻撃力`,shield:`シールド`,speed:`速度`,cargoCapacity:`積載量`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。`},defenseView:{title:`防衛施設`,attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildTime:`建設時間`,seconds:`秒`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,shieldDomeBuilt:`シールドドーム建設済み`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。シールドドームは1つのみ建設できます。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊概要`,sendFleet:`艦隊派遣`,flightMissions:`飛行ミッション`,currentPlanetFleet:`現在の惑星艦隊`,attack:`攻撃`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargo:`貨物`,selectFleet:`艦隊選択`,selectFleetDescription:`派遣する艦船数を選択`,available:`利用可能`,all:`全て`,targetCoordinates:`目標座標`,galaxy:`銀河`,diplomacy:`Diplomacy`,system:`星系`,position:`位置`,missionType:`ミッションタイプ`,missionInfo:`ミッション情報`,fuelConsumption:`燃料消費`,flightTime:`飛行時間`,attackMission:`攻撃`,transport:`輸送`,colonize:`植民`,spy:`偵察`,deploy:`配備`,recycle:`回収`,transportResources:`資源輸送`,totalCargoCapacity:`総積載量`,used:`使用済み`,noFlightMissions:`飛行ミッションなし`,outbound:`往路`,returning:`帰路`,fleetComposition:`艦隊構成`,carryingResources:`運搬資源`,arrivalTime:`到着時刻`,returnTime:`帰還時刻`,recallFleet:`艦隊召還`,sendFailed:`派遣失敗`,sendFailedMessage:`艦隊数、燃料の充足、または積載量の制限を確認してください。`,recallFailed:`召還失敗`,recallFailedMessage:`このミッションは召還できません。`,unknownPlanet:`未知の惑星`,fleetMissionSlots:`艦隊ミッションスロット`,noShipsSelected:`艦船が選択されていません`,cannotSendToOwnPlanet:`自分の惑星に艦隊を派遣できません`,cargoExceedsCapacity:`積載量が容量を超えています`,noColonyShip:`植民ミッションにはコロニーシップが必要です`,noDebrisAtTarget:`目標座標にデブリフィールドがないか、デブリフィールドが空です`,noDeathstar:`破壊ミッションにはデススターが必要です`,giftMode:`ギフトモード`,giftModeDescription:`資源を贈り物として送る`,estimatedReputationGain:`推定評判獲得`},officersView:{title:`士官`,activated:`アクティブ`,inactive:`非アクティブ`,activeStatus:`アクティブ状態`,expirationTime:`期限切れ時刻`,remainingTime:`残り時間`,recruitCost:`募集コスト`,days:`日`,benefitsBonus:`効果ボーナス`,resourceProduction:`資源生産量`,darkMatterProduction:`ダークマター生産量`,energyProduction:`エネルギー生産量`,buildingSpeed:`建設速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消費`,defense:`防御力`,storageCapacity:`貯蔵容量`,buildQueue:`建設キュー`,fleetSlots:`艦隊スロット`,hire:`雇用`,renew:`更新`,dismiss:`解雇`,hireTitle:`士官雇用`,hireMessage:`{name}を雇用しますか?有効期限は7日間です。`,renewTitle:`士官更新`,renewMessage:`{name}を7日間更新しますか?`,dismissTitle:`士官解雇`,dismissMessage:`{name}を解雇しますか?費用は返金されません。`,hireFailed:`雇用失敗`,renewFailed:`更新失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`銀河`,selectCoordinates:`座標選択`,galaxy:`銀河`,diplomacy:`Diplomacy`,selectGalaxy:`銀河を選択`,system:`星系`,selectSystem:`星系を選択`,view:`表示`,myPlanet:`自分の惑星`,myPlanets:`私の惑星`,npcPlanets:`NPCの惑星`,selectPlanetToView:`表示する惑星を選択`,totalPositions:`全10惑星位置`,mine:`自分`,hostile:`敵対`,emptySlot:`空き - 植民可能`,scout:`偵察`,attack:`攻撃`,colonize:`植民`,switch:`切り替え`,recycle:`回収`,debrisField:`デブリフィールド`,scoutPlanetTitle:`惑星偵察`,attackPlanetTitle:`惑星攻撃`,colonizePlanetTitle:`惑星植民`,recyclePlanetTitle:`デブリ回収`,scoutPlanetMessage:`惑星[{coordinates}]にスパイプローブを送りますか? + +艦隊ページに移動して艦船を選択して派遣してください。`,attackPlanetMessage:`惑星[{coordinates}]を攻撃しますか? + +艦隊ページに移動して艦船を選択して派遣してください。`,colonizePlanetMessage:`位置[{coordinates}]を植民しますか? + +艦隊ページに移動してコロニーシップを派遣してください。`,recyclePlanetMessage:`位置[{coordinates}]のデブリを回収しますか? + +艦隊ページに移動してリサイクラーを派遣してください。`,sendGift:`ギフト送信`,debris:`破片`,giftPlanetTitle:`ギフト送信`,giftPlanetMessage:`惑星[{coordinates}]にリソースを贈りますか? + +艦隊ページに移動して輸送船を選択し、リソースを積載してください。`},messagesView:{title:`メッセージセンター`,battles:`戦闘`,spy:`スパイ`,npc:`NPC`,battleReports:`戦闘レポート`,spyReports:`スパイレポート`,noBattleReports:`戦闘レポートなし`,noSpyReports:`スパイレポートなし`,battleReport:`戦闘レポート`,spyReport:`スパイレポート`,victory:`勝利`,defeat:`敗北`,draw:`引き分け`,attackerFleet:`攻撃側艦隊`,defenderFleet:`防御側艦隊`,defenderDefense:`防御側防衛`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,plunder:`略奪資源`,debrisField:`デブリフィールド`,resources:`資源`,fleet:`艦隊`,defense:`防衛`,buildings:`建物`,unread:`未読`,targetPlanet:`目標惑星`,attackerRemaining:`攻撃側残存`,defenderRemaining:`防御側残存`,moonChance:`月生成確率`,showRoundDetails:`ラウンド詳細表示`,hideRoundDetails:`ラウンド詳細非表示`,round:`第{round}ラウンド`,attackerRemainingPower:`攻撃側残存火力`,defenderRemainingPower:`防御側残存火力`,spied:`偵察された`,spiedNotification:`偵察通知`,noSpiedNotifications:`偵察通知はありません`,detected:`発見された`,undetected:`未発見`,missions:`ミッション`,noMissionReports:`ミッションレポートなし`,success:`成功`,failed:`失敗`,npcActivity:`NPC活動`,noNPCActivity:`NPC活動通知はありません`,npcRecycleActivity:`NPCがデブリを回収`,gifts:`ギフト`,giftRejected:`拒否`,noGiftNotifications:`ギフト通知はありません`,noGiftRejected:`拒否された記録はありません`,giftFrom:`{npcName}からのギフト`,giftRejectedBy:`{npcName}がギフトを拒否しました`,giftResources:`ギフトリソース`,rejectedResources:`拒否されたリソース`,expectedReputation:`期待される評判`,currentReputation:`現在の評判`,acceptGift:`受け取る`,rejectGift:`拒否`,rejectionReason:{hostile:`相手は敵対的でギフトを受け取りません`,neutral_distrust:`相手はあなたを信頼していません`,polite_decline:`丁重に断りました`}},missionReports:{transportSuccess:`輸送ミッションが正常に完了しました`,transportFailed:`輸送ミッションが失敗しました`,colonizeSuccess:`植民ミッション成功、新しい惑星が確立されました`,colonizeFailed:`植民ミッションが失敗しました`,deploySuccess:`配備ミッションが正常に完了しました`,deployFailed:`配備ミッションが失敗しました`,recycleSuccess:`回収ミッションが正常に完了しました`,recycleFailed:`回収ミッションが失敗しました。目標位置にデブリがありません`,destroySuccess:`惑星破壊ミッションが正常に実行されました`,destroyFailed:`惑星破壊ミッションが失敗しました`},simulatorView:{title:`戦闘シミュレーター`,attacker:`攻撃側`,defender:`防御側`,attackerConfig:`攻撃側設定`,attackerConfigDesc:`攻撃側の艦隊と技術レベルを設定`,defenderConfig:`防御側設定`,defenderConfigDesc:`防御側の艦隊、防衛、技術レベルを設定`,fleet:`艦隊`,defenseStructures:`防衛施設`,techLevels:`技術レベル`,weapon:`武器`,shield:`シールド`,armor:`装甲`,defenderResources:`防御側資源(略奪計算用)`,startSimulation:`シミュレーション開始`,reset:`リセット`,battleResult:`戦闘結果`,attackerVictory:`攻撃側勝利`,defenderVictory:`防御側勝利`,draw:`引き分け`,afterRounds:`{rounds}ラウンド後`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,attackerRemaining:`攻撃側残存`,defenderRemaining:`防御側残存`,allDestroyed:`全て破壊`,plunderableResources:`略奪可能資源`,debrisField:`デブリフィールド`,moonChance:`月生成確率`,showRoundDetails:`ラウンド詳細表示`,hideRoundDetails:`ラウンド詳細非表示`,round:`第{round}ラウンド`,attackerRemainingPower:`攻撃側残存火力`,defenderRemainingPower:`防御側残存火力`},settings:{dataManagement:`データ管理`,dataManagementDesc:`ゲームデータのエクスポート、インポート、またはクリア`,exportData:`データエクスポート`,exportDataDesc:`ゲームの進行状況をJSONファイルとしてエクスポート`,export:`エクスポート`,exporting:`エクスポート中...`,exportSuccess:`エクスポート成功`,exportFailed:`エクスポートに失敗しました。もう一度お試しください`,importData:`データインポート`,importDataDesc:`JSONファイルからゲームの進行状況を復元`,selectFile:`ファイルを選択`,importSuccess:`インポート成功`,importConfirmTitle:`インポート確認`,importConfirmMessage:`インポートすると現在のゲームの進行状況が上書きされます。この操作は元に戻せません。続行しますか?`,importFailed:`インポートに失敗しました。ファイル形式を確認してください`,clearData:`データクリア`,clearDataDesc:`すべてのゲームデータを削除してリセット`,clear:`クリア`,clearConfirmTitle:`データクリア確認`,clearConfirmMessage:`すべてのゲームデータが削除され、最初からやり直します。この操作は元に戻せません。続行しますか?`,gameSettings:`ゲーム設定`,gameSettingsDesc:`ゲームパラメータと設定を調整`,gamePause:`ゲーム一時停止`,gamePauseDesc:`ゲーム時間と資源生産を一時停止または再開`,pause:`一時停止`,resume:`再開`,gamePaused:`ゲームを一時停止しました`,gameResumed:`ゲームを再開しました`,playerName:`プレイヤー名`,gameSpeed:`ゲーム速度`,gameSpeedDesc:`現在のゲーム速度倍率`,about:`について`,version:`バージョン`,buildDate:`ビルド日`,community:`コミュニティ`,github:`GitHubリポジトリ`,qqGroup:`QQグループ`},gmView:{title:`GMコントロールパネル`,adminOnly:`管理者専用`,selectPlanet:`惑星を選択`,choosePlanet:`惑星を選択してください`,resources:`資源`,buildings:`建物`,research:`研究`,ships:`艦船`,defense:`防衛`,officers:`士官`,modifyResources:`資源を変更`,resourcesDesc:`惑星の資源を素早く変更`,modifyBuildings:`建物を変更`,buildingsDesc:`建物レベルを素早く設定`,modifyResearch:`研究を変更`,researchDesc:`研究レベルを素早く設定`,modifyShips:`艦船を変更`,shipsDesc:`艦船数を素早く設定`,modifyDefense:`防衛を変更`,defenseDesc:`防衛数を素早く設定`,modifyOfficers:`士官を変更`,officersDesc:`士官の有効期限を素早く設定`,days:`日`,npcTesting:`NPCテスト`,npcTestingDesc:`NPCの偵察と攻撃動作をテスト`,selectNPC:`NPCを選択`,chooseNPC:`NPCを選択してください`,targetPlanet:`ターゲット惑星`,chooseTarget:`ターゲット惑星を選択`,testSpy:`偵察テスト`,testAttack:`攻撃テスト`,testSpyAndAttack:`偵察&攻撃テスト`,initializeFleet:`NPC艦隊を初期化`,accelerateMissions:`すべてのミッションを加速(5秒)`,selectNPCFirst:`最初にNPCを選択してください`,npcNoProbes:`NPCには偵察プローブがありません`,npcNoSpyReport:`NPCは最初に偵察する必要があります`,npcMissionFailed:`ミッションの作成に失敗しました`,dangerZone:`危険ゾーン`,dangerZoneDesc:`以下の操作は元に戻せません`,resetGame:`ゲームをリセット`,resetGameConfirm:`ゲームをリセットしてもよろしいですか?すべてのデータが削除されます!`},alerts:{npcSpyIncoming:`NPC偵察プローブが接近中`,npcAttackIncoming:`NPC艦隊攻撃が接近中!`,npcFleetIncoming:`NPC艦隊が接近中`,ships:`隻`,spiedBy:`偵察された`,attackedBy:`攻撃された`,detectionSuccess:`偵察が発見された`,detectionFailed:`偵察が発見されなかった`,npcSpiedYourPlanet:`NPCがあなたの惑星を偵察しました`,npcAttackedYourPlanet:`NPCがあなたの惑星を攻撃しました`},diplomacy:{title:`外交`,description:`NPCとの外交関係を管理`,tabs:{all:`すべて`,friendly:`友好的`,neutral:`中立`,hostile:`敵対的`},noNpcs:`NPCなし`,noFriendlyNpcs:`友好的なNPCなし`,noNeutralNpcs:`中立なNPCなし`,noHostileNpcs:`敵対的なNPCなし`,recentEvents:`最近のイベント`,recentEventsDescription:`最近の外交活動ログ`,ago:`前`,status:{friendly:`友好的`,neutral:`中立`,hostile:`敵対的`},planets:`惑星`,allies:`同盟`,reputation:`評判`,alliedWith:`同盟関係`,more:`その他`,actions:{gift:`ギフトを送る`,viewPlanets:`惑星を表示`},lastEvent:`最後のイベント`,events:{gift:`ギフト送信`,attack:`攻撃`,allyAttacked:`同盟が攻撃された`,spy:`諜報活動`,stealDebris:`残骸を略奪`}},pagination:{previous:`前へ`,next:`次へ`,first:`最初`,last:`最後`,page:`{page}ページ`}};const s={"zh-CN":e,"zh-TW":t,en:n,de:r,ru:i,ko:a,ja:o},c={"zh-CN":`简体中文`,"zh-TW":`繁體中文`,en:`English`,de:`Deutsch`,ru:`Русский`,ko:`한국어`,ja:`日本語`},l=()=>{let e=(navigator.language||navigator.languages&&navigator.languages[0]||`zh-CN`).toLowerCase();return e.startsWith(`zh-tw`)||e.startsWith(`zh-hant`)||e.startsWith(`zh-hk`)||e.startsWith(`zh-mo`)?`zh-TW`:e.startsWith(`zh`)?`zh-CN`:e.startsWith(`ja`)?`ja`:e.startsWith(`ko`)?`ko`:e.startsWith(`en`)?`en`:e.startsWith(`de`)?`de`:e.startsWith(`ru`)?`ru`:`zh-CN`};export{c as n,s as r,l as t}; \ No newline at end of file diff --git a/docs/assets/game-logic-Bi1l7y4K.js b/docs/assets/game-logic-Bi1l7y4K.js new file mode 100644 index 0000000..4dbed70 --- /dev/null +++ b/docs/assets/game-logic-Bi1l7y4K.js @@ -0,0 +1,3 @@ +import{n as e}from"./rolldown-runtime-CIDIeb-o.js";import{_ as t,a as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v}from"./game-config-CG6z6nnH.js";function y(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var b={},x=[],S=()=>{},C=()=>!1,w=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ee=e=>e.startsWith(`onUpdate:`),T=Object.assign,E=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},te=Object.prototype.hasOwnProperty,D=(e,t)=>te.call(e,t),O=Array.isArray,ne=e=>se(e)===`[object Map]`,re=e=>se(e)===`[object Set]`,k=e=>se(e)===`[object Date]`,ie=e=>se(e)===`[object RegExp]`,A=e=>typeof e==`function`,j=e=>typeof e==`string`,M=e=>typeof e==`symbol`,N=e=>typeof e==`object`&&!!e,ae=e=>(N(e)||A(e))&&A(e.then)&&A(e.catch),oe=Object.prototype.toString,se=e=>oe.call(e),ce=e=>se(e).slice(8,-1),le=e=>se(e)===`[object Object]`,ue=e=>j(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,de=y(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),fe=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},pe=/-\w/g,P=fe(e=>e.replace(pe,e=>e.slice(1).toUpperCase())),me=/\B([A-Z])/g,F=fe(e=>e.replace(me,`-$1`).toLowerCase()),he=fe(e=>e.charAt(0).toUpperCase()+e.slice(1)),ge=fe(e=>e?`on${he(e)}`:``),I=(e,t)=>!Object.is(e,t),_e=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},ye=e=>{let t=parseFloat(e);return isNaN(t)?e:t},be=e=>{let t=j(e)?Number(e):NaN;return isNaN(t)?e:t},xe,Se=()=>xe||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},Ce=y(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function we(e){if(O(e)){let t={};for(let n=0;n{if(e){let n=e.split(Ee);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ke(e){let t=``;if(j(e))t=e;else if(O(e))for(let n=0;nFe(e,t))}var Le=e=>!!(e&&e.__v_isRef===!0),Re=e=>j(e)?e:e==null?``:O(e)||N(e)&&(e.toString===oe||!A(e.toString))?Le(e)?Re(e.value):JSON.stringify(e,ze,2):String(e),ze=(e,t)=>Le(t)?ze(e,t.value):ne(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Be(t,r)+` =>`]=n,e),{})}:re(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Be(e))}:M(t)?Be(t):N(t)&&!O(t)&&!le(t)?String(t):t,Be=(e,t=``)=>M(e)?`Symbol(${e.description??t})`:e;function Ve(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var L,He=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=L,!e&&L&&(this.index=(L.scopes||=[]).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0&&(L=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Xe){let e=Xe;for(Xe=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ye;){let t=Ye;for(Ye=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function et(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function tt(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),it(r),at(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function nt(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(rt(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function rt(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===pt)||(e.globalVersion=pt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!nt(e))))return;e.flags|=2;let t=e.dep,n=R,r=ct;R=e,ct=!0;try{et(e);let n=e.fn(e._value);(t.version===0||I(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{R=n,ct=r,tt(e),e.flags&=-3}}function it(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)it(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function at(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function ot(e,t){e.effect instanceof qe&&(e=e.effect.fn);let n=new qe(e);t&&T(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function st(e){e.effect.stop()}var ct=!0,lt=[];function ut(){lt.push(ct),ct=!1}function dt(){let e=lt.pop();ct=e===void 0?!0:e}function ft(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=R;R=void 0;try{t()}finally{R=e}}}var pt=0,mt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},ht=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!R||!ct||R===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==R)t=this.activeLink=new mt(R,this),R.deps?(t.prevDep=R.depsTail,R.depsTail.nextDep=t,R.depsTail=t):R.deps=R.depsTail=t,gt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=R.depsTail,t.nextDep=void 0,R.depsTail.nextDep=t,R.depsTail=t,R.deps===t&&(R.deps=e)}return t}trigger(e){this.version++,pt++,this.notify(e)}notify(e){Qe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{$e()}}};function gt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)gt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var _t=new WeakMap,vt=Symbol(``),yt=Symbol(``),bt=Symbol(``);function z(e,t,n){if(ct&&R){let t=_t.get(e);t||_t.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new ht),r.map=t,r.key=n),r.track()}}function xt(e,t,n,r,i,a){let o=_t.get(e);if(!o){pt++;return}let s=e=>{e&&e.trigger()};if(Qe(),t===`clear`)o.forEach(s);else{let i=O(e),a=i&&ue(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===bt||!M(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(bt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(vt)),ne(e)&&s(o.get(yt)));break;case`delete`:i||(s(o.get(vt)),ne(e)&&s(o.get(yt)));break;case`set`:ne(e)&&s(o.get(vt));break}}$e()}function St(e,t){let n=_t.get(e);return n&&n.get(t)}function Ct(e){let t=V(e);return t===e?t:(z(t,`iterate`,bt),B(e)?t:t.map(hn))}function wt(e){return z(e=V(e),`iterate`,bt),e}function Tt(e,t){return fn(e)?dn(e)?gn(hn(t)):gn(t):hn(t)}var Et={__proto__:null,[Symbol.iterator](){return Dt(this,Symbol.iterator,e=>Tt(this,e))},concat(...e){return Ct(this).concat(...e.map(e=>O(e)?Ct(e):e))},entries(){return Dt(this,`entries`,e=>(e[1]=Tt(this,e[1]),e))},every(e,t){return kt(this,`every`,e,t,void 0,arguments)},filter(e,t){return kt(this,`filter`,e,t,e=>e.map(e=>Tt(this,e)),arguments)},find(e,t){return kt(this,`find`,e,t,e=>Tt(this,e),arguments)},findIndex(e,t){return kt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return kt(this,`findLast`,e,t,e=>Tt(this,e),arguments)},findLastIndex(e,t){return kt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return kt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return jt(this,`includes`,e)},indexOf(...e){return jt(this,`indexOf`,e)},join(e){return Ct(this).join(e)},lastIndexOf(...e){return jt(this,`lastIndexOf`,e)},map(e,t){return kt(this,`map`,e,t,void 0,arguments)},pop(){return Mt(this,`pop`)},push(...e){return Mt(this,`push`,e)},reduce(e,...t){return At(this,`reduce`,e,t)},reduceRight(e,...t){return At(this,`reduceRight`,e,t)},shift(){return Mt(this,`shift`)},some(e,t){return kt(this,`some`,e,t,void 0,arguments)},splice(...e){return Mt(this,`splice`,e)},toReversed(){return Ct(this).toReversed()},toSorted(e){return Ct(this).toSorted(e)},toSpliced(...e){return Ct(this).toSpliced(...e)},unshift(...e){return Mt(this,`unshift`,e)},values(){return Dt(this,`values`,e=>Tt(this,e))}};function Dt(e,t,n){let r=wt(e),i=r[t]();return r!==e&&!B(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Ot=Array.prototype;function kt(e,t,n,r,i,a){let o=wt(e),s=o!==e&&!B(e),c=o[t];if(c!==Ot[t]){let t=c.apply(e,a);return s?hn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Tt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function At(e,t,n,r){let i=wt(e),a=n;return i!==e&&(B(e)?n.length>3&&(a=function(t,r,i){return n.call(this,t,r,i,e)}):a=function(t,r,i){return n.call(this,t,Tt(e,r),i,e)}),i[t](a,...r)}function jt(e,t,n){let r=V(e);z(r,`iterate`,bt);let i=r[t](...n);return(i===-1||i===!1)&&pn(n[0])?(n[0]=V(n[0]),r[t](...n)):i}function Mt(e,t,n=[]){ut(),Qe();let r=V(e)[t].apply(e,n);return $e(),dt(),r}var Nt=y(`__proto__,__v_isRef,__isVue`),Pt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(M));function Ft(e){M(e)||(e=String(e));let t=V(this);return z(t,`has`,e),t.hasOwnProperty(e)}var It=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?nn:tn:i?en:$t).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=O(e);if(!r){let e;if(a&&(e=Et[t]))return e;if(t===`hasOwnProperty`)return Ft}let o=Reflect.get(e,t,H(e)?e:n);if((M(t)?Pt.has(t):Nt(t))||(r||z(e,`get`,t),i))return o;if(H(o)){let e=a&&ue(t)?o:o.value;return r&&N(e)?cn(e):e}return N(o)?r?cn(o):on(o):o}},Lt=class extends It{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=O(e)&&ue(t);if(!this._isShallow){let e=fn(i);if(!B(n)&&!fn(n)&&(i=V(i),n=V(n)),!a&&H(i)&&!H(n))return e||(i.value=n),!0}let o=a?Number(t)e,Wt=e=>Reflect.getPrototypeOf(e);function Gt(e,t,n){return function(...r){let i=this.__v_raw,a=V(i),o=ne(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Ut:t?gn:hn;return!t&&z(a,`iterate`,c?yt:vt),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Kt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function qt(e,t){let n={get(n){let r=this.__v_raw,i=V(r),a=V(n);e||(I(n,a)&&z(i,`get`,n),z(i,`get`,a));let{has:o}=Wt(i),s=t?Ut:e?gn:hn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&z(V(t),`iterate`,vt),t.size},has(t){let n=this.__v_raw,r=V(n),i=V(t);return e||(I(t,i)&&z(r,`has`,t),z(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=V(a),s=t?Ut:e?gn:hn;return!e&&z(o,`iterate`,vt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return T(n,e?{add:Kt(`add`),set:Kt(`set`),delete:Kt(`delete`),clear:Kt(`clear`)}:{add(e){!t&&!B(e)&&!fn(e)&&(e=V(e));let n=V(this);return Wt(n).has.call(n,e)||(n.add(e),xt(n,`add`,e,e)),this},set(e,n){!t&&!B(n)&&!fn(n)&&(n=V(n));let r=V(this),{has:i,get:a}=Wt(r),o=i.call(r,e);o||=(e=V(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?I(n,s)&&xt(r,`set`,e,n,s):xt(r,`add`,e,n),this},delete(e){let t=V(this),{has:n,get:r}=Wt(t),i=n.call(t,e);i||=(e=V(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&xt(t,`delete`,e,void 0,a),o},clear(){let e=V(this),t=e.size!==0,n=e.clear();return t&&xt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Gt(r,e,t)}),n}function Jt(e,t){let n=qt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(D(n,r)&&r in t?n:t,r,i)}var Yt={get:Jt(!1,!1)},Xt={get:Jt(!1,!0)},Zt={get:Jt(!0,!1)},Qt={get:Jt(!0,!0)},$t=new WeakMap,en=new WeakMap,tn=new WeakMap,nn=new WeakMap;function rn(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function an(e){return e.__v_skip||!Object.isExtensible(e)?0:rn(ce(e))}function on(e){return fn(e)?e:un(e,!1,zt,Yt,$t)}function sn(e){return un(e,!1,Vt,Xt,en)}function cn(e){return un(e,!0,Bt,Zt,tn)}function ln(e){return un(e,!0,Ht,Qt,nn)}function un(e,t,n,r,i){if(!N(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=an(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function dn(e){return fn(e)?dn(e.__v_raw):!!(e&&e.__v_isReactive)}function fn(e){return!!(e&&e.__v_isReadonly)}function B(e){return!!(e&&e.__v_isShallow)}function pn(e){return e?!!e.__v_raw:!1}function V(e){let t=e&&e.__v_raw;return t?V(t):e}function mn(e){return!D(e,`__v_skip`)&&Object.isExtensible(e)&&ve(e,`__v_skip`,!0),e}var hn=e=>N(e)?on(e):e,gn=e=>N(e)?cn(e):e;function H(e){return e?e.__v_isRef===!0:!1}function _n(e){return yn(e,!1)}function vn(e){return yn(e,!0)}function yn(e,t){return H(e)?e:new bn(e,t)}var bn=class{constructor(e,t){this.dep=new ht,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:V(e),this._value=t?e:hn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||B(e)||fn(e);e=n?e:V(e),I(e,t)&&(this._rawValue=e,this._value=n?e:hn(e),this.dep.trigger())}};function xn(e){e.dep&&e.dep.trigger()}function Sn(e){return H(e)?e.value:e}function Cn(e){return A(e)?e():Sn(e)}var wn={get:(e,t,n)=>t===`__v_raw`?e:Sn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return H(i)&&!H(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Tn(e){return dn(e)?e:new Proxy(e,wn)}var En=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new ht,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function Dn(e){return new En(e)}function On(e){let t=O(e)?Array(e.length):{};for(let n in e)t[n]=Mn(e,n);return t}var kn=class{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=V(e);let r=!0,i=e;if(!O(e)||!ue(String(t)))do r=!pn(i)||B(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=Sn(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&H(this._raw[this._key])){let t=this._object[this._key];if(H(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return St(this._raw,this._key)}},An=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function jn(e,t,n){return H(e)?e:A(e)?new An(e):N(e)&&arguments.length>1?Mn(e,t,n):_n(e)}function Mn(e,t,n){return new kn(e,t,n)}var Nn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new ht(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=pt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&R!==this)return Ze(this,!0),!0}get value(){let e=this.dep.track();return rt(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Pn(e,t,n=!1){let r,i;return A(e)?r=e:(r=e.get,i=e.set),new Nn(r,i,n)}var Fn={GET:`get`,HAS:`has`,ITERATE:`iterate`},In={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},Ln={},Rn=new WeakMap,zn=void 0;function Bn(){return zn}function Vn(e,t=!1,n=zn){if(n){let t=Rn.get(n);t||Rn.set(n,t=[]),t.push(e)}}function Hn(e,t,n=b){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:B(e)||i===!1||i===0?Un(e,1):Un(e),u,d,f,p,m=!1,h=!1;if(H(e)?(d=()=>e.value,m=B(e)):dn(e)?(d=()=>l(e),m=!0):O(e)?(h=!0,m=e.some(e=>dn(e)||B(e)),d=()=>e.map(e=>{if(H(e))return e.value;if(dn(e))return l(e);if(A(e))return c?c(e,2):e()})):d=A(e)?t?c?()=>c(e,2):e:()=>{if(f){ut();try{f()}finally{dt()}}let t=zn;zn=u;try{return c?c(e,3,[p]):e(p)}finally{zn=t}}:S,t&&i){let e=d,t=i===!0?1/0:i;d=()=>Un(e(),t)}let g=We(),_=()=>{u.stop(),g&&g.active&&E(g.effects,u)};if(a&&t){let e=t;t=(...t)=>{e(...t),_()}}let v=h?Array(e.length).fill(Ln):Ln,y=e=>{if(!(!(u.flags&1)||!u.dirty&&!e))if(t){let e=u.run();if(i||m||(h?e.some((e,t)=>I(e,v[t])):I(e,v))){f&&f();let n=zn;zn=u;try{let n=[e,v===Ln?void 0:h&&v[0]===Ln?[]:v,p];v=e,c?c(t,3,n):t(...n)}finally{zn=n}}}else u.run()};return s&&s(y),u=new qe(d),u.scheduler=o?()=>o(y,!1):y,p=e=>Vn(e,!1,u),f=u.onStop=()=>{let e=Rn.get(u);if(e){if(c)c(e,4);else for(let t of e)t();Rn.delete(u)}},t?r?y(!0):v=u.run():o?o(y.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Un(e,t=1/0,n){if(t<=0||!N(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,H(e))Un(e.value,t,n);else if(O(e))for(let r=0;r{Un(e,t,n)});else if(le(e)){for(let r in e)Un(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Un(e[r],t,n)}return e}var Wn=[];function Gn(e){Wn.push(e)}function Kn(){Wn.pop()}function qn(e,t){}var Jn={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},Yn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function Xn(e,t,n,r){try{return r?e(...r):e()}catch(e){Qn(e,t,n)}}function Zn(e,t,n,r){if(A(e)){let i=Xn(e,t,n,r);return i&&ae(i)&&i.catch(e=>{Qn(e,t,n)}),i}if(O(e)){let i=[];for(let a=0;a>>1,i=U[r],a=pr(i);a=pr(n)?U.push(e):U.splice(sr(t),0,e),e.flags|=1,lr()}}function lr(){ar||=ir.then(mr)}function ur(e){O(e)?tr.push(...e):nr&&e.id===-1?nr.splice(rr+1,0,e):e.flags&1||(tr.push(e),e.flags|=1),lr()}function dr(e,t,n=er+1){for(;npr(e)-pr(t));if(tr.length=0,nr){nr.push(...e);return}for(nr=e,rr=0;rre.id==null?e.flags&2?-1:1/0:e.id;function mr(e){try{for(er=0;erhr.emit(e,...t)),gr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{_r(e,t)}),setTimeout(()=>{hr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,gr=[])},3e3)):gr=[]}var W=null,vr=null;function yr(e){let t=W;return W=e,vr=e&&e.type.__scopeId||null,t}function br(e){vr=e}function xr(){vr=null}var Sr=e=>Cr;function Cr(e,t=W,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&ds(-1);let i=yr(t),a;try{a=e(...n)}finally{yr(i),r._d&&ds(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function wr(e,t){if(W===null)return e;let n=Xs(W),r=e.dirs||=[];for(let e=0;ee.__isTeleport,Or=e=>e&&(e.disabled||e.disabled===``),kr=e=>e&&(e.defer||e.defer===``),Ar=e=>typeof SVGElement<`u`&&e instanceof SVGElement,jr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Mr=(e,t)=>{let n=e&&e.to;return j(n)?t?t(n):null:n},Nr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g}}=l,_=Or(t.props),{shapeFlag:v,children:y,dynamicChildren:b}=t;if(e==null){let e=t.el=h(``),l=t.anchor=h(``);p(e,n,r),p(l,n,r);let d=(e,t)=>{v&16&&u(y,e,t,i,a,o,s,c)},f=()=>{let e=t.target=Mr(t.props,m),n=Rr(e,t,h,p);e&&(o!==`svg`&&Ar(e)?o=`svg`:o!==`mathml`&&jr(e)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(e),_||(d(e,n),Lr(t,!1)))};_&&(d(n,l),Lr(t,!0)),kr(t.props)?(t.el.__isMounted=!1,K(()=>{f(),delete t.el.__isMounted},a)):f()}else{if(kr(t.props)&&e.el.__isMounted===!1){K(()=>{Nr.process(e,t,n,r,i,a,o,s,c,l)},a);return}t.el=e.el,t.targetStart=e.targetStart;let u=t.anchor=e.anchor,p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Or(e.props),v=g?n:p,y=g?u:h;if(o===`svg`||Ar(p)?o=`svg`:(o===`mathml`||jr(p))&&(o=`mathml`),b?(f(e.dynamicChildren,b,v,i,a,o,s),Ho(e,t,!0)):c||d(e,t,v,y,i,a,o,s,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pr(t,n,u,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=Mr(t.props,m);e&&Pr(t,e,null,l,0)}else g&&Pr(t,p,h,l,1);Lr(t,_)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e;if(d&&(i(l),i(u)),a&&i(c),o&16){let e=a||!Or(f);for(let i=0;i{e.isMounted=!0}),Ui(()=>{e.isUnmounting=!0}),e}var Hr=[Function,Array],Ur={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Hr,onEnter:Hr,onAfterEnter:Hr,onEnterCancelled:Hr,onBeforeLeave:Hr,onLeave:Hr,onAfterLeave:Hr,onLeaveCancelled:Hr,onBeforeAppear:Hr,onAppear:Hr,onAfterAppear:Hr,onAppearCancelled:Hr},Wr=e=>{let t=e.subTree;return t.component?Wr(t.component):t},Gr={name:`BaseTransition`,props:Ur,setup(e,{slots:t}){let n=$(),r=Vr();return()=>{let i=t.default&&$r(t.default(),!0);if(!i||!i.length)return;let a=Kr(i),o=V(e),{mode:s}=o;if(r.isLeaving)return Xr(a);let c=Zr(a);if(!c)return Xr(a);let l=Yr(c,o,r,n,e=>l=e);c.type!==J&&Qr(c,l);let u=n.subTree&&Zr(n.subTree);if(u&&u.type!==J&&!gs(u,c)&&Wr(n).type!==J){let e=Yr(u,o,r,n);if(Qr(u,e),s===`out-in`&&c.type!==J)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Xr(a);s===`in-out`&&c.type!==J?e.delayLeave=(e,t,n)=>{let i=Jr(r,u);i[String(u.key)]=u,e[zr]=()=>{t(),e[zr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Kr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==J){t=n;break}}return t}var qr=Gr;function Jr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Yr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Jr(n,e),S=(e,t)=>{e&&Zn(e,r,9,t)},C=(e,t)=>{let n=t[1];S(e,t),O(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[zr]&&t[zr](!0);let i=x[b];i&&gs(e,i)&&i.el[zr]&&i.el[zr](),S(r,[t])},enter(e){let t=l,r=u,i=d;if(!n.isMounted)if(a)t=_||l,r=v||u,i=y||d;else return;let o=!1,s=e[Br]=t=>{o||(o=!0,S(t?i:r,[e]),w.delayedLeave&&w.delayedLeave(),e[Br]=void 0)};t?C(t,[e,s]):s()},leave(t,r){let i=String(e.key);if(t[Br]&&t[Br](!0),n.isUnmounting)return r();S(f,[t]);let a=!1,o=t[zr]=n=>{a||(a=!0,r(),S(n?h:m,[t]),t[zr]=void 0,x[i]===e&&delete x[i])};x[i]=e,p?C(p,[t,o]):o()},clone(e){let a=Yr(e,t,n,r,i);return i&&i(a),a}};return w}function Xr(e){if(Oi(e))return e=Cs(e),e.children=null,e}function Zr(e){if(!Oi(e))return Dr(e.type)&&e.children?Kr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&A(n.default))return n.default()}}function Qr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Qr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function $r(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eT({name:e.name},t,{setup:e}))():e}function ti(){let e=$();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+ e.ids[1]++:``}function ni(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function ri(e){let t=$(),n=vn(null);if(t){let r=t.refs===b?t.refs={}:t.refs;Object.defineProperty(r,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}var ii=new WeakMap;function ai(e,t,n,r,i=!1){if(O(e)){e.forEach((e,a)=>ai(e,t&&(O(t)?t[a]:t),n,r,i));return}if(Ti(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&ai(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Xs(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===b?s.refs={}:s.refs,d=s.setupState,f=V(d),p=d===b?C:e=>D(f,e),m=e=>!0;if(l!=null&&l!==c){if(oi(t),j(l))u[l]=null,p(l)&&(d[l]=null);else if(H(l)){m(l)&&(l.value=null);let e=t;e.k&&(u[e.k]=null)}}if(A(c))Xn(c,s,12,[o,u]);else{let t=j(c),r=H(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)O(n)&&E(n,a);else if(O(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r&&(m(c)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),ii.delete(e)};t.id=-1,ii.set(e,t),K(t,n)}else oi(e),s()}}}function oi(e){let t=ii.get(e);t&&(t.flags|=8,ii.delete(e))}var si=!1,ci=()=>{si||=(console.error(`Hydration completed but contains mismatches.`),!0)},li=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,ui=e=>e.namespaceURI.includes(`MathML`),di=e=>{if(e.nodeType===1){if(li(e))return`svg`;if(ui(e))return`mathml`}},fi=e=>e.nodeType===8;function pi(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:o,remove:s,insert:c,createComment:l}}=e,u=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),fr(),t._vnode=e;return}d(t.firstChild,e,null,null,null),fr(),t._vnode=e},d=(n,r,s,l,u,y=!1)=>{y||=!!r.dynamicChildren;let b=fi(n)&&n.data===`[`,x=()=>h(n,r,s,l,u,b),{type:S,ref:C,shapeFlag:w,patchFlag:ee}=r,T=n.nodeType;r.el=n,ee===-2&&(y=!1,r.dynamicChildren=null);let E=null;switch(S){case as:T===3?(n.data!==r.children&&(ci(),n.data=r.children),E=a(n)):r.children===``?(c(r.el=i(``),o(n),n),E=n):E=x();break;case J:v(n)?(E=a(n),_(r.el=n.content.firstChild,n,s)):E=T!==8||b?x():a(n);break;case os:if(b&&(n=a(n),T=n.nodeType),T===1||T===3){E=n;let e=!r.children.length;for(let t=0;t{o||=!!t.dynamicChildren;let{type:c,props:l,patchFlag:u,shapeFlag:d,dirs:f,transition:m}=t,h=c===`input`||c===`option`;if(h||u!==-1){f&&Tr(t,null,n,`created`);let c=!1;if(v(e)){c=Vo(null,m)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(c){let e=r.getAttribute(`class`);e&&(r.$cls=e),m.beforeEnter(r)}_(r,e,n),t.el=e=r}if(d&16&&!(l&&(l.innerHTML||l.textContent))){let r=p(e.firstChild,t,e,n,i,a,o);for(;r;){gi(e,1)||ci();let t=r;r=r.nextSibling,s(t)}}else if(d&8){let n=t.children;n[0]===` +`&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,` +`)&&(gi(e,0)||ci(),e.textContent=t.children)}if(l){if(h||!o||u&48){let t=e.tagName.includes(`-`);for(let i in l)(h&&(i.endsWith(`value`)||i===`indeterminate`)||w(i)&&!de(i)||i[0]===`.`||t)&&r(e,i,null,l[i],void 0,n)}else if(l.onClick)r(e,`onClick`,null,l.onClick,void 0,n);else if(u&4&&dn(l.style))for(let e in l.style)l.style[e]}let g;(g=l&&l.onVnodeBeforeMount)&&As(g,n,t),f&&Tr(t,null,n,`beforeMount`),((g=l&&l.onVnodeMounted)||f||c)&&ns(()=>{g&&As(g,n,t),c&&m.enter(e),f&&Tr(t,null,n,`mounted`)},i)}return e.nextSibling},p=(e,t,r,o,s,l,u)=>{u||=!!t.dynamicChildren;let f=t.children,p=f.length;for(let t=0;t{let{slotScopeIds:u}=t;u&&(i=i?i.concat(u):u);let d=o(e),f=p(a(e),t,d,n,r,i,s);return f&&fi(f)&&f.data===`]`?a(t.anchor=f):(ci(),c(t.anchor=l(`]`),d,f),f)},h=(e,t,r,i,c,l)=>{if(gi(e.parentElement,1)||ci(),t.el=null,l){let t=g(e);for(;;){let n=a(e);if(n&&n!==t)s(n);else break}}let u=a(e),d=o(e);return s(e),n(null,t,d,u,r,i,di(d),c),r&&(r.vnode.el=t.el,_o(r,t.el)),u},g=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&fi(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},_=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},v=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[u,d]}var mi=`data-allow-mismatch`,hi={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function gi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(mi);)e=e.parentElement;let n=e&&e.getAttribute(mi);if(n==null)return!1;if(n===``)return!0;{let e=n.split(`,`);return t===0&&e.includes(`children`)?!0:e.includes(hi[t])}}var _i=Se().requestIdleCallback||(e=>setTimeout(e,1)),vi=Se().cancelIdleCallback||(e=>clearTimeout(e)),yi=(e=1e4)=>t=>{let n=_i(t,{timeout:e});return()=>vi(n)};function bi(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&i(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(bi(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},Si=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},Ci=(e=[])=>(t,n)=>{j(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function wi(e,t){if(fi(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(fi(r))if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++;r=r.nextSibling}}else t(e)}var Ti=e=>!!e.type.__asyncLoader;function Ei(e){A(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return ei({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=!1;(t.bu||=[]).push(()=>r=!0);let i=()=>{r||n()},o=a?()=>{let n=a(i,t=>wi(e,t));n&&(t.bum||=[]).push(n)}:i;u?o():p().then(()=>!t.isUnmounted&&o())},get __asyncResolved(){return u},setup(){let e=Q;if(ni(e),u)return()=>Di(u,e);let t=t=>{l=null,Qn(t,e,13,!r)};if(s&&e.suspense||zs)return p().then(t=>()=>Di(t,e)).catch(e=>(t(e),()=>r?X(r,{error:e}):null));let a=_n(!1),c=_n(),d=_n(!!i);return i&&setTimeout(()=>{d.value=!1},i),o!=null&&setTimeout(()=>{if(!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o),p().then(()=>{a.value=!0,e.parent&&Oi(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),c.value=e}),()=>{if(a.value&&u)return Di(u,e);if(c.value&&r)return X(r,{error:c.value});if(n&&!d.value)return Di(n,e)}}})}function Di(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=X(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Oi=e=>e.type.__isKeepAlive,ki={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=$(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),K(()=>{a.isDeactivated=!1,a.a&&_e(a.a);let t=e.props&&e.props.onVnodeMounted;t&&As(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Go(t.m),Go(t.a),l(e,f,null,1,s),K(()=>{t.da&&_e(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&As(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Fi(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=Zs(t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!gs(t,o))?p(t):o&&Fi(o),i.delete(e),a.delete(e)}eo(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Ai(e,t)),t&&m(e=>!Ai(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Ko(n.subTree.type)?K(()=>{i.set(g,Ii(n.subTree))},n.subTree.suspense):i.set(g,Ii(n.subTree)))};return Bi(_),Hi(_),Ui(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Ii(t);if(e.type===i.type&&e.key===i.key){Fi(i);let e=i.component.da;e&&K(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!hs(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Ii(r);if(s.type===J)return o=null,s;let c=s.type,l=Zs(Ti(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Ai(u,l))||d&&l&&Ai(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Cs(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&Qr(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Ko(r.type)?r:s}}};function Ai(e,t){return O(e)?e.some(e=>Ai(e,t)):j(e)?e.split(`,`).includes(t):ie(e)?(e.lastIndex=0,e.test(t)):!1}function ji(e,t){Ni(e,`a`,t)}function Mi(e,t){Ni(e,`da`,t)}function Ni(e,t,n=Q){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Li(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Oi(e.parent.vnode)&&Pi(r,t,n,e),e=e.parent}}function Pi(e,t,n,r){let i=Li(t,e,r,!0);Wi(()=>{E(r[t],i)},n)}function Fi(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Ii(e){return e.shapeFlag&128?e.ssContent:e}function Li(e,t,n=Q,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{ut();let i=Is(n),a=Zn(t,n,e,r);return i(),dt(),a};return r?i.unshift(a):i.push(a),a}}var Ri=e=>(t,n=Q)=>{(!zs||e===`sp`)&&Li(e,(...e)=>t(...e),n)},zi=Ri(`bm`),Bi=Ri(`m`),Vi=Ri(`bu`),Hi=Ri(`u`),Ui=Ri(`bum`),Wi=Ri(`um`),Gi=Ri(`sp`),Ki=Ri(`rtg`),qi=Ri(`rtc`);function Ji(e,t=Q){Li(`ec`,e,t)}var Yi=`components`,Xi=`directives`;function Zi(e,t){return ta(Yi,e,!0,t)||e}var Qi=Symbol.for(`v-ndc`);function $i(e){return j(e)?ta(Yi,e,!1)||e:e||Qi}function ea(e){return ta(Xi,e)}function ta(e,t,n=!0,r=!1){let i=W||Q;if(i){let n=i.type;if(e===Yi){let e=Zs(n,!1);if(e&&(e===t||e===P(t)||e===he(P(t))))return n}let a=na(i[e]||n[e],t)||na(i.appContext[e],t);return!a&&r?n:a}}function na(e,t){return e&&(e[t]||e[P(t)]||e[he(P(t))])}function ra(e,t,n,r){let i,a=n&&n[r],o=O(e);if(o||j(e)){let n=o&&dn(e),r=!1,s=!1;n&&(r=!B(e),s=fn(e),e=wt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function aa(e,t,n={},r,i){if(W.ce||W.parent&&Ti(W.parent)&&W.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),cs(),ms(q,null,[X(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),cs();let o=a&&oa(a(n)),s=n.key||o&&o.key,c=ms(q,{key:(s&&!M(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function oa(e){return e.some(e=>hs(e)?!(e.type===J||e.type===q&&!oa(e.children)):!0)?e:null}function sa(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:ge(r)]=e[r];return n}var ca=e=>e?Rs(e)?Xs(e):ca(e.parent):null,la=T(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ca(e.parent),$root:e=>ca(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Na(e),$forceUpdate:e=>e.f||=()=>{cr(e.update)},$nextTick:e=>e.n||=or.bind(e.proxy),$watch:e=>no.bind(e)}),ua=(e,t)=>e!==b&&!e.__isScriptSetup&&D(e,t),da={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(ua(r,t))return o[t]=1,r[t];else if(i!==b&&D(i,t))return o[t]=2,i[t];else if(D(a,t))return o[t]=3,a[t];else if(n!==b&&D(n,t))return o[t]=4,n[t];else Oa&&(o[t]=0)}let l=la[t],u,d;if(l)return t===`$attrs`&&z(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==b&&D(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,D(d,t))return d[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return ua(i,t)?(i[t]=n,!0):r!==b&&D(r,t)?(r[t]=n,!0):D(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==b&&s[0]!==`$`&&D(e,s)||ua(t,s)||D(a,s)||D(r,s)||D(la,s)||D(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?D(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},fa=T({},da,{get(e,t){if(t!==Symbol.unscopables)return da.get(e,t,e)},has(e,t){return t[0]!==`_`&&!Ce(t)}});function pa(){return null}function ma(){return null}function ha(e){}function ga(e){}function _a(){return null}function va(){}function ya(e,t){return null}function ba(){return Sa(`useSlots`).slots}function xa(){return Sa(`useAttrs`).attrs}function Sa(e){let t=$();return t.setupContext||=Ys(t)}function Ca(e){return O(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function wa(e,t){let n=Ca(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?O(r)||A(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function Ta(e,t){return!e||!t?e||t:O(e)&&O(t)?e.concat(t):T({},Ca(e),Ca(t))}function Ea(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Da(e){let t=$(),n=e();return Ls(),ae(n)&&(n=n.catch(e=>{throw Is(t),e})),[n,()=>Is(t)]}var Oa=!0;function ka(e){let t=Na(e),n=e.proxy,r=e.ctx;Oa=!1,t.beforeCreate&&ja(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:v,destroyed:y,unmounted:b,render:x,renderTracked:C,renderTriggered:w,errorCaptured:ee,serverPrefetch:T,expose:E,inheritAttrs:te,components:D,directives:ne,filters:re}=t;if(l&&Aa(l,r,null),o)for(let e in o){let t=o[e];A(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);N(t)&&(e.data=on(t))}if(Oa=!0,a)for(let e in a){let t=a[e],i=$s({get:A(t)?t.bind(n,n):A(t.get)?t.get.bind(n,n):S,set:!A(t)&&A(t.set)?t.set.bind(n):S});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)Ma(s[e],r,n,e);if(c){let e=A(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{Ka(t,e[t])})}u&&ja(u,e,`c`);function k(e,t){O(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(zi,d),k(Bi,f),k(Vi,p),k(Hi,m),k(ji,h),k(Mi,g),k(Ji,ee),k(qi,C),k(Ki,w),k(Ui,v),k(Wi,b),k(Gi,T),O(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};x&&e.render===S&&(e.render=x),te!=null&&(e.inheritAttrs=te),D&&(e.components=D),ne&&(e.directives=ne),T&&ni(e)}function Aa(e,t,n=S){for(let n in O(e)&&(e=Ra(e)),e){let r=e[n],i;i=N(r)?`default`in r?qa(r.from||n,r.default,!0):qa(r.from||n):qa(r),H(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function ja(e,t,n){Zn(O(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ma(e,t,n,r){let i=r.includes(`.`)?ro(n,r):()=>n[r];if(j(e)){let n=t[e];A(n)&&eo(i,n)}else if(A(e))eo(i,e.bind(n));else if(N(e))if(O(e))e.forEach(e=>Ma(e,t,n,r));else{let r=A(e.handler)?e.handler.bind(n):t[e.handler];A(r)&&eo(i,r,e)}}function Na(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Pa(c,e,o,!0)),Pa(c,t,o)),N(t)&&a.set(t,c),c}function Pa(e,t,n,r=!1){let{mixins:i,extends:a}=t;for(let o in a&&Pa(e,a,n,!0),i&&i.forEach(t=>Pa(e,t,n,!0)),t)if(!(r&&o===`expose`)){let r=Fa[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}var Fa={data:Ia,props:Ba,emits:Ba,methods:za,computed:za,beforeCreate:G,created:G,beforeMount:G,mounted:G,beforeUpdate:G,updated:G,beforeDestroy:G,beforeUnmount:G,destroyed:G,unmounted:G,activated:G,deactivated:G,errorCaptured:G,serverPrefetch:G,components:za,directives:za,watch:Va,provide:Ia,inject:La};function Ia(e,t){return t?e?function(){return T(A(e)?e.call(this,this):e,A(t)?t.call(this,this):t)}:t:e}function La(e,t){return za(Ra(e),Ra(t))}function Ra(e){if(O(e)){let t={};for(let n=0;n1)return n&&A(t)?t.call(r&&r.proxy):t}}function Ja(){return!!($()||Ga)}var Ya=Symbol.for(`v-scx`),Xa=()=>qa(Ya);function Za(e,t){return to(e,null,t)}function Qa(e,t){return to(e,null,{flush:`post`})}function $a(e,t){return to(e,null,{flush:`sync`})}function eo(e,t,n){return to(e,t,n)}function to(e,t,n=b){let{immediate:r,deep:i,flush:a,once:o}=n,s=T({},n),c=t&&r||!t&&a!==`post`,l;if(zs){if(a===`sync`){let e=Xa();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=S,e.resume=S,e.pause=S,e}}let u=Q;s.call=(e,t,n)=>Zn(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{K(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():cr(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=Hn(e,t,s);return zs&&(l?l.push(f):c&&f()),f}function no(e,t,n){let r=this.proxy,i=j(e)?e.includes(`.`)?ro(r,e):()=>r[e]:e.bind(r,r),a;A(t)?a=t:(a=t.handler,n=t);let o=Is(this),s=to(i,a.bind(r),n);return o(),s}function ro(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e{let c,l=b,u;return $a(()=>{let t=e[i];I(c,t)&&(c=t,s())}),{get(){return o(),n.get?n.get(c):c},set(e){let o=n.set?n.set(e):e;if(!I(o,c)&&!(l!==b&&I(e,l)))return;let d=r.vnode.props;d&&(t in d||i in d||a in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${a}`in d)||(c=e,s()),r.emit(`update:${t}`,o),I(e,o)&&I(e,l)&&!I(o,u)&&s(),l=e,u=o}}});return s[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?o||b:s,done:!1}:{done:!0}}}},s}var ao=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${P(t)}Modifiers`]||e[`${F(t)}Modifiers`];function oo(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||b,i=n,a=t.startsWith(`update:`),o=a&&ao(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>j(e)?e.trim():e)),o.number&&(i=n.map(ye)));let s,c=r[s=ge(t)]||r[s=ge(P(t))];!c&&a&&(c=r[s=ge(F(t))]),c&&Zn(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Zn(l,e,6,i)}}var so=new WeakMap;function co(e,t,n=!1){let r=n?so:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!A(e)){let r=e=>{let n=co(e,t,!0);n&&(s=!0,T(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(N(e)&&r.set(e,null),null):(O(a)?a.forEach(e=>o[e]=null):T(o,a),N(e)&&r.set(e,o),o)}function lo(e,t){return!e||!w(t)?!1:(t=t.slice(2).replace(/Once$/,``),D(e,t[0].toLowerCase()+t.slice(1))||D(e,F(t))||D(e,t))}function uo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=yr(e),_,v;try{if(n.shapeFlag&4){let e=i||r,t=e;_=Z(l.call(t,e,u,d,p,f,m)),v=s}else{let e=t;_=Z(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),v=t.props?s:po(s)}}catch(t){ss.length=0,Qn(t,e,1),_=X(J)}let y=_;if(v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;e.length&&t&7&&(a&&e.some(ee)&&(v=mo(v,a)),y=Cs(y,v,!1,!0))}return n.dirs&&(y=Cs(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Qr(y,n.transition),_=y,yr(g),_}function fo(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||w(n))&&((t||={})[n]=e[n]);return t},mo=(e,t)=>{let n={};for(let r in e)(!ee(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function ho(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?go(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(vo),bo=e=>Object.getPrototypeOf(e)===vo;function xo(e,t,n,r=!1){let i={},a=yo();for(let n in e.propsDefaults=Object.create(null),Co(e,t,i,a),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=r?i:sn(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function So(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=V(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=Eo(e,t,!0);T(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return N(e)&&r.set(e,x),x;if(O(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ko=e=>O(e)?e.map(Z):[Z(e)],Ao=(e,t,n)=>{if(t._n)return t;let r=Cr((...e)=>ko(t(...e)),n);return r._c=!1,r},jo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Oo(n))continue;let i=e[n];if(A(i))t[n]=Ao(n,i,r);else if(i!=null){let e=ko(i);t[n]=()=>e}}},Mo=(e,t)=>{let n=ko(t);e.slots.default=()=>n},No=(e,t,n)=>{for(let r in t)(n||!Oo(r))&&(e[r]=t[r])},Po=(e,t,n)=>{let r=e.slots=yo();if(e.vnode.shapeFlag&32){let e=t._;e?(No(r,t,n),n&&ve(r,`_`,e,!0)):jo(t,r)}else t&&Mo(e,t)},Fo=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=b;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:No(i,t,n):(a=!t.$stable,jo(t,i)),o=t}else t&&(Mo(e,t),o={default:1});if(a)for(let e in i)!Oo(e)&&o[e]==null&&delete i[e]},K=ns;function Io(e){return Ro(e)}function Lo(e){return Ro(e,pi)}function Ro(e,t){let n=Se();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=S,insertStaticContent:m}=e,h=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!gs(e,t)&&(r=pe(e),se(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case as:g(e,t,n,r);break;case J:_(e,t,n,r);break;case os:e??v(t,n,r,o);break;case q:ne(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?re(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,F)}u!=null&&i?ai(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&ai(e.ref,null,a,e,!0)},g=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},_=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},v=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},y=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=f(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),te(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&E(e.children,f,null,i,s,zo(e,c),l,d),_&&Tr(e,null,i,`created`),T(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!de(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&As(p,i,e)}_&&Tr(e,null,i,`beforeMount`);let v=Vo(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&K(()=>{p&&As(p,i,e),v&&g.enter(f),_&&Tr(e,null,i,`mounted`)},s)},T=(e,t,n,r,i)=>{if(n&&p(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let p=e.props||b,m=t.props||b,h;if(n&&Bo(n,!1),(h=m.onVnodeBeforeUpdate)&&As(h,n,t,e),f&&Tr(t,e,n,`beforeUpdate`),n&&Bo(n,!0),(p.innerHTML&&m.innerHTML==null||p.textContent&&m.textContent==null)&&u(c,``),d?D(e.dynamicChildren,d,c,n,r,zo(t,i),o):s||M(e,t,c,null,n,r,zo(t,i),o,!1),l>0){if(l&16)O(c,p,m,n,i);else if(l&2&&p.class!==m.class&&a(c,`class`,null,m.class,i),l&4&&a(c,`style`,p.style,m.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{h&&As(h,n,t,e),f&&Tr(t,e,n,`updated`)},r)},D=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==b)for(let o in t)!de(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(de(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},ne=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),E(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren?(D(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Ho(e,t,!0)):M(e,t,n,f,a,o,c,l,u)},re=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):ie(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=Ns(e,r,i);if(Oi(e)&&(s.ctx.renderer=F),Bs(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,A,o),!e.el){let r=s.subTree=X(J);_(null,r,t,n),e.placeholder=r.el}}else A(s,e,t,n,i,a,o)},ie=(e,t,n)=>{let r=t.component=e.component;if(ho(e,t,n))if(r.asyncDep&&!r.asyncResolved){j(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},A=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:c,vnode:l}=e;{let n=Wo(e);if(n){t&&(t.el=l.el,j(e,t,o)),n.asyncDep.then(()=>{e.isUnmounted||s()});return}}let u=t,f;Bo(e,!1),t?(t.el=l.el,j(e,t,o)):t=l,n&&_e(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&As(f,c,t,l),Bo(e,!0);let p=uo(e),m=e.subTree;e.subTree=p,h(m,p,d(m.el),pe(m),e,i,a),t.el=p.el,u===null&&_o(e,p.el),r&&K(r,i),(f=t.props&&t.props.onVnodeUpdated)&&K(()=>As(f,c,t,l),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Ti(t);if(Bo(e,!1),l&&_e(l),!m&&(o=c&&c.onVnodeBeforeMount)&&As(o,d,t),Bo(e,!0),s&&ge){let t=()=>{e.subTree=uo(e),ge(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._def.shadowRoot!==!1&&f.ce._injectChildStyle(p);let o=e.subTree=uo(e);h(null,o,n,r,e,i,a),t.el=o.el}if(u&&K(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;K(()=>As(o,d,e),i)}(t.shapeFlag&256||d&&Ti(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&K(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new qe(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>cr(u),Bo(e,!0),l()},j=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,So(e,t.props,r,n),Fo(e,t.children,n),ut(),dr(e),dt()},M=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){ae(l,f,n,r,i,a,o,s,c);return}else if(p&256){N(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&fe(l,i,a),f!==l&&u(n,f)):d&16?m&16?ae(l,f,n,r,i,a,o,s,c):fe(l,i,a,!0):(d&8&&u(n,``),m&16&&E(f,n,r,i,a,o,s,c))},N=(e,t,n,r,i,a,o,s,c)=>{e||=x,t||=x;let l=e.length,u=t.length,d=Math.min(l,u),f;for(f=0;fu?fe(e,i,a,!0,!1,d):E(t,n,r,i,a,o,s,c,d)},ae=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,f=u-1;for(;l<=d&&l<=f;){let r=e[l],u=t[l]=c?Ds(t[l]):Z(t[l]);if(gs(r,u))h(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=f;){let r=e[d],l=t[f]=c?Ds(t[f]):Z(t[f]);if(gs(r,l))h(r,l,n,null,i,a,o,s,c);else break;d--,f--}if(l>d){if(l<=f){let e=f+1,d=ef)for(;l<=d;)se(e[l],i,a,!0),l++;else{let p=l,m=l,g=new Map;for(l=m;l<=f;l++){let e=t[l]=c?Ds(t[l]):Z(t[l]);e.key!=null&&g.set(e.key,l)}let _,v=0,y=f-m+1,b=!1,S=0,C=Array(y);for(l=0;l=y){se(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=m;_<=f;_++)if(C[_-m]===0&&gs(r,t[_])){u=_;break}u===void 0?se(r,i,a,!0):(C[u-m]=l+1,u>=S?S=u:b=!0,h(r,t[u],n,null,i,a,o,s,c),v++)}let w=b?Uo(C):x;for(_=w.length-1,l=y-1;l>=0;l--){let e=m+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){oe(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,F);return}if(c===q){r(s,t,n);for(let e=0;el.enter(s),o);else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{s._isLeaving&&s[zr](!0),a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},se=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p}=e;if(d===-2&&(i=!1),s!=null&&(ut(),ai(s,null,n,e,!0),dt()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let m=u&1&&f,h=!Ti(e),g;if(h&&(g=o&&o.onVnodeBeforeUnmount)&&As(g,t,e),u&6)ue(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}m&&Tr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,F,r):l&&!l.hasOnce&&(a!==q||d>0&&d&64)?fe(l,t,n,!1,!0):(a===q&&d&384||!i&&u&16)&&fe(c,t,n),r&&ce(e)}(h&&(g=o&&o.onVnodeUnmounted)||m)&&K(()=>{g&&As(g,t,e),m&&Tr(e,null,t,`unmounted`)},n)},ce=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===q){le(n,r);return}if(t===os){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},le=(e,t)=>{let n;for(;e!==t;)n=f(e),i(e),e=n;i(t)},ue=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Go(c),Go(l),r&&_e(r),i.stop(),a&&(a.flags|=8,se(o,e,t,n)),s&&K(s,t),K(()=>{e.isUnmounted=!0},t)},fe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return pe(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=f(e.anchor||e.el),n=t&&t[Er];return n?f(n):t},P=!1,me=(e,t,n)=>{e==null?t._vnode&&se(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),t._vnode=e,P||=(P=!0,dr(),fr(),!1)},F={p:h,um:se,m:oe,r:ce,mt:k,mc:E,pc:M,pbc:D,n:pe,o:e},he,ge;return t&&([he,ge]=t(F)),{render:me,hydrate:he,createApp:Wa(me,he)}}function zo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Bo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Vo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ho(e,t,n=!1){let r=e.children,i=t.children;if(O(r)&&O(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Wo(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Wo(t)}function Go(e){if(e)for(let t=0;te.__isSuspense,qo=0,Jo={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)Xo(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Zo(e,t,n,r,i,o,s,c,l)}},hydrate:$o,normalize:es};function Yo(e,t){let n=e.props&&e.props[t];A(n)&&n()}function Xo(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=Qo(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(Yo(e,`onPending`),Yo(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),rs(f,e.ssFallback)):f.resolve(!1,!0)}function Zo(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,gs(h,f)?(c(h,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():g&&(_||(c(m,p,n,r,i,null,a,o,s),rs(d,p)))):(d.pendingId=qo++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():(c(m,p,n,r,i,null,a,o,s),rs(d,p))):m&&gs(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&gs(m,f))c(m,f,n,r,i,d,a,o,s),rs(d,f);else if(Yo(t,`onPending`),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=qo++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function Qo(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=is(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?be(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:qo++,timeout:typeof y==`number`?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;x.isHydrating?x.isHydrating=!1:e||(g=i&&o.transition&&o.transition.mode===`out-in`,g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b?m(i):a,0),ur(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&(h(i.el)===u&&(a=m(i)),p(i,l,x,!0),!g&&d&&r.ssFallback&&K(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)),rs(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){y.effects.push(...c),S=!0;break}y=y.parent}!S&&!g&&ur(c),x.effects=[],v&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,t.deps===0&&!n&&t.resolve()),Yo(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;Yo(t,`onFallback`);let o=m(n),l=()=>{x.isInFallback&&(d(null,e,i,o,r,null,a,s,c),rs(x,e))},u=e.transition&&e.transition.mode===`out-in`;u&&(n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{Qn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;e.asyncResolved=!0;let{vnode:s}=e;Hs(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),_o(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function $o(e,t,n,r,i,a,o,s,c){let l=t.suspense=Qo(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function es(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=ts(r?n.default:n),e.ssFallback=r?ts(n.fallback):X(J)}function ts(e){let t;if(A(e)){let n=us&&e._c;n&&(e._d=!1,cs()),e=e(),n&&(e._d=!0,t=Y,ls())}return O(e)&&(e=fo(e)),e=Z(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function ns(e,t){t&&t.pendingBranch?O(e)?t.effects.push(...e):t.effects.push(e):ur(e)}function rs(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,_o(r,i))}function is(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var q=Symbol.for(`v-fgt`),as=Symbol.for(`v-txt`),J=Symbol.for(`v-cmt`),os=Symbol.for(`v-stc`),ss=[],Y=null;function cs(e=!1){ss.push(Y=e?null:[])}function ls(){ss.pop(),Y=ss[ss.length-1]||null}var us=1;function ds(e,t=!1){us+=e,e<0&&Y&&t&&(Y.hasOnce=!0)}function fs(e){return e.dynamicChildren=us>0?Y||x:null,ls(),us>0&&Y&&Y.push(e),e}function ps(e,t,n,r,i,a){return fs(bs(e,t,n,r,i,a,!0))}function ms(e,t,n,r,i){return fs(X(e,t,n,r,i,!0))}function hs(e){return e?e.__v_isVNode===!0:!1}function gs(e,t){return e.type===t.type&&e.key===t.key}function _s(e){}var vs=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:j(e)||H(e)||A(e)?{i:W,r:e,k:t,f:!!n}:e);function bs(e,t=null,n=null,r=0,i=null,a=e===q?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vs(t),ref:t&&ys(t),scopeId:vr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:W};return s?(Os(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=j(n)?8:16),us>0&&!o&&Y&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Y.push(c),c}var X=xs;function xs(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Qi)&&(e=J),hs(e)){let r=Cs(e,t,!0);return n&&Os(r,n),us>0&&!a&&Y&&(r.shapeFlag&6?Y[Y.indexOf(e)]=r:Y.push(r)),r.patchFlag=-2,r}if(Qs(e)&&(e=e.__vccOpts),t){t=Ss(t);let{class:e,style:n}=t;e&&!j(e)&&(t.class=ke(e)),N(n)&&(pn(n)&&!O(n)&&(n=T({},n)),t.style=we(n))}let o=j(e)?1:Ko(e)?128:Dr(e)?64:N(e)?4:A(e)?2:0;return bs(e,t,n,r,i,o,a,!0)}function Ss(e){return e?pn(e)||bo(e)?T({},e):e:null}function Cs(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?ks(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&vs(l),ref:t&&t.ref?n&&a?O(a)?a.concat(ys(t)):[a,ys(t)]:ys(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==q?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Cs(e.ssContent),ssFallback:e.ssFallback&&Cs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Qr(u,c.clone(u)),u}function ws(e=` `,t=0){return X(as,null,e,t)}function Ts(e,t){let n=X(os,null,e);return n.staticCount=t,n}function Es(e=``,t=!1){return t?(cs(),ms(J,null,e)):X(J,null,e)}function Z(e){return e==null||typeof e==`boolean`?X(J):O(e)?X(q,null,e.slice()):hs(e)?Ds(e):X(as,null,String(e))}function Ds(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Cs(e)}function Os(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(O(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Os(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!bo(t)?t._ctx=W:r===3&&W&&(W.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else A(t)?(t={default:t,_ctx:W},n=32):(t=String(t),r&64?(n=16,t=[ws(t)]):n=8);e.children=t,e.shapeFlag|=n}function ks(...e){let t={};for(let n=0;nQ||W,Ps,Fs;{let e=Se(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Ps=t(`__VUE_INSTANCE_SETTERS__`,e=>Q=e),Fs=t(`__VUE_SSR_SETTERS__`,e=>zs=e)}var Is=e=>{let t=Q;return Ps(e),e.scope.on(),()=>{e.scope.off(),Ps(t)}},Ls=()=>{Q&&Q.scope.off(),Ps(null)};function Rs(e){return e.vnode.shapeFlag&4}var zs=!1;function Bs(e,t=!1,n=!1){t&&Fs(t);let{props:r,children:i}=e.vnode,a=Rs(e);xo(e,r,a,t),Po(e,i,n||t);let o=a?Vs(e,t):void 0;return t&&Fs(!1),o}function Vs(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,da);let{setup:r}=n;if(r){ut();let n=e.setupContext=r.length>1?Ys(e):null,i=Is(e),a=Xn(r,e,0,[e.props,n]),o=ae(a);if(dt(),i(),(o||e.sp)&&!Ti(e)&&ni(e),o){if(a.then(Ls,Ls),t)return a.then(n=>{Hs(e,n,t)}).catch(t=>{Qn(t,e,0)});e.asyncDep=a}else Hs(e,a,t)}else qs(e,t)}function Hs(e,t,n){A(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:N(t)&&(e.setupState=Tn(t)),qs(e,n)}var Us,Ws;function Gs(e){Us=e,Ws=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,fa))}}var Ks=()=>!Us;function qs(e,t,n){let r=e.type;if(!e.render){if(!t&&Us&&!r.render){let t=r.template||Na(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=T(T({isCustomElement:n,delimiters:a},i),o);r.render=Us(t,s)}}e.render=r.render||S,Ws&&Ws(e)}{let t=Is(e);ut();try{ka(e)}finally{dt(),t()}}}var Js={get(e,t){return z(e,`get`,``),e[t]}};function Ys(e){return{attrs:new Proxy(e.attrs,Js),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Xs(e){return e.exposed?e.exposeProxy||=new Proxy(Tn(mn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in la)return la[n](e)},has(e,t){return t in e||t in la}}):e.proxy}function Zs(e,t=!0){return A(e)?e.displayName||e.name:e.name||t&&e.__name}function Qs(e){return A(e)&&`__vccOpts`in e}var $s=(e,t)=>Pn(e,t,zs);function ec(e,t,n){try{ds(-1);let r=arguments.length;return r===2?N(t)&&!O(t)?hs(t)?X(e,null,[t]):X(e,t):X(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&hs(n)&&(n=[n]),X(e,t,n))}finally{ds(1)}}function tc(){return;function e(t,n,r){let i=t[r];if(O(i)&&i.includes(n)||N(i)&&n in i||t.extends&&e(t.extends,n,r)||t.mixins&&t.mixins.some(t=>e(t,n,r)))return!0}}function nc(e,t,n,r){let i=n[r];if(i&&rc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function rc(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&Y&&Y.push(e),!0}var ic=`3.5.25`,ac=S,oc=Yn,sc=hr,cc=_r,lc={createComponentInstance:Ns,setupComponent:Bs,renderComponentRoot:uo,setCurrentRenderingInstance:yr,isVNode:hs,normalizeVNode:Z,getComponentPublicInstance:Xs,ensureValidVNode:oa,pushWarningContext:Gn,popWarningContext:Kn},uc=void 0,dc=typeof window<`u`&&window.trustedTypes;if(dc)try{uc=dc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var fc=uc?e=>uc.createHTML(e):e=>e,pc=`http://www.w3.org/2000/svg`,mc=`http://www.w3.org/1998/Math/MathML`,hc=typeof document<`u`?document:null,gc=hc&&hc.createElement(`template`),_c={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?hc.createElementNS(pc,e):t===`mathml`?hc.createElementNS(mc,e):n?hc.createElement(e,{is:n}):hc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>hc.createTextNode(e),createComment:e=>hc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>hc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{gc.innerHTML=fc(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=gc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vc=`transition`,yc=`animation`,bc=Symbol(`_vtc`),xc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Sc=T({},Ur,xc),Cc=(e=>(e.displayName=`Transition`,e.props=Sc,e))((e,{slots:t})=>ec(qr,Ec(e),t)),wc=(e,t=[])=>{O(e)?e.forEach(e=>e(...t)):e&&e(...t)},Tc=e=>e?O(e)?e.some(e=>e.length>1):e.length>1:!1;function Ec(e){let t={};for(let n in e)n in xc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=Dc(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:S=_,onAppear:C=v,onAppearCancelled:w=y}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Ac(e,t?u:s),Ac(e,t?l:o),n&&n()},E=(e,t)=>{e._isLeaving=!1,Ac(e,d),Ac(e,p),Ac(e,f),t&&t()},te=e=>(t,n)=>{let i=e?C:v,o=()=>ee(t,e,n);wc(i,[t,o]),jc(()=>{Ac(t,e?c:a),kc(t,e?u:s),Tc(i)||Nc(t,r,h,o)})};return T(t,{onBeforeEnter(e){wc(_,[e]),kc(e,a),kc(e,o)},onBeforeAppear(e){wc(S,[e]),kc(e,c),kc(e,l)},onEnter:te(!1),onAppear:te(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>E(e,t);kc(e,d),e._enterCancelled?(kc(e,f),Lc(e)):(Lc(e),kc(e,f)),jc(()=>{e._isLeaving&&(Ac(e,d),kc(e,p),Tc(b)||Nc(e,r,g,n))}),wc(b,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),wc(y,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),wc(w,[e])},onLeaveCancelled(e){E(e),wc(x,[e])}})}function Dc(e){if(e==null)return null;if(N(e))return[Oc(e.enter),Oc(e.leave)];{let t=Oc(e);return[t,t]}}function Oc(e){return be(e)}function kc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[bc]||(e[bc]=new Set)).add(t)}function Ac(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[bc];n&&(n.delete(t),n.size||(e[bc]=void 0))}function jc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Mc=0;function Nc(e,t,n,r){let i=e._endId=++Mc,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Pc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${vc}Delay`),a=r(`${vc}Duration`),o=Fc(i,a),s=r(`${yc}Delay`),c=r(`${yc}Duration`),l=Fc(s,c),u=null,d=0,f=0;t===vc?o>0&&(u=vc,d=o,f=a.length):t===yc?l>0&&(u=yc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?vc:yc:null,f=u?u===vc?a.length:c.length:0);let p=u===vc&&/\b(?:transform|all)(?:,|$)/.test(r(`${vc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Fc(e,t){for(;e.lengthIc(t)+Ic(e[n])))}function Ic(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Lc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Rc(e,t,n){let r=e[bc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var zc=Symbol(`_vod`),Bc=Symbol(`_vsh`),Vc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[zc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Hc(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Hc(e,!0),r.enter(e)):r.leave(e,()=>{Hc(e,!1)}):Hc(e,t))},beforeUnmount(e,{value:t}){Hc(e,t)}};function Hc(e,t){e.style.display=t?e[zc]:`none`,e[Bc]=!t}function Uc(){Vc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Wc=Symbol(``);function Gc(e){let t=$();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>qc(e,n))},r=()=>{let r=e(t.proxy);t.ce?qc(t.ce,r):Kc(t.subTree,r),n(r)};Vi(()=>{ur(r)}),Bi(()=>{eo(r,S,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),Wi(()=>e.disconnect())})}function Kc(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Kc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)qc(e.el,t);else if(e.type===q)e.children.forEach(e=>Kc(e,t));else if(e.type===os){let{el:n,anchor:r}=e;for(;n&&(qc(n,t),n!==r);)n=n.nextSibling}}function qc(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Ve(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Wc]=r}}var Jc=/(?:^|;)\s*display\s*:/;function Yc(e,t,n){let r=e.style,i=j(n),a=!1;if(n&&!i){if(t)if(j(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Zc(r,t,``)}else for(let e in t)n[e]??Zc(r,e,``);for(let e in n)e===`display`&&(a=!0),Zc(r,e,n[e])}else if(i){if(t!==n){let e=r[Wc];e&&(n+=`;`+e),r.cssText=n,a=Jc.test(n)}}else t&&e.removeAttribute(`style`);zc in e&&(e[zc]=a?r.display:``,e[Bc]&&(r.display=`none`))}var Xc=/\s*!important$/;function Zc(e,t,n){if(O(n))n.forEach(n=>Zc(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=el(e,t);Xc.test(n)?e.setProperty(F(r),n.replace(Xc,``),`important`):e[r]=n}}var Qc=[`Webkit`,`Moz`,`ms`],$c={};function el(e,t){let n=$c[t];if(n)return n;let r=P(t);if(r!==`filter`&&r in e)return $c[t]=r;r=he(r);for(let n=0;nul||=(dl.then(()=>ul=0),Date.now());function pl(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;Zn(ml(e,n.value),t,5,[e])};return n.value=e,n.attached=fl(),n}function ml(e,t){if(O(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var hl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Rc(e,r,o):t===`style`?Yc(e,n,r):w(t)?ee(t)||sl(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):_l(e,t,r,o))?(rl(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&nl(e,t,r,o,a,t!==`value`)):e._isVueCE&&(/[A-Z]/.test(t)||!j(r))?rl(e,P(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),nl(e,t,r,o))};function _l(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&hl(t)&&A(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return hl(t)&&j(n)?!1:t in e}var vl={};function yl(e,t,n){let r=ei(e,t);le(r)&&(r=T({},r,t));class i extends Sl{constructor(e){super(r,e,n)}}return i.def=r,i}var bl=((e,t)=>yl(e,t,du)),xl=typeof HTMLElement<`u`?HTMLElement:class{},Sl=class e extends xl{constructor(e,t={},n=uu){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==uu?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(T({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,or(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!O(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=be(this._props[e])),(i||=Object.create(null))[P(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}):e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)D(this,e)||Object.defineProperty(this,e,{get:()=>Sn(t[e])})}_resolveProps(e){let{props:t}=e,n=O(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(P))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):vl,r=P(e);t&&this._numberProps&&this._numberProps[r]&&(n=be(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===vl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(F(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(F(e),t+``):t||this.removeAttribute(F(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),cu(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=X(this._def,T(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,le(t[0])?T({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),F(e)!==e&&t(F(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let n=this._nonce;for(let t=e.length-1;t>=0;t--){let r=document.createElement(`style`);n&&r.setAttribute(`nonce`,n),r.textContent=e[t],this.shadowRoot.prepend(r)}}_parseSlots(){let e=this._slots={},t;for(;t=this.firstChild;){let n=t.nodeType===1&&t.getAttribute(`slot`)||`default`;(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){let e=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:`TransitionGroup`,props:T({},Sc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=$(),r=Vr(),i,a;return Hi(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Pl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(jl),i.forEach(Ml);let r=i.filter(Nl);Lc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;kc(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Ol]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Ol]=null,Ac(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=V(e),s=Ec(o),c=o.tag||q;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Pc(r);return a.removeChild(r),o}var Fl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return O(t)?e=>_e(t,e):t};function Il(e){e.target.composing=!0}function Ll(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Rl=Symbol(`_assign`);function zl(e,t,n){return t&&(e=e.trim()),n&&(e=ye(e)),e}var Bl={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Rl]=Fl(i);let a=r||i.props&&i.props.type===`number`;il(e,t?`change`:`input`,t=>{t.target.composing||e[Rl](zl(e.value,n,a))}),(n||a)&&il(e,`change`,()=>{e.value=zl(e.value,n,a)}),t||(il(e,`compositionstart`,Il),il(e,`compositionend`,Ll),il(e,`change`,Ll))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Rl]=Fl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?ye(e.value):e.value,c=t??``;s!==c&&(document.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c))}},Vl={deep:!0,created(e,t,n){e[Rl]=Fl(n),il(e,`change`,()=>{let t=e._modelValue,n=Kl(e),r=e.checked,i=e[Rl];if(O(t)){let e=Ie(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(re(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(ql(e,r))})},mounted:Hl,beforeUpdate(e,t,n){e[Rl]=Fl(n),Hl(e,t,n)}};function Hl(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(O(t))i=Ie(t,r.props.value)>-1;else if(re(t))i=t.has(r.props.value);else{if(t===n)return;i=Fe(t,ql(e,!0))}e.checked!==i&&(e.checked=i)}var Ul={created(e,{value:t},n){e.checked=Fe(t,n.props.value),e[Rl]=Fl(n),il(e,`change`,()=>{e[Rl](Kl(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Rl]=Fl(r),t!==n&&(e.checked=Fe(t,r.props.value))}},Wl={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=re(t);il(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?ye(Kl(e)):Kl(e));e[Rl](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,or(()=>{e._assigning=!1})}),e[Rl]=Fl(r)},mounted(e,{value:t}){Gl(e,t)},beforeUpdate(e,t,n){e[Rl]=Fl(n)},updated(e,{value:t}){e._assigning||Gl(e,t)}};function Gl(e,t){let n=e.multiple,r=O(t);if(!(n&&!r&&!re(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=Ie(t,o)>-1}else a.selected=t.has(o);else if(Fe(Kl(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Kl(e){return`_value`in e?e._value:e.value}function ql(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Jl={created(e,t,n){Xl(e,t,n,null,`created`)},mounted(e,t,n){Xl(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){Xl(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){Xl(e,t,n,r,`updated`)}};function Yl(e,t){switch(e){case`SELECT`:return Wl;case`TEXTAREA`:return Bl;default:switch(t){case`checkbox`:return Vl;case`radio`:return Ul;default:return Bl}}}function Xl(e,t,n,r,i){let a=Yl(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function Zl(){Bl.getSSRProps=({value:e})=>({value:e}),Ul.getSSRProps=({value:e},t)=>{if(t.props&&Fe(t.props.value,e))return{checked:!0}},Vl.getSSRProps=({value:e},t)=>{if(O(e)){if(t.props&&Ie(e,t.props.value)>-1)return{checked:!0}}else if(re(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Jl.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=Yl(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var Ql=[`ctrl`,`shift`,`alt`,`meta`],$l={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Ql.some(n=>e[`${n}Key`]&&!t.includes(n))},eu=(e,t)=>{let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=F(n.key);if(t.some(e=>e===r||tu[e]===r))return e(n)}))},ru=T({patchProp:gl},_c),iu,au=!1;function ou(){return iu||=Io(ru)}function su(){return iu=au?iu:Lo(ru),au=!0,iu}var cu=((...e)=>{ou().render(...e)}),lu=((...e)=>{su().hydrate(...e)}),uu=((...e)=>{let t=ou().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=pu(e);if(!r)return;let i=t._component;!A(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,fu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),du=((...e)=>{let t=su().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=pu(e);if(t)return n(t,!0,fu(t))},t});function fu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function pu(e){return j(e)?document.querySelector(e):e}var mu=!1,hu=()=>{mu||(mu=!0,Zl(),Uc())},gu=e({BaseTransition:()=>qr,BaseTransitionPropsValidators:()=>Ur,Comment:()=>J,DeprecationTypes:()=>null,EffectScope:()=>He,ErrorCodes:()=>Jn,ErrorTypeStrings:()=>oc,Fragment:()=>q,KeepAlive:()=>ki,ReactiveEffect:()=>qe,Static:()=>os,Suspense:()=>Jo,Teleport:()=>Ir,Text:()=>as,TrackOpTypes:()=>Fn,Transition:()=>Cc,TransitionGroup:()=>Al,TriggerOpTypes:()=>In,VueElement:()=>Sl,assertNumber:()=>qn,callWithAsyncErrorHandling:()=>Zn,callWithErrorHandling:()=>Xn,camelize:()=>P,capitalize:()=>he,cloneVNode:()=>Cs,compatUtils:()=>null,compile:()=>_u,computed:()=>$s,createApp:()=>uu,createBlock:()=>ms,createCommentVNode:()=>Es,createElementBlock:()=>ps,createElementVNode:()=>bs,createHydrationRenderer:()=>Lo,createPropsRestProxy:()=>Ea,createRenderer:()=>Io,createSSRApp:()=>du,createSlots:()=>ia,createStaticVNode:()=>Ts,createTextVNode:()=>ws,createVNode:()=>X,customRef:()=>Dn,defineAsyncComponent:()=>Ei,defineComponent:()=>ei,defineCustomElement:()=>yl,defineEmits:()=>ma,defineExpose:()=>ha,defineModel:()=>va,defineOptions:()=>ga,defineProps:()=>pa,defineSSRCustomElement:()=>bl,defineSlots:()=>_a,devtools:()=>sc,effect:()=>ot,effectScope:()=>Ue,getCurrentInstance:()=>$,getCurrentScope:()=>We,getCurrentWatcher:()=>Bn,getTransitionRawChildren:()=>$r,guardReactiveProps:()=>Ss,h:()=>ec,handleError:()=>Qn,hasInjectionContext:()=>Ja,hydrate:()=>lu,hydrateOnIdle:()=>yi,hydrateOnInteraction:()=>Ci,hydrateOnMediaQuery:()=>Si,hydrateOnVisible:()=>xi,initCustomFormatter:()=>tc,initDirectivesForSSR:()=>hu,inject:()=>qa,isMemoSame:()=>rc,isProxy:()=>pn,isReactive:()=>dn,isReadonly:()=>fn,isRef:()=>H,isRuntimeOnly:()=>Ks,isShallow:()=>B,isVNode:()=>hs,markRaw:()=>mn,mergeDefaults:()=>wa,mergeModels:()=>Ta,mergeProps:()=>ks,nextTick:()=>or,nodeOps:()=>_c,normalizeClass:()=>ke,normalizeProps:()=>Ae,normalizeStyle:()=>we,onActivated:()=>ji,onBeforeMount:()=>zi,onBeforeUnmount:()=>Ui,onBeforeUpdate:()=>Vi,onDeactivated:()=>Mi,onErrorCaptured:()=>Ji,onMounted:()=>Bi,onRenderTracked:()=>qi,onRenderTriggered:()=>Ki,onScopeDispose:()=>Ge,onServerPrefetch:()=>Gi,onUnmounted:()=>Wi,onUpdated:()=>Hi,onWatcherCleanup:()=>Vn,openBlock:()=>cs,patchProp:()=>gl,popScopeId:()=>xr,provide:()=>Ka,proxyRefs:()=>Tn,pushScopeId:()=>br,queuePostFlushCb:()=>ur,reactive:()=>on,readonly:()=>cn,ref:()=>_n,registerRuntimeCompiler:()=>Gs,render:()=>cu,renderList:()=>ra,renderSlot:()=>aa,resolveComponent:()=>Zi,resolveDirective:()=>ea,resolveDynamicComponent:()=>$i,resolveFilter:()=>null,resolveTransitionHooks:()=>Yr,setBlockTracking:()=>ds,setDevtoolsHook:()=>cc,setTransitionHooks:()=>Qr,shallowReactive:()=>sn,shallowReadonly:()=>ln,shallowRef:()=>vn,ssrContextKey:()=>Ya,ssrUtils:()=>lc,stop:()=>st,toDisplayString:()=>Re,toHandlerKey:()=>ge,toHandlers:()=>sa,toRaw:()=>V,toRef:()=>jn,toRefs:()=>On,toValue:()=>Cn,transformVNodeArgs:()=>_s,triggerRef:()=>xn,unref:()=>Sn,useAttrs:()=>xa,useCssModule:()=>Tl,useCssVars:()=>Gc,useHost:()=>Cl,useId:()=>ti,useModel:()=>io,useSSRContext:()=>Xa,useShadowRoot:()=>wl,useSlots:()=>ba,useTemplateRef:()=>ri,useTransitionState:()=>Vr,vModelCheckbox:()=>Vl,vModelDynamic:()=>Jl,vModelRadio:()=>Ul,vModelSelect:()=>Wl,vModelText:()=>Bl,vShow:()=>Vc,version:()=>ic,warn:()=>ac,watch:()=>eo,watchEffect:()=>Za,watchPostEffect:()=>Qa,watchSyncEffect:()=>$a,withAsyncContext:()=>Da,withCtx:()=>Cr,withDefaults:()=>ya,withDirectives:()=>wr,withKeys:()=>nu,withMemo:()=>nc,withModifiers:()=>eu,withScopeId:()=>Sr}),_u=()=>{};const vu=(e,t)=>{let n=_[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},yu=(e,t,n=0,r=1,i=0)=>{let a=_[e],o=a.baseTime*a.costMultiplier**+t,s=Math.max(1,r)*(1+i),c=1-n/100;return Math.floor(o/s*c)},bu=(e,t,n)=>{let r=_[e];if(!r.requirements)return!0;for(let[e,a]of Object.entries(r.requirements))if(Object.values(i).includes(e)){if((t[e]||0){let r=Date.now();return{id:`research_${r}`,type:`technology`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},Su=(e,t,n,r)=>e.filter(e=>{if(n>=e.endTime){let n=t[e.itemType]||0,i=e.targetLevel||0;return t[e.itemType]=i,r&&i>n&&r(Du(e.itemType,n,i),`technology`,e.itemType,i),!1}return!0}),Cu=e=>e.metal+e.crystal+e.deuterium,wu=e=>Math.floor(e/1e3),Tu=(e,t)=>{e.points+=t},Eu=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=Cu(Au(e,i));r+=wu(t)}return r},Du=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=Cu(vu(e,i));r+=wu(t)}return r},Ou=(e,t)=>{let n=l[e];return wu(Cu(n.cost))*t},ku=(e,t)=>{let n=m[e];return wu(Cu(n.cost))*t},Au=(e,t)=>{let n=d[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},ju=(e,t,n=0,r=0,i=0)=>{let a=d[e],o=a.costMultiplier**(t-1),s=a.baseTime*o,c=1+r+i*2,l=1-n/100;return Math.floor(s/c*l)},Mu=e=>{let t=0;return Object.entries(e.buildings).forEach(([e,n])=>{if(n>0){let r=d[e];t+=r.spaceUsage*n}}),t},Nu=(e,t,n)=>{let r=d[e].requirements;if(!r)return!0;for(let[e,a]of Object.entries(r)){let r=a;if(Object.values(i).includes(e)){if((t.buildings[e]||0)Mu(e)+d[t].spaceUsage<=e.maxSpace,Fu=(e,t,n)=>{let r=Date.now();return{id:`build_${r}`,type:`building`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},Iu=(e,t,n)=>{e.buildQueue=e.buildQueue.filter(r=>{if(t>=r.endTime){if(r.type===`building`){let t=e.buildings[r.itemType]||0,i=r.targetLevel||0;e.buildings[r.itemType]=i,n&&i>t&&n(Eu(r.itemType,t,i),`building`,r.itemType,i)}else if(r.type===`ship`){let t=r.itemType,i=r.quantity||0;e.fleet[t]=(e.fleet[t]||0)+i,n&&i>0&&n(Ou(t,i),`ship`,r.itemType,void 0,i)}else if(r.type===`defense`){let t=r.itemType,i=r.quantity||0;e.defense[t]=(e.defense[t]||0)+i,n&&i>0&&n(ku(t,i),`defense`,r.itemType,void 0,i)}else if(r.type===`demolish`){let t=r.itemType,n=e.buildings[t]||0;e.buildings[t]=Math.max(0,n-1)}return!1}return!0})},Lu=(e,t)=>{let n=Au(e,t);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},Ru=(e,t,n=0,r=0,i=0)=>{let a=ju(e,t,n,r,i);return Math.floor(a*.5)},zu=(e,t,n)=>{let r=Date.now();return{id:`demolish_${r}`,type:`demolish`,itemType:e,targetLevel:t-1,startTime:r,endTime:r+n*1e3}},Bu=e=>h[e].cost,Vu=(e,t)=>e.active&&(!e.expiresAt||e.expiresAt>t),Hu=(e,t)=>{let n=Date.now();return{type:e,active:!0,hiredAt:n,expiresAt:n+t*24*60*60*1e3}},Uu=e=>({type:e,active:!1}),Wu=(e,t,n)=>{let r=e.expiresAt&&e.expiresAt>n?e.expiresAt:n;return{...e,active:!0,expiresAt:r+t*24*60*60*1e3}},Gu=(e,t)=>{let n={buildingSpeedBonus:0,researchSpeedBonus:0,resourceProductionBonus:0,darkMatterProductionBonus:0,energyProductionBonus:0,fleetSpeedBonus:0,fuelConsumptionReduction:0,defenseBonus:0,additionalBuildQueue:0,additionalFleetSlots:0,storageCapacityBonus:0};return Object.values(e).forEach(e=>{if(Vu(e,t)){let t=h[e.type];Object.entries(t.benefits).forEach(([e,t])=>{t!==void 0&&(n[e]+=t)})}}),n},Ku=(e,t)=>{Object.values(e).forEach(e=>{e.active&&e.expiresAt&&e.expiresAt<=t&&(e.active=!1)})},qu=(e,t)=>{let n=l[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t,energy:0}},Ju=(e,t)=>{let n=m[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t,energy:0}},Yu=(e,t,n=0,r=0,i=0)=>{let a=l[e].buildTime*t,o=1+r+i*2,s=1-n/100;return Math.floor(a/o*s)},Xu=(e,t,n=0,r=0,i=0)=>{let a=m[e].buildTime*t,o=1+r+i*2,s=1-n/100;return Math.floor(a/o*s)},Zu=(e,t,n)=>{let r=l[e];if(!r.requirements)return!0;for(let[e,a]of Object.entries(r.requirements))if(Object.values(i).includes(e)){if((t[e]||0){let r=m[e];if(!r.requirements)return!0;for(let[e,a]of Object.entries(r.requirements))if(Object.values(i).includes(e)){if((t[e]||0)!((e===a.SmallShieldDome||e===a.LargeShieldDome)&&((t[e]||0)>0||n>1)),ed=(e,t,n)=>{let r=Date.now();return{id:`ship_${r}`,type:`ship`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},td=(e,t,n)=>{let r=Date.now();return{id:`defense_${r}`,type:`defense`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},nd=(e,t)=>{for(let[n,r]of Object.entries(t))if((e[n]||0){let r=0;for(let[t,n]of Object.entries(e)){let e=l[t];r+=e.fuelConsumption*n}let i=0;if(n){let e=n.metal+n.crystal+n.deuterium+n.darkMatter;i=Math.floor(e/1e3)}let a=1-t/100;return Math.floor(r*a)+i},id=(e,t=0)=>{let n=1/0;for(let[t,r]of Object.entries(e))if(r>0){let e=l[t];n=Math.min(n,e.speed)}let r=1+t/100;return Math.floor(n*r)},ad=(e,t)=>{for(let[n,r]of Object.entries(t))e[n]-=r},od=(e,t)=>{for(let[n,r]of Object.entries(t))r>0&&(e[n]+=r)},sd=(e,t)=>{let n=e.buildings[i.SolarPlant]||0,r=e.buildings[i.FusionReactor]||0,a=e.fleet.solarSatellite||0,o=1+(t.energyProductionBonus||0)/100,s=n*50*1.1**n,c=r*150*1.15**r,l=a*50;return(s+c+l)*o},cd=e=>{let t=e.buildings[i.MetalMine]||0,n=e.buildings[i.CrystalMine]||0,r=e.buildings[i.DeuteriumSynthesizer]||0,a=t*10*1.1**t,o=n*10*1.1**n,s=r*15*1.1**r;return a+o+s},ld=(e,t)=>{let n=e.buildings[i.MetalMine]||0,r=e.buildings[i.CrystalMine]||0,a=e.buildings[i.DeuteriumSynthesizer]||0,o=e.buildings[i.DarkMatterCollector]||0,s=1+(t.resourceProductionBonus||0)/100,c=1+(t.darkMatterProductionBonus||0)/100,l=sd(e,{energyProductionBonus:t.energyProductionBonus}),u=e.resources.energy>0?1:0;return{metal:n*1500*1.5**n*s*u,crystal:r*1e3*1.5**r*s*u,deuterium:a*500*1.5**a*s*u,darkMatter:o*25*1.5**o*c,energy:l}},ud=(e,t)=>{let n=e.buildings[i.MetalStorage]||0,r=e.buildings[i.CrystalStorage]||0,a=e.buildings[i.DeuteriumTank]||0,o=e.buildings[i.DarkMatterTank]||0,s=e.buildings[i.SolarPlant]||0,c=1+(t||0)/100,l=1e4;return{metal:l*2**n*c,crystal:l*2**r*c,deuterium:l*2**a*c,darkMatter:1e3*2**o*c,energy:1e3+s*500}},dd=(e,t,n)=>{let r=(t-e.lastUpdate)/1e3,i=cd(e),a=sd(e,{energyProductionBonus:n.energyProductionBonus});e.resources.energy+=a*r/3600;let o=ud(e,n.storageCapacityBonus);e.resources.energy=Math.min(e.resources.energy,o.energy),e.resources.energy-=i*r/3600,e.resources.energy=Math.max(0,e.resources.energy);let s=ld(e,{resourceProductionBonus:n.resourceProductionBonus,darkMatterProductionBonus:n.darkMatterProductionBonus,energyProductionBonus:n.energyProductionBonus});e.resources.metal+=s.metal*r/3600,e.resources.crystal+=s.crystal*r/3600,e.resources.deuterium+=s.deuterium*r/3600,e.resources.darkMatter+=s.darkMatter*r/3600,e.resources.metal=Math.min(e.resources.metal,o.metal),e.resources.crystal=Math.min(e.resources.crystal,o.crystal),e.resources.deuterium=Math.min(e.resources.deuterium,o.deuterium),e.resources.darkMatter=Math.min(e.resources.darkMatter,o.darkMatter),e.lastUpdate=t},fd=(e,t)=>e.metal>=t.metal&&e.crystal>=t.crystal&&e.deuterium>=t.deuterium&&e.darkMatter>=t.darkMatter,pd=(e,t)=>{e.metal-=t.metal,e.crystal-=t.crystal,e.deuterium-=t.deuterium,e.darkMatter-=t.darkMatter},md=(e,t)=>{e.metal+=t.metal,e.crystal+=t.crystal,e.deuterium+=t.deuterium,e.darkMatter+=t.darkMatter},hd=(e,t,n)=>{let r=e.buildings[i.MetalMine]||0,a=e.buildings[i.CrystalMine]||0,o=e.buildings[i.DeuteriumSynthesizer]||0,s=e.buildings[i.DarkMatterCollector]||0,c=e.buildings[i.SolarPlant]||0,l=e.resources.energy>0,u=l?1:0,d=[];Object.values(t).forEach(e=>{if(Vu(e,n)){let t=h[e.type];d.push({type:e.type,name:t.name,resourceBonus:t.benefits.resourceProductionBonus||0,darkMatterBonus:t.benefits.darkMatterProductionBonus||0,energyBonus:t.benefits.energyProductionBonus||0})}});let f=d.reduce((e,t)=>e+t.resourceBonus,0),p=d.reduce((e,t)=>e+t.darkMatterBonus,0),m=d.reduce((e,t)=>e+t.energyBonus,0),g=r*1500*1.5**r,_=[];d.forEach(e=>{if(e.resourceBonus>0){let t=g*(e.resourceBonus/100);_.push({name:`officers.${e.type}`,percentage:e.resourceBonus,value:t,source:`officer`})}}),l||_.push({name:`resources.noEnergy`,percentage:-100,value:-g*(1+f/100),source:`other`});let v=g*(1+f/100)*u,y=a*1e3*1.5**a,b=[];d.forEach(e=>{if(e.resourceBonus>0){let t=y*(e.resourceBonus/100);b.push({name:`officers.${e.type}`,percentage:e.resourceBonus,value:t,source:`officer`})}}),l||b.push({name:`resources.noEnergy`,percentage:-100,value:-y*(1+f/100),source:`other`});let x=y*(1+f/100)*u,S=o*500*1.5**o,C=[];d.forEach(e=>{if(e.resourceBonus>0){let t=S*(e.resourceBonus/100);C.push({name:`officers.${e.type}`,percentage:e.resourceBonus,value:t,source:`officer`})}}),l||C.push({name:`resources.noEnergy`,percentage:-100,value:-S*(1+f/100),source:`other`});let w=S*(1+f/100)*u,ee=s*25*1.5**s,T=[];d.forEach(e=>{if(e.darkMatterBonus>0){let t=ee*(e.darkMatterBonus/100);T.push({name:`officers.${e.type}`,percentage:e.darkMatterBonus,value:t,source:`officer`})}});let E=ee*(1+p/100),te=e.buildings[i.FusionReactor]||0,D=e.fleet.solarSatellite||0,O=c*50*1.1**c,ne=te*150*1.15**te,re=D*50,k=O+ne+re,ie=[];c>0&&ie.push({name:`buildings.solarPlant`,level:c,production:O}),te>0&&ie.push({name:`buildings.fusionReactor`,level:te,production:ne}),D>0&&ie.push({name:`ships.solarSatellite`,level:D,production:re});let A=[];d.forEach(e=>{if(e.energyBonus>0){let t=k*(e.energyBonus/100);A.push({name:`officers.${e.type}`,percentage:e.energyBonus,value:t,source:`officer`})}});let j=k*(1+m/100);return{metal:{baseProduction:g,buildingLevel:r,buildingName:`buildings.metalMine`,bonuses:_,finalProduction:v},crystal:{baseProduction:y,buildingLevel:a,buildingName:`buildings.crystalMine`,bonuses:b,finalProduction:x},deuterium:{baseProduction:S,buildingLevel:o,buildingName:`buildings.deuteriumSynthesizer`,bonuses:C,finalProduction:w},darkMatter:{baseProduction:ee,buildingLevel:s,buildingName:`buildings.darkMatterCollector`,bonuses:T,finalProduction:E},energy:{baseProduction:k,buildingLevel:c,buildingName:`buildings.solarPlant`,bonuses:A,finalProduction:j,sources:ie}}},gd=e=>{let t=e.buildings[i.MetalMine]||0,n=e.buildings[i.CrystalMine]||0,r=e.buildings[i.DeuteriumSynthesizer]||0,a=t*10*1.1**t,o=n*10*1.1**n,s=r*15*1.1**r;return{metalMine:{buildingLevel:t,buildingName:`buildings.metalMine`,consumption:a},crystalMine:{buildingLevel:n,buildingName:`buildings.crystalMine`,consumption:o},deuteriumSynthesizer:{buildingLevel:r,buildingName:`buildings.deuteriumSynthesizer`,consumption:s},total:a+o+s}},_d=(e,r=`Home Planet`)=>{let o={id:`planet1`,name:r,ownerId:e,position:{galaxy:1,system:1,position:1},resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[t.LightFighter]:0,[t.HeavyFighter]:0,[t.Cruiser]:0,[t.Battleship]:0,[t.Battlecruiser]:0,[t.Bomber]:0,[t.Destroyer]:0,[t.SmallCargo]:0,[t.LargeCargo]:0,[t.ColonyShip]:0,[t.Recycler]:0,[t.EspionageProbe]:0,[t.SolarSatellite]:0,[t.DarkMatterHarvester]:0,[t.Deathstar]:0},defense:{[a.RocketLauncher]:0,[a.LightLaser]:0,[a.HeavyLaser]:0,[a.GaussCannon]:0,[a.IonCannon]:0,[a.PlasmaTurret]:0,[a.SmallShieldDome]:0,[a.LargeShieldDome]:0,[a.AntiBallisticMissile]:0,[a.InterplanetaryMissile]:0,[a.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:n.baseStorage,isMoon:!1};return Object.values(i).forEach(e=>{o.buildings[e]=0}),o},vd=(e,r,o=`Planet`)=>{let s={id:`npc_planet_${e}`,name:`${o} ${r.galaxy}:${r.system}:${r.position}`,ownerId:`npc_${e}`,position:r,resources:{metal:Math.floor(Math.random()*1e4)+5e3,crystal:Math.floor(Math.random()*5e3)+2e3,deuterium:Math.floor(Math.random()*2e3)+500,darkMatter:Math.floor(Math.random()*100),energy:0},buildings:{},fleet:{[t.LightFighter]:Math.floor(Math.random()*50),[t.HeavyFighter]:Math.floor(Math.random()*20),[t.Cruiser]:Math.floor(Math.random()*10),[t.Battleship]:Math.floor(Math.random()*5),[t.Battlecruiser]:Math.floor(Math.random()*3),[t.Bomber]:Math.floor(Math.random()*2),[t.Destroyer]:Math.floor(Math.random()*2),[t.SmallCargo]:Math.floor(Math.random()*10),[t.LargeCargo]:Math.floor(Math.random()*5),[t.ColonyShip]:0,[t.Recycler]:0,[t.EspionageProbe]:0,[t.SolarSatellite]:Math.floor(Math.random()*20),[t.DarkMatterHarvester]:0,[t.Deathstar]:0},defense:{[a.RocketLauncher]:Math.floor(Math.random()*100),[a.LightLaser]:Math.floor(Math.random()*50),[a.HeavyLaser]:Math.floor(Math.random()*20),[a.GaussCannon]:Math.floor(Math.random()*10),[a.IonCannon]:Math.floor(Math.random()*10),[a.PlasmaTurret]:Math.floor(Math.random()*5),[a.SmallShieldDome]:Math.random()>.5?1:0,[a.LargeShieldDome]:Math.random()>.8?1:0,[a.AntiBallisticMissile]:Math.floor(Math.random()*3),[a.InterplanetaryMissile]:Math.floor(Math.random()*2),[a.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:n.baseStorage,isMoon:!1};return Object.values(i).forEach(e=>{s.buildings[e]=Math.floor(Math.random()*10)}),s},yd=e=>{let t=e.metal+e.crystal;if(t{if(!e.isMoon)return 0;let t=e.buildings[i.LunarBase]||0;return f.baseSize+t*f.lunarBaseSpaceBonus},xd=(e,t)=>{if(e.isMoon)return 0;let n=r.baseSize,a=e.buildings[i.Terraformer]||0;return n+=a*r.terraformerSpaceBonus,n+=t*r.terraformingTechSpaceBonus,n},Sd=(e,t=`Commander`)=>{let n={id:e,name:t,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[],spiedNotifications:[],npcActivityNotifications:[],missionReports:[],incomingFleetAlerts:[],giftNotifications:[],giftRejectedNotifications:[],diplomaticRelations:{},diplomaticReports:[],points:0};return Object.values(v).forEach(e=>{n.technologies[e]=0}),Object.values(s).forEach(e=>{n.officers[e]=Uu(e)}),n},Cd=e=>e.length===0,wd=(e,t,n=10)=>{let r=[];for(let e=1;e<=n;e++)r.push({position:e,planet:null});return r},Td=()=>({galaxy:Math.floor(Math.random()*9)+1,system:Math.floor(Math.random()*10)+1,position:Math.floor(Math.random()*10)+1}),Ed=(e,t,n)=>`${e}:${t}:${n}`,Dd=(e,t)=>{let n=Gu(e.officers,t),r=(t,n,r,i,a)=>{Tu(e,t)};return e.planets.forEach(e=>{dd(e,t,n)}),e.planets.forEach(n=>{Iu(n,t,r),n.isMoon?n.maxSpace=bd(n):n.maxSpace=xd(n,e.technologies[v.TerraformingTechnology]||0)}),{updatedResearchQueue:Su(e.researchQueue,e.technologies,t,r)}},Od=(e,t)=>{Ku(e,t)};function kd(e){return new Worker(``+new URL(`battle.worker-D3kgZwcy.js`,import.meta.url).href,{name:e?.name})}var Ad=e=>{if(typeof e!=`object`||!e)return e;let t=V(e);if(Array.isArray(t))return t.map(e=>Ad(e));if(t&&typeof t==`object`){let e={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=Ad(t[n]));return e}return t};const jd=new class{constructor(){this.battleWorker=null,this.pendingTasks=new Map,this.messageIdCounter=0,this.defaultTimeout=1e4}initBattleWorker(){this.battleWorker||(this.battleWorker=new kd,this.setupWorkerHandlers(this.battleWorker,`Battle`))}setupWorkerHandlers(e,t){e.onmessage=e=>{let{id:t,success:n,data:r,error:i}=e.data,a=this.pendingTasks.get(t);if(!a){console.warn(`[WorkerManager] No pending task found for message ID: ${t}`);return}a.timeout&&clearTimeout(a.timeout),this.pendingTasks.delete(t),n?a.resolve(r):a.reject(Error(i||`Worker task failed`))},e.onerror=e=>{console.error(`[WorkerManager] ${t} worker error:`,e);for(let e of this.pendingTasks.values())e.timeout&&clearTimeout(e.timeout),e.reject(Error(`${t} worker crashed`));this.pendingTasks.clear(),t===`Battle`&&(this.battleWorker=null)}}generateMessageId(){return`msg_${Date.now()}_${++this.messageIdCounter}`}getWorkerByType(e){if(e===g.SIMULATE_BATTLE||e===g.CALCULATE_PLUNDER||e===g.CALCULATE_DEBRIS)return this.initBattleWorker(),this.battleWorker;throw Error(`Unknown message type: ${e}`)}sendMessage(e,t,n=this.defaultTimeout){let r=this.getWorkerByType(e);if(!r)return Promise.reject(Error(`Worker initialization failed`));let i=this.generateMessageId();return new Promise((a,o)=>{let s=setTimeout(()=>{this.pendingTasks.delete(i),o(Error(`Worker task timeout after ${n}ms`))},n);this.pendingTasks.set(i,{resolve:a,reject:o,timeout:s});let c={id:i,type:e,payload:Ad(t)};r.postMessage(c)})}async simulateBattle(e){return this.sendMessage(g.SIMULATE_BATTLE,e)}async calculatePlunder(e){return this.sendMessage(g.CALCULATE_PLUNDER,e)}async calculateDebris(e){return this.sendMessage(g.CALCULATE_DEBRIS,e)}destroy(){this.battleWorker&&=(this.battleWorker.terminate(),null);for(let e of this.pendingTasks.values())e.timeout&&clearTimeout(e.timeout),e.reject(Error(`Worker manager destroyed`));this.pendingTasks.clear()}getPendingTaskCount(){return this.pendingTasks.size}},Md=async(e,t,n,r,i,a,o,s)=>{let c=o.weaponsTechnology||0,l=o.shieldingTechnology||0,u=o.armourTechnology||0,d=s.weaponsTechnology||0,f=s.shieldingTechnology||0,p=s.armourTechnology||0,m=await jd.simulateBattle({attacker:{ships:e,weaponTech:c,shieldTech:l,armorTech:u},defender:{ships:t,defense:n,weaponTech:d,shieldTech:f,armorTech:p},maxRounds:6}),h=m.winner===`attacker`?await jd.calculatePlunder({defenderResources:r,attackerFleet:m.attackerRemaining}):{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},g=await jd.calculateDebris({attackerLosses:m.attackerLosses,defenderLosses:m.defenderLosses}),_=g.metal+g.crystal,v=Math.min(_/1e5,.2);return{id:`battle_${Date.now()}`,timestamp:Date.now(),attackerId:``,defenderId:``,attackerPlanetId:``,defenderPlanetId:``,attackerFleet:e,defenderFleet:t,defenderDefense:n,attackerLosses:m.attackerLosses,defenderLosses:m.defenderLosses,winner:m.winner,plunder:h,debrisField:g,rounds:m.rounds,attackerRemaining:m.attackerRemaining,defenderRemaining:m.defenderRemaining,roundDetails:m.roundDetails,moonChance:v}},Nd=(e,t)=>{let n={...t};return Object.keys(e).forEach(r=>{let i=e[r]||0,a=t[r]||0,o=i-a;o>0&&(n[r]=a+Math.floor(o*.7))}),n},Pd=e=>{let t=e.metal+e.crystal;if(t{let c=Pd(e);if(c===0||Math.random()*100>=c)return null;let l={id:`moon_${Date.now()}`,name:`Moon [${r.galaxy}:${r.system}:${r.position}]`,ownerId:s,position:r,resources:{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[t.LightFighter]:0,[t.HeavyFighter]:0,[t.Cruiser]:0,[t.Battleship]:0,[t.Battlecruiser]:0,[t.Bomber]:0,[t.Destroyer]:0,[t.SmallCargo]:0,[t.LargeCargo]:0,[t.ColonyShip]:0,[t.Recycler]:0,[t.EspionageProbe]:0,[t.SolarSatellite]:0,[t.DarkMatterHarvester]:0,[t.Deathstar]:0},defense:{[a.RocketLauncher]:0,[a.LightLaser]:0,[a.HeavyLaser]:0,[a.GaussCannon]:0,[a.IonCannon]:0,[a.PlasmaTurret]:0,[a.SmallShieldDome]:0,[a.LargeShieldDome]:0,[a.AntiBallisticMissile]:0,[a.InterplanetaryMissile]:0,[a.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:f.baseSize,maxFleetStorage:n.baseStorage,isMoon:!0,parentPlanetId:o};return Object.values(i).forEach(e=>{l.buildings[e]=0}),l},Id=(e,t,n)=>{if(e.find(e=>e.position.galaxy===t.galaxy&&e.position.system===t.system&&e.position.position===t.position&&e.isMoon))return{canCreate:!1,reason:`errors.moonExists`};let r=yd(n);return r===0?{canCreate:!1,reason:`errors.insufficientDebris`,chance:r}:{canCreate:!0,chance:r}},Ld=e=>Math.random()*100<=e,Rd=e=>e<=c.HOSTILE_THRESHOLD?o.Hostile:e>=c.FRIENDLY_THRESHOLD?o.Friendly:o.Neutral,zd=(e,t)=>({fromId:e,toId:t,reputation:0,status:o.Neutral,lastUpdated:Date.now(),history:[]}),Bd=(e,t,n,r)=>{let i=e.reputation,a=Math.max(c.MIN_REPUTATION,Math.min(c.MAX_REPUTATION,i+t)),o=Rd(a);return e.history||=[],e.history.push({timestamp:Date.now(),change:t,reason:n,details:r}),e.history.length>50&&(e.history=e.history.slice(-50)),{...e,reputation:a,status:o,lastUpdated:Date.now()}},Vd=e=>{let{REPUTATION_CHANGES:t}=c,n=e.metal+e.crystal*1.5+e.deuterium*3;if(n(e[n]||(e[n]=zd(t,n)),e[n]),Ud=(e,t)=>{let{GIFT_ACCEPTANCE_CONFIG:n}=c,r=e.relations?.[t.id]?.reputation||0,i=n.NPC_REJECTION_BASE_PROBABILITY;return r<0?i+=Math.abs(r)*n.NPC_REJECTION_REPUTATION_MODIFIER:r>0&&(i-=r*n.NPC_REJECTION_REPUTATION_MODIFIER),Math.max(n.MIN_REJECTION_PROBABILITY,Math.min(n.MAX_REJECTION_PROBABILITY,i))},Wd=(e,t,n)=>{let r=Ud(n,t);if(Math.random(){let{GIFT_ACCEPTANCE_CONFIG:r}=c;e.giftRejectedNotifications||=[];let i=t.relations?.[e.id]?.reputation||0,a={id:`gift-rejected-${Date.now()}-${Math.random()}`,timestamp:Date.now(),npcId:t.id,npcName:t.name,rejectedResources:n,currentReputation:i,reason:i<-20?`hostile`:i<20?`neutral_distrust`:`polite_decline`,read:!1};e.giftRejectedNotifications.push(a),e.giftRejectedNotifications.length>50&&(e.giftRejectedNotifications=e.giftRejectedNotifications.slice(-50)),t.relations||={};let o=Hd(t.relations,t.id,e.id);t.relations[e.id]=Bd(o,r.REJECTION_REPUTATION_PENALTY,p.GiftResources,`Rejected player's gift`),Xd(e,t,p.GiftResources,r.REJECTION_REPUTATION_PENALTY,`${t.name} rejected your gift. Reputation ${r.REJECTION_REPUTATION_PENALTY}`)};const Kd=(e,t,n,r)=>{let{REPUTATION_CHANGES:i}=c,a=i.ATTACK;n.winner===`attacker`&&(a=i.ATTACK_WIN),e.diplomaticRelations||={};let o=Hd(e.diplomaticRelations,e.id,t.id);e.diplomaticRelations[t.id]=Bd(o,-a,p.Attack,`Attacked ${t.name}`),t.relations||={};let s=Hd(t.relations,t.id,e.id);t.relations[e.id]=Bd(s,-a,p.Attack,`Was attacked by player`),t.allies&&t.allies.length>0&&qd(e,t,r),Xd(e,t,p.Attack,-a,`You attacked ${t.name}`)},qd=(e,t,n)=>{let{REPUTATION_CHANGES:r}=c;n.filter(e=>t.allies?.includes(e.id)).forEach(n=>{n.relations||={};let i=Hd(n.relations,n.id,e.id);n.relations[e.id]=Bd(i,-r.ALLY_ATTACKED,p.AllyAttacked,`Player attacked ally ${t.name}`),Xd(e,n,p.AllyAttacked,-r.ALLY_ATTACKED,`${n.name} is displeased that you attacked their ally ${t.name}`)})},Jd=(e,t,n)=>{let{REPUTATION_CHANGES:r}=c,i=n?r.SPY_DETECTED:r.SPY_UNDETECTED;t.relations||={};let a=Hd(t.relations,t.id,e.id);t.relations[e.id]=Bd(a,-i,p.Spy,`Was spied by player (detected: ${n})`),n&&Xd(e,t,p.Spy,-i,`Your espionage was detected by ${t.name}`)},Yd=(e,t,n)=>{let{REPUTATION_CHANGES:r}=c,i=n.find(e=>e.planets.some(e=>e.position.galaxy===t.galaxy&&e.position.system===t.system&&e.position.position===t.position));if(i){e.diplomaticRelations||={};let t=Hd(e.diplomaticRelations,e.id,i.id);e.diplomaticRelations[i.id]=Bd(t,-r.STEAL_DEBRIS,p.StealDebris,`Stole debris from ${i.name}'s territory`),i.relations||={};let n=Hd(i.relations,i.id,e.id);i.relations[e.id]=Bd(n,-r.STEAL_DEBRIS,p.StealDebris,`Player stole debris from territory`),Xd(e,i,p.StealDebris,-r.STEAL_DEBRIS,`You recycled debris near ${i.name}'s planet. They are displeased.`)}};var Xd=(e,t,n,r,i)=>{e.diplomaticReports||=[],e.diplomaticRelations||={};let a=e.diplomaticRelations[t.id]||zd(e.id,t.id),o=a.status,s=Math.max(c.MIN_REPUTATION,Math.min(c.MAX_REPUTATION,a.reputation+r)),l=Rd(s),u={id:`diplomatic-${Date.now()}-${Math.random()}`,timestamp:Date.now(),npcId:t.id,npcName:t.name,eventType:n,reputationChange:r,newReputation:s,oldStatus:o,newStatus:l,message:i,read:!1};e.diplomaticReports.push(u),e.diplomaticReports.length>100&&(e.diplomaticReports=e.diplomaticReports.slice(-100))};const Zd=(e,t,n)=>{let{GIFT_ACCEPTANCE_CONFIG:r}=c;t.giftNotifications||=[];let i=e.relations?.[t.id]?.reputation||0,a=Math.floor(Vd(n)*.5),o={id:`gift-${Date.now()}-${Math.random()}`,timestamp:Date.now(),fromNpcId:e.id,fromNpcName:e.name,resources:n,currentReputation:i,expectedReputationGain:a,expiresAt:Date.now()+r.GIFT_EXPIRATION_DAYS*24*3600*1e3,read:!1};t.giftNotifications.push(o),t.giftNotifications.length>50&&(t.giftNotifications=t.giftNotifications.slice(-50))},Qd=(e,t,n)=>{if(e.planets&&e.planets.length>0){let t=e.planets[0];t&&(t.resources.metal+=n.resources.metal,t.resources.crystal+=n.resources.crystal,t.resources.deuterium+=n.resources.deuterium,t.resources.darkMatter+=n.resources.darkMatter)}t.relations||={};let r=Hd(t.relations,t.id,e.id);t.relations[e.id]=Bd(r,n.expectedReputationGain,p.GiftResources,`Gifted resources to player`),e.diplomaticRelations||={};let i=Hd(e.diplomaticRelations,e.id,t.id);e.diplomaticRelations[t.id]=Bd(i,n.expectedReputationGain,p.GiftResources,`Received gift from ${t.name}`),Xd(e,t,p.GiftResources,n.expectedReputationGain,`You accepted a gift from ${t.name}: ${n.resources.metal}M ${n.resources.crystal}C ${n.resources.deuterium}D`),e.giftNotifications&&=e.giftNotifications.filter(e=>e.id!==n.id)},$d=(e,t,n)=>{let{GIFT_ACCEPTANCE_CONFIG:r}=c;t.relations||={};let i=Hd(t.relations,t.id,e.id);t.relations[e.id]=Bd(i,r.REJECTION_REPUTATION_PENALTY,p.GiftResources,`Player rejected gift`),Xd(e,t,p.GiftResources,r.REJECTION_REPUTATION_PENALTY,`You rejected a gift from ${t.name}. Reputation ${r.REJECTION_REPUTATION_PENALTY}`),e.giftNotifications&&=e.giftNotifications.filter(e=>e.id!==n.id)},ef=(e,t)=>e.galaxy===t.galaxy&&e.system===t.system&&e.position===t.position?5:e.galaxy===t.galaxy&&e.system===t.system?1e3+Math.abs(t.position-e.position)*5:e.galaxy===t.galaxy?2700+Math.abs(t.system-e.system)*95:2e4+Math.abs(t.galaxy-e.galaxy)*2e4,tf=(e,t)=>Math.max(10,Math.floor(e*1e4/t)),nf=(e,t,n,r,i,a,o)=>{let s=Date.now();return{id:`mission_${s}`,playerId:e,originPlanetId:t,targetPosition:n,missionType:r,fleet:i,cargo:a,departureTime:s,arrivalTime:s+o*1e3,returnTime:s+o*2*1e3,status:`outbound`}},rf=(e,t,n,r)=>{if(e.isGift&&e.giftTargetNpcId&&n&&r){let t=r.find(t=>t.id===e.giftTargetNpcId);if(t){let r=Wd(e,n,t);return e.status=`returning`,r.accepted?(e.cargo={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},{success:!0,reputationGain:r.reputationGain}):{success:!1,reputationGain:void 0}}}return t?(t.resources.metal+=e.cargo.metal,t.resources.crystal+=e.cargo.crystal,t.resources.deuterium+=e.cargo.deuterium,t.resources.darkMatter+=e.cargo.darkMatter,e.status=`returning`,e.cargo={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},{success:!0}):(e.status=`returning`,e.cargo={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},{success:!1})},af=async(e,t,n,r,i)=>{if(!t||t.ownerId===n.id)return e.status=`returning`,null;let a=await Md(e.fleet,t.fleet,t.defense,t.resources,n.officers,r?.officers||{},n.technologies,r?.technologies||{});a.id=`battle_${Date.now()}`,a.attackerId=n.id,a.defenderId=t.ownerId||`unknown`,a.attackerPlanetId=e.originPlanetId,a.defenderPlanetId=t.id,e.cargo=a.plunder;let o={};Object.entries(e.fleet).forEach(([e,t])=>{let n=t-(a.attackerLosses[e]||0);n>0&&(o[e]=n)}),e.fleet=o,Object.entries(a.defenderLosses.fleet).forEach(([e,n])=>{t.fleet[e]=Math.max(0,t.fleet[e]-n)}),Object.entries(a.defenderLosses.defense).forEach(([e,n])=>{t.defense[e]=Math.max(0,t.defense[e]-n)});let s={...t.defense};Object.entries(a.defenderLosses.defense).forEach(([e,t])=>{s[e]=(s[e]||0)+t}),t.defense=Nd(s,t.defense),t.resources.metal-=a.plunder.metal,t.resources.crystal-=a.plunder.crystal,t.resources.deuterium-=a.plunder.deuterium,e.status=`returning`;let c=null,l=Id(i,t.position,a.debrisField);l.canCreate&&l.chance&&Ld(l.chance)&&(c=Fd(a.debrisField,t.position,t.id,t.ownerId||`unknown`));let u=null;return a.debrisField.metal+a.debrisField.crystal>0&&(u={id:`debris_${t.position.galaxy}_${t.position.system}_${t.position.position}`,position:t.position,resources:{metal:a.debrisField.metal,crystal:a.debrisField.crystal},createdAt:Date.now()}),{battleResult:a,moon:c,debrisField:u}},of=async(e,t,n,r,i)=>{let a=await Md(t.fleet,n.fleet,n.defense,n.resources,{},r.officers||{},e.technologies,r.technologies);a.id=`battle_${Date.now()}`,a.attackerId=e.id,a.defenderId=r.id,a.attackerPlanetId=t.originPlanetId,a.defenderPlanetId=n.id,a.timestamp=Date.now(),a.winner===`attacker`&&a.plunder&&e.planets.find(e=>e.id===t.originPlanetId)&&(t.cargo=a.plunder);let o={};Object.entries(t.fleet).forEach(([e,t])=>{let n=t-(a.attackerLosses[e]||0);n>0&&(o[e]=n)}),t.fleet=o,Object.entries(a.defenderLosses.fleet).forEach(([e,t])=>{n.fleet[e]=Math.max(0,(n.fleet[e]||0)-t)}),Object.entries(a.defenderLosses.defense).forEach(([e,t])=>{n.defense[e]=Math.max(0,(n.defense[e]||0)-t)});let s={...n.defense};Object.entries(a.defenderLosses.defense).forEach(([e,t])=>{s[e]=(s[e]||0)+t}),n.defense=Nd(s,n.defense),a.plunder&&(n.resources.metal=Math.max(0,n.resources.metal-a.plunder.metal),n.resources.crystal=Math.max(0,n.resources.crystal-a.plunder.crystal),n.resources.deuterium=Math.max(0,n.resources.deuterium-a.plunder.deuterium)),t.status=`returning`;let c=null,l=Id(i,n.position,a.debrisField);l.canCreate&&l.chance&&Ld(l.chance)&&(c=Fd(a.debrisField,n.position,n.id,n.ownerId||`unknown`));let u=null;return a.debrisField.metal+a.debrisField.crystal>0&&(u={id:`debris_${n.position.galaxy}_${n.position.system}_${n.position.position}`,position:n.position,resources:{metal:a.debrisField.metal,crystal:a.debrisField.crystal},createdAt:Date.now()}),{battleResult:a,moon:c,debrisField:u}},sf=e=>1+Math.floor(e/2),cf=e=>{let t=sf(e.technologies[v.Astrophysics]||0);return e.planets.length{if(r||!cf(o))return e.status=`returning`,null;let c={id:`planet_${Date.now()}`,name:`${s} ${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}`,ownerId:o.id,position:e.targetPosition,resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[t.LightFighter]:0,[t.HeavyFighter]:0,[t.Cruiser]:0,[t.Battleship]:0,[t.Battlecruiser]:0,[t.Bomber]:0,[t.Destroyer]:0,[t.SmallCargo]:0,[t.LargeCargo]:0,[t.ColonyShip]:0,[t.Recycler]:0,[t.EspionageProbe]:0,[t.SolarSatellite]:0,[t.DarkMatterHarvester]:0,[t.Deathstar]:0},defense:{[a.RocketLauncher]:0,[a.LightLaser]:0,[a.HeavyLaser]:0,[a.GaussCannon]:0,[a.IonCannon]:0,[a.PlasmaTurret]:0,[a.SmallShieldDome]:0,[a.LargeShieldDome]:0,[a.AntiBallisticMissile]:0,[a.InterplanetaryMissile]:0,[a.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:n.baseStorage,isMoon:!1};return Object.values(i).forEach(e=>{c.buildings[e]=0}),e.fleet[t.ColonyShip]=(e.fleet[t.ColonyShip]||1)-1,e.status=`returning`,c},uf=(e,t,n)=>{let r=e-t+Math.floor(n/5);return{showFleet:r>=-1,showDefense:r>=1,showBuildings:r>=3,showTechnologies:r>=5}},df=(e,t,n)=>{let r=.25,i=t-e;return i>0?r+=i*.1:r+=i*.05,r-=n*.01,Math.max(.01,Math.min(.99,r))},ff=(e,n,r,i,a)=>{if(!n)return e.status=`returning`,null;let o=r.technologies[v.EspionageTechnology]||0,s=i?.technologies[v.EspionageTechnology]||0,c=e.fleet[t.EspionageProbe]||0,l=uf(o,s,c),u=df(o,s,c),d=Math.random()e.planets.some(e=>e.id===n.id));e&&Jd(r,e,d)}return e.status=`returning`,f},pf=(e,t,n)=>{if(!t||t.ownerId!==n)return e.status=`returning`,!1;for(let[n,r]of Object.entries(e.fleet))t.fleet[n]+=r;return!0},mf=(e,n,r,i)=>{if(!n)return e.status=`returning`,null;let a=(e.fleet[t.Recycler]||0)*2e4-(e.cargo.metal+e.cargo.crystal+e.cargo.deuterium),o=n.resources.metal+n.resources.crystal,s=Math.min(o,a),c=n.resources.metal/o,l=n.resources.crystal/o,u=Math.floor(s*c),d=Math.floor(s*l);e.cargo.metal+=u,e.cargo.crystal+=d;let f=n.resources.metal-u,p=n.resources.crystal-d;return e.status=`returning`,r&&i&&s>0&&Yd(r,n.position,i),{collectedResources:{metal:u,crystal:d},remainingDebris:f>0||p>0?{metal:f,crystal:p}:null}},hf=(e,t,n)=>{let r=e*10,i=t*5,a=Math.floor(n/1e4),o=r-i-a;return Math.max(1,Math.min(99,o))},gf=(e,t)=>{let n=0;return Object.entries(e).forEach(([e,t])=>{t>0&&(n+=t*100)}),Object.entries(t).forEach(([e,t])=>{t>0&&(n+=t*50)}),n},_f=(e,n,r)=>{if(!n||n.ownerId===r.id)return e.status=`returning`,null;let i=e.fleet[t.Deathstar]||0;if(i===0)return e.status=`returning`,null;let o=hf(i,n.defense[a.PlanetaryShield]||0,gf(n.fleet,n.defense)),s=Math.random()*100{if(e.status!==`outbound`)return!1;let n=t-e.departureTime;return te<1e3?{powerRatio:.3+e/1e3*.2,checkInterval:300,resourceGrowthRate:.4,buildingGrowthSpeed:.4,techGrowthSpeed:.4}:e<5e3?{powerRatio:.5+(e-1e3)/4e3*.2,checkInterval:240,resourceGrowthRate:.6,buildingGrowthSpeed:.6,techGrowthSpeed:.6}:e<2e4?{powerRatio:.7+(e-5e3)/15e3*.2,checkInterval:180,resourceGrowthRate:.8,buildingGrowthSpeed:.8,techGrowthSpeed:.8}:e<5e4?{powerRatio:.9+(e-2e4)/3e4*.2,checkInterval:150,resourceGrowthRate:1,buildingGrowthSpeed:1,techGrowthSpeed:1}:{powerRatio:Math.min(1.3,1.1+(e-5e4)/5e4*.2),checkInterval:120,resourceGrowthRate:1.2,buildingGrowthSpeed:1.2,techGrowthSpeed:1.2},xf=e=>{let t=e.planets.filter(t=>t.ownerId===e.player.id);if(t.length===0)return{avgBuildingLevel:0,avgTechLevel:0,totalFleetPower:0,totalResources:0};let n=0,r=0;t.forEach(e=>{Object.values(e.buildings).forEach(e=>{n+=e,r++})});let i=Object.values(e.player.technologies),a=i.length>0?i.reduce((e,t)=>e+t,0)/i.length:0,o=0;t.forEach(e=>{Object.entries(e.fleet).forEach(([e,t])=>{let n=l[e],r=n.attack+n.shield+n.armor/10;o+=r*t})});let s=t.reduce((e,t)=>e+t.resources.metal+t.resources.crystal+t.resources.deuterium,0);return{avgBuildingLevel:r>0?n/r:0,avgTechLevel:a,totalFleetPower:o,totalResources:s}},Sf=e=>{let t=0,n=0;e.planets.forEach(e=>{Object.values(e.buildings).forEach(e=>{t+=e,n++})});let r=Object.values(e.technologies),i=r.length>0?r.reduce((e,t)=>e+t,0)/r.length:0,a=0;e.planets.forEach(e=>{Object.entries(e.fleet).forEach(([e,t])=>{let n=l[e],r=n.attack+n.shield+n.armor/10;a+=r*t})});let o=e.planets.reduce((e,t)=>e+t.resources.metal+t.resources.crystal+t.resources.deuterium,0);return{avgBuildingLevel:n>0?t/n:0,avgTechLevel:i,totalFleetPower:a,totalResources:o}},Cf=e=>{let t=e.planets[0];if(!t)return;let n=[i.MetalMine,i.CrystalMine,i.DeuteriumSynthesizer,i.SolarPlant,i.RoboticsFactory,i.Shipyard,i.ResearchLab,i.MetalStorage,i.CrystalStorage,i.DeuteriumTank,i.DarkMatterCollector];for(let e of n){let n=t.buildings[e]||0,r=n+1,i=d[e];if(i.maxLevel&&n>=i.maxLevel)continue;let a=Au(e,r);if(t.resources.metal>=a.metal&&t.resources.crystal>=a.crystal&&t.resources.deuterium>=a.deuterium&&t.resources.darkMatter>=a.darkMatter){t.resources.metal-=a.metal,t.resources.crystal-=a.crystal,t.resources.deuterium-=a.deuterium,t.resources.darkMatter-=a.darkMatter,t.buildings[e]=r;break}}},wf=e=>{let t=e.planets[0];if(!t)return;let n=[v.EnergyTechnology,v.ComputerTechnology,v.WeaponsTechnology,v.ShieldingTechnology,v.ArmourTechnology,v.CombustionDrive,v.ImpulseDrive,v.HyperspaceDrive,v.LaserTechnology,v.IonTechnology,v.PlasmaTechnology,v.Astrophysics,v.EspionageTechnology];for(let r of n){let n=e.technologies[r]||0,i=n+1,a=_[r];if(a.maxLevel&&n>=a.maxLevel)continue;let o=vu(r,i);if(t.resources.metal>=o.metal&&t.resources.crystal>=o.crystal&&t.resources.deuterium>=o.deuterium&&t.resources.darkMatter>=o.darkMatter){t.resources.metal-=o.metal,t.resources.crystal-=o.crystal,t.resources.deuterium-=o.deuterium,t.resources.darkMatter-=o.darkMatter,e.technologies[r]=i;break}}},Tf=e=>{let n=e.planets[0];if(!n)return;let r=[{shipType:t.LightFighter,priority:1},{shipType:t.HeavyFighter,priority:2},{shipType:t.Cruiser,priority:3},{shipType:t.Battleship,priority:4},{shipType:t.SmallCargo,priority:5},{shipType:t.LargeCargo,priority:6},{shipType:t.Recycler,priority:7},{shipType:t.EspionageProbe,priority:8}];r.sort((e,t)=>e.priority-t.priority);for(let{shipType:t}of r){let r=l[t];if(!Object.entries(r.requirements||{}).every(([t,r])=>t in i?(n.buildings[t]||0)>=r:t in v?(e.technologies[t]||0)>=r:!1))continue;let a=Math.floor(Math.min(n.resources.metal/r.cost.metal,n.resources.crystal/r.cost.crystal,n.resources.deuterium/r.cost.deuterium,r.cost.darkMatter>0?n.resources.darkMatter/r.cost.darkMatter:1/0)),o=Math.min(a,e.difficulty===`easy`?5:e.difficulty===`medium`?10:20);if(o>0){n.resources.metal-=r.cost.metal*o,n.resources.crystal-=r.cost.crystal*o,n.resources.deuterium-=r.cost.deuterium*o,n.resources.darkMatter-=r.cost.darkMatter*o,n.fleet[t]=(n.fleet[t]||0)+o;break}}},Ef=(e,t,n)=>{let r=e.planets[0];if(!r)return;let a=r.buildings[i.MetalMine]||0,o=r.buildings[i.CrystalMine]||0,s=r.buildings[i.DeuteriumSynthesizer]||0,c=r.buildings[i.DarkMatterCollector]||0,l=30*a*1.1**a*n.resourceGrowthRate,u=20*o*1.1**o*n.resourceGrowthRate,d=10*s*1.1**s*n.resourceGrowthRate,f=25*c*1.5**c/3600*n.resourceGrowthRate;r.resources.metal+=l*t,r.resources.crystal+=u*t,r.resources.deuterium+=d*t,r.resources.darkMatter+=f*t;let p=r.buildings[i.MetalStorage]||0,m=r.buildings[i.CrystalStorage]||0,h=r.buildings[i.DeuteriumTank]||0,g=r.buildings[i.DarkMatterTank]||0;r.resources.metal=Math.min(r.resources.metal,1e4*2**p),r.resources.crystal=Math.min(r.resources.crystal,1e4*2**m),r.resources.deuterium=Math.min(r.resources.deuterium,1e4*2**h),r.resources.darkMatter=Math.min(r.resources.darkMatter,1e3*2**g)},Df=(e,t,n)=>{let r=bf(t.player.points);Ef(e,n,r);let i=Date.now();if(i-(e.lastGrowthCheck||0)>=r.checkInterval*1e3){e.lastGrowthCheck=i;let n=xf(t),a=Sf(e),o=n.avgBuildingLevel*r.powerRatio,s=n.avgTechLevel*r.powerRatio,c=n.totalFleetPower*r.powerRatio;a.avgBuildingLevel{let n=yf[e.difficulty],r=e.planets[0];if(!r)return;let a=Math.max(5,Math.floor(t.avgBuildingLevel*n.powerRatio));r.buildings[i.MetalMine]=a,r.buildings[i.CrystalMine]=Math.floor(a*.8),r.buildings[i.DeuteriumSynthesizer]=Math.floor(a*.6),r.buildings[i.SolarPlant]=a+2,r.buildings[i.RoboticsFactory]=Math.floor(a*.5),r.buildings[i.Shipyard]=Math.floor(a*.4),r.buildings[i.ResearchLab]=Math.floor(a*.4),r.buildings[i.MetalStorage]=Math.floor(a*.3),r.buildings[i.CrystalStorage]=Math.floor(a*.3),r.buildings[i.DeuteriumTank]=Math.floor(a*.3);let o=Math.max(3,Math.floor(t.avgTechLevel*n.powerRatio));e.technologies[v.EnergyTechnology]=o,e.technologies[v.ComputerTechnology]=Math.floor(o*.8),e.technologies[v.WeaponsTechnology]=Math.floor(o*.7),e.technologies[v.ShieldingTechnology]=Math.floor(o*.7),e.technologies[v.ArmourTechnology]=Math.floor(o*.7),e.technologies[v.CombustionDrive]=Math.floor(o*.6),r.resources.metal=1e5*n.powerRatio,r.resources.crystal=5e4*n.powerRatio,r.resources.deuterium=2e4*n.powerRatio,r.resources.darkMatter=1e3*n.powerRatio},kf=e=>{e.forEach(e=>{e.allies||=[],e.enemies||=[],e.relations||={}}),e.forEach(t=>{let n=e.filter(e=>e.id!==t.id&&!t.allies.includes(e.id)&&!e.allies.includes(t.id));if(n.length===0)return;let r=Math.min(Math.floor(Math.random()*2)+1,n.length);for(let e=0;ee<1e3?{spyInterval:2400,attackInterval:4800,attackProbability:.15,minSpyProbes:1,attackFleetSizeRatio:.3}:e<5e3?{spyInterval:1800,attackInterval:3600,attackProbability:.25,minSpyProbes:2,attackFleetSizeRatio:.5}:e<2e4?{spyInterval:1200,attackInterval:2400,attackProbability:.4,minSpyProbes:3,attackFleetSizeRatio:.7}:e<5e4?{spyInterval:900,attackInterval:1800,attackProbability:.55,minSpyProbes:4,attackFleetSizeRatio:.85}:{spyInterval:600,attackInterval:1200,attackProbability:.7,minSpyProbes:5,attackFleetSizeRatio:.95},jf=(e,t,n,r)=>{if(n-(e.lastSpyTime||0){if(n-(e.lastAttackTime||0){let{NPC_GIFT_CONFIG:r}=c;if(!r.ENABLED||n-(e.lastGiftTime||0){let{NPC_GIFT_CONFIG:n}=c;Zd(e,t,{metal:Math.floor(Math.random()*(n.GIFT_AMOUNT.METAL.max-n.GIFT_AMOUNT.METAL.min+1))+n.GIFT_AMOUNT.METAL.min,crystal:Math.floor(Math.random()*(n.GIFT_AMOUNT.CRYSTAL.max-n.GIFT_AMOUNT.CRYSTAL.min+1))+n.GIFT_AMOUNT.CRYSTAL.min,deuterium:Math.floor(Math.random()*(n.GIFT_AMOUNT.DEUTERIUM.max-n.GIFT_AMOUNT.DEUTERIUM.min+1))+n.GIFT_AMOUNT.DEUTERIUM.min,darkMatter:0,energy:0}),e.lastGiftTime=Date.now()};var Ff=(e,t)=>{if(e.planets.length===0)return null;let n=null,r=1/0;for(let i of e.planets){let e=ef(i.position,t);Object.values(i.fleet).some(e=>(e||0)>0)&&e{let a=Ff(e,n.position);if(!a||(a.fleet[t.EspionageProbe]||0){let a=e.technologies[v.EspionageTechnology]||0,o=i.technologies[v.EspionageTechnology]||0,s=n.fleet[t.EspionageProbe]||0,c=Math.max(0,Math.min(100,50+(o-a)*10-s*5)),l=Math.random()*100=2?{...r.fleet}:void 0,defense:a>=4?{...r.defense}:void 0,buildings:a>=6?{...r.buildings}:void 0,technologies:a>=8?{...i.technologies}:void 0,detectionChance:c};e.playerSpyReports||={},e.playerSpyReports[r.id]=u;let d={id:`spied-${n.id}`,timestamp:Date.now(),npcId:e.id,npcName:e.name,targetPlanetId:r.id,targetPlanetName:r.name,detectionSuccess:l,read:!1};return n.status=`returning`,n.returnTime=Date.now()+(n.arrivalTime-n.departureTime),{spiedNotification:d,spyReport:u}};var Rf=(e,n,r,i)=>{let a={},o=!1,s=[t.LightFighter,t.HeavyFighter,t.Cruiser,t.Battleship,t.Bomber,t.Destroyer,t.Battlecruiser,t.Deathstar];for(let e of s){let t=n.fleet[e]||0;if(t>0){let n=Math.floor(t*i.attackFleetSizeRatio);n>0&&(a[e]=n,o=!0)}}return o?a:null};const zf=(e,t,n,r)=>{let i=Ff(e,t.position);if(!i)return null;let a=Rf(e,i,n,r);if(!a)return null;for(let[e,t]of Object.entries(a))i.fleet[e]=(i.fleet[e]||0)-t;let o=ef(i.position,t.position),s=1/0;for(let e of Object.keys(a))s=Math.min(s,1e4);let c=tf(o,s),l=Date.now(),d={id:`npc-attack-${e.id}-${l}`,playerId:e.id,npcId:e.id,isHostile:!0,originPlanetId:i.id,targetPosition:t.position,targetPlanetId:t.id,missionType:u.Attack,fleet:a,cargo:{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},departureTime:l,arrivalTime:l+c*1e3,status:`outbound`};return e.lastAttackTime=l,e.fleetMissions||=[],e.fleetMissions.push(d),d},Bf=(e,t,n)=>{let r=Object.values(e.fleet).reduce((e,t)=>e+(t||0),0);return{id:e.id,npcId:t.id,npcName:t.name,missionType:e.missionType,targetPlanetId:n.id,targetPlanetName:n.name,arrivalTime:e.arrivalTime,fleetSize:r,read:!1}},Vf=(e,t)=>{e.incomingFleetAlerts||=[],e.incomingFleetAlerts=e.incomingFleetAlerts.filter(e=>e.arrivalTime>t)},Hf=(e,t,n,r,i)=>{let a=Af(t.points),o=Jf(e,r);if(o.length>0){let r=e.fleetMissions?.filter(e=>e.missionType===u.Recycle&&e.status===`outbound`)||[],i=new Set(r.map(e=>e.debrisFieldId).filter(Boolean)),a=o.filter(e=>!i.has(e.id));if(a.length>0){let r=a[Math.floor(Math.random()*a.length)];r&&Yf(e,r,t,n)}}if(Xf(e,i)){let r=Zf(e,n,a);if(r){let i=n.find(e=>e.id===r.targetPlanetId);if(i){let n=Bf(r,e,i);t.incomingFleetAlerts||=[],t.incomingFleetAlerts.push(n)}return}}if(jf(e,t,i,a)){let r=n.filter(e=>e.ownerId===t.id);if(r.length>0){let i=r[Math.floor(Math.random()*r.length)];if(!i)return;let o=If(e,i,n,a);if(o){let n=Bf(o,e,i);t.incomingFleetAlerts||=[],t.incomingFleetAlerts.push(n)}}}if(Mf(e,t,i,a)&&e.playerSpyReports&&Object.keys(e.playerSpyReports).length>0){let r=Object.values(e.playerSpyReports),i=r[Math.floor(Math.random()*r.length)];if(!i)return;let o=n.find(e=>e.id===i.targetPlanetId);if(o){let n=zf(e,o,i,a);if(n){let r=Bf(n,e,o);t.incomingFleetAlerts||=[],t.incomingFleetAlerts.push(r)}}}Nf(e,t,i)&&Pf(e,t),Vf(t,i)},Uf=(e,t,n,r=0)=>{let i=Af(t.points),a=n.filter(e=>e.ownerId===t.id);if(a.length===0)return console.error(`[Test] No player planets found`),null;let o=a[r]||a[0];if(!o)return console.error(`[Test] Target planet not found`),null;let s=If(e,o,n,i);if(s){let n=Bf(s,e,o);t.incomingFleetAlerts||=[],t.incomingFleetAlerts.push(n)}else console.error(`[Test] Failed to create spy mission - NPC may not have spy probes`);return s},Wf=(e,t,n,r=0)=>{let i=Af(t.points);if(!e.playerSpyReports||Object.keys(e.playerSpyReports).length===0)return console.error(`[Test] No spy reports available - NPC must spy first!`),null;let a=n.filter(e=>e.ownerId===t.id);if(a.length===0)return console.error(`[Test] No player planets found`),null;let o=a[r]||a[0];if(!o)return console.error(`[Test] Target planet not found`),null;let s=e.playerSpyReports[o.id];if(!s)return console.error(`[Test] No spy report for ${o.name} - spy this planet first!`),null;let c=zf(e,o,s,i);if(c){let n=Bf(c,e,o);t.incomingFleetAlerts||=[],t.incomingFleetAlerts.push(n)}else console.error(`[Test] Failed to create attack mission - NPC may not have ships`);return c},Gf=(e,t,n,r=0)=>{let i=Uf(e,t,n,r);if(!i)return{spyMission:null,attackMission:null};let a=n.filter(e=>e.ownerId===t.id),o=a[r]||a[0];if(!o)return console.error(`[Test] Target planet not found`),{spyMission:i,attackMission:null};let{spyReport:s}=Lf(e,i,o,t);return e.playerSpyReports||={},e.playerSpyReports[o.id]=s,{spyMission:i,attackMission:Wf(e,t,n,r)}},Kf=(e,t,n=5)=>{if(!e.fleetMissions)return console.error(`[Test] NPC has no fleet missions`),!1;let r=e.fleetMissions.find(e=>e.id===t);return r?(r.arrivalTime=Date.now()+n*1e3,!0):(console.error(`[Test] Mission not found`),!1)},qf=(e,t=5)=>{if(!e.fleetMissions)return console.error(`[Test] NPC has no fleet missions`),0;let n=Date.now(),r=0;return e.fleetMissions.forEach(e=>{e.status===`outbound`?(e.arrivalTime=n+t*1e3,r++):e.status===`returning`&&e.returnTime&&(e.returnTime=n+t*1e3,r++)}),r},Jf=(e,t)=>{let n=[];for(let r of Object.values(t))for(let t of e.planets)r.position.galaxy===t.position.galaxy&&r.position.system===t.position.system&&(r.resources.metal>1e3||r.resources.crystal>1e3)&&Math.abs(r.position.position-t.position.position)<=15&&n.push(r);return n},Yf=(e,n,r,i)=>{let a=null,o=1/0;for(let t of e.planets)if(t.position.galaxy===n.position.galaxy&&t.position.system===n.position.system){let e=Math.abs(t.position.position-n.position.position);ee.ownerId===r.id&&e.position.galaxy===n.position.galaxy&&e.position.system===n.position.system&&e.position.position===n.position.position);if(h){let t=Bf(m,e,h);r.incomingFleetAlerts||=[],r.incomingFleetAlerts.push(t),r.npcActivityNotifications||=[],r.npcActivityNotifications.push({id:`npc-activity-${m.id}`,timestamp:p,npcId:e.id,npcName:e.name,activityType:`recycle`,targetPosition:n.position,targetPlanetId:h.id,targetPlanetName:h.name,arrivalTime:m.arrivalTime,read:!1})}return m},Xf=(e,t)=>{if(!e.revengeTarget||!e.attackedBy)return!1;let n=e.attackedBy[e.revengeTarget];if(!n)return!1;let r=t-n.lastAttackTime;return!(r>24*3600*1e3||r<600*1e3)},Zf=(e,t,n)=>{if(!e.revengeTarget||!e.attackedBy)return null;let r=e.attackedBy[e.revengeTarget];if(!r||!r.planetId)return null;let i=t.find(e=>e.id===r.planetId);if(!i)return null;let a=Ff(e,i.position);if(!a)return null;let o=Rf(e,a,{},{...n,attackFleetSizeRatio:Math.min(1,n.attackFleetSizeRatio*1.5)});if(!o)return null;for(let[e,t]of Object.entries(o))a.fleet[e]=(a.fleet[e]||0)-t;let s=ef(a.position,i.position),c=1/0;for(let e of Object.keys(o))c=Math.min(c,1e4);let l=tf(s,c),d=Date.now(),f={id:`npc-revenge-${e.id}-${d}`,playerId:e.id,npcId:e.id,isHostile:!0,originPlanetId:a.id,targetPosition:i.position,targetPlanetId:i.id,missionType:u.Attack,fleet:o,cargo:{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},departureTime:d,arrivalTime:d+l*1e3,status:`outbound`};return e.fleetMissions||=[],e.fleetMissions.push(f),e.revengeTarget=void 0,f},Qf=(e,t)=>{let n={};if(e.requirements&&Object.assign(n,e.requirements),e.levelRequirements){let r=Object.keys(e.levelRequirements).map(Number).filter(e=>e<=t).sort((e,t)=>e-t);for(let t of r){let r=e.levelRequirements[t];if(r)for(let[e,t]of Object.entries(r)){let r=n[e]||0;n[e]=Math.max(r,t)}}}return n},$f=(e,t,n)=>{if(!e||!n)return!0;for(let[r,a]of Object.entries(n))if(Object.values(i).includes(r)){if((e.buildings[r]||0)ld(e,Gu(t,Date.now())),tp=(e,t)=>ud(e,Gu(t,Date.now()).storageCapacityBonus),np=(e,t=0)=>{let n=e.buildings[i.NaniteFactory]||0;return Math.min(1+n+t,10)},rp=e=>{let t=e[v.ComputerTechnology]||0;return Math.min(1+t,10)},ip=(e=0)=>Math.min(1+e,10),ap=(e,t,n,r)=>{let i=Au(t,(e.buildings[t]||0)+1),a=d[t];if(a.planetOnly&&e.isMoon)return{valid:!1,reason:`errors.planetOnly`};if(a.moonOnly&&!e.isMoon)return{valid:!1,reason:`errors.moonOnly`};let o=np(e,Gu(r,Date.now()).additionalBuildQueue);return e.buildQueue.filter(e=>e.type===`building`||e.type===`demolish`).length>=o?{valid:!1,reason:`errors.buildQueueFull`}:Pu(e,t)?fd(e.resources,i)?Nu(t,e,n)?{valid:!0}:{valid:!1,reason:`errors.requirementsNotMet`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.insufficientSpace`}},op=(e,t,n)=>{let r=(e.buildings[t]||0)+1,a=Au(t,r),o=Gu(n,Date.now()),s=e.buildings[i.RoboticsFactory]||0,c=e.buildings[i.NaniteFactory]||0,l=ju(t,r,o.buildingSpeedBonus,s,c);return pd(e.resources,a),Fu(t,r,l)},sp=(e,t)=>{let n=Au(t.itemType,t.targetLevel||1);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},cp=(e,t)=>{let n=e.findIndex(e=>e.id===t);return n===-1?{item:null,index:-1}:{item:e[n]||null,index:n}},lp=(e,t,n)=>{if((e.buildings[t]||0)<=0)return{valid:!1,reason:`errors.buildingLevelZero`};let r=np(e,Gu(n,Date.now()).additionalBuildQueue);return e.buildQueue.filter(e=>e.type===`building`||e.type===`demolish`).length>=r?{valid:!1,reason:`errors.buildQueueFull`}:{valid:!0}},up=(e,t,n)=>{let r=e.buildings[t]||0,a=Gu(n,Date.now()),o=e.buildings[i.RoboticsFactory]||0,s=e.buildings[i.NaniteFactory]||0,c=Ru(t,r,a.buildingSpeedBonus,o,s),l=Lu(t,r);return e.resources.metal+=l.metal,e.resources.crystal+=l.crystal,e.resources.deuterium+=l.deuterium,e.resources.darkMatter+=l.darkMatter,zu(t,r,c)},dp=(e,t,n,r)=>{let i=vu(t,(n[t]||0)+1),a=rp(n);return r.length>=a?{valid:!1,reason:`errors.researchQueueFull`}:bu(t,e.buildings,n)?fd(e.resources,i)?{valid:!0}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},fp=(e,t,n,r,a)=>{let o=n+1,s=vu(t,o),c=Gu(r,Date.now()),l=e.buildings[i.ResearchLab]||1,u=a[v.EnergyTechnology]||0,d=yu(t,n,c.researchSpeedBonus,l,u);return pd(e.resources,s),{queueItem:xu(t,o,d)}},pp=e=>{let t=vu(e.itemType,e.targetLevel||1);return{metal:Math.floor(t.metal*.5),crystal:Math.floor(t.crystal*.5),deuterium:Math.floor(t.deuterium*.5),darkMatter:Math.floor(t.darkMatter*.5),energy:0}},mp=e=>{let n=0;for(let r of Object.values(t)){let t=e[r]||0,i=l[r];n+=t*i.storageUsage}return n},hp=(e,t)=>{let r=n.baseStorage,a=e.buildings[i.Shipyard]||0,o=d[i.Shipyard].fleetStorageBonus||0;r+=a*o;let s=t[v.ComputerTechnology]||0,c=_[v.ComputerTechnology].fleetStorageBonus||0;return r+=s*c,r},gp=(e,t,n,r)=>{let i=mp(e.fleet),a=hp(e,r);return i+l[t].storageUsage*n<=a},_p=(e,t,n,r)=>{let i=qu(t,n);return Zu(t,e.buildings,r)?fd(e.resources,i)?gp(e,t,n,r)?{valid:!0}:{valid:!1,reason:`errors.insufficientFleetStorage`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},vp=(e,t,n,r)=>{let a=qu(t,n),o=Gu(r,Date.now()),s=e.buildings[i.RoboticsFactory]||0,c=e.buildings[i.NaniteFactory]||0,l=Yu(t,n,o.buildingSpeedBonus,s,c);return pd(e.resources,a),ed(t,n,l)},yp=(e,t,n,r)=>{let i=Ju(t,n);return Qu(t,e.buildings,r)?fd(e.resources,i)?$u(t,e.defense,n)?{valid:!0}:{valid:!1,reason:`errors.shieldDomeLimit`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},bp=(e,t,n,r)=>{let a=Ju(t,n),o=Gu(r,Date.now()),s=e.buildings[i.RoboticsFactory]||0,c=e.buildings[i.NaniteFactory]||0,l=Xu(t,n,o.buildingSpeedBonus,s,c);return pd(e.resources,a),td(t,n,l)},xp=(e,t,n,r,i=0)=>{let a=Gu(r,Date.now());if(i>=ip(a.additionalFleetSlots))return{valid:!1,reason:`errors.fleetMissionsFull`};if(!nd(e.fleet,t))return{valid:!1,reason:`errors.insufficientFleet`};let o=rd(t,a.fuelConsumptionReduction,n);return e.resources.deuterium{ad(e.fleet,t),e.resources.deuterium-=n,r&&pd(e.resources,i)};export{Od as $,ws as $t,Lf as A,We as An,Lu as At,lf as B,vn as Bn,Bl as Bt,tp as C,eo as Cn,Gu as Ct,Wf as D,wr as Dn,Wu as Dt,Kf as E,Cr as En,Bu as Et,Df as F,on as Fn,Du as Ft,ff as G,Sn as Gn,q as Gt,_f as H,jn as Hn,nu as Ht,ef as I,cn as In,vu as It,Qd as J,Ae as Jn,$s as Jt,rf as K,P as Kn,Ir as Kt,tf as L,_n as Ln,yu as Lt,xf as M,H as Mn,Eu as Mt,kf as N,mn as Nn,ku as Nt,Gf as O,Dn as On,Au as Ot,Of as P,Ge as Pn,Ou as Pt,jd as Q,ps as Qt,nf as R,sn as Rn,gu as Rt,rp as S,ba as Sn,Yu as St,qf as T,Qa as Tn,Uu as Tt,of as U,On as Un,eu as Ut,pf as V,V as Vn,Vc as Vt,mf as W,Cn as Wn,J as Wt,Kd as X,Re as Xn,ms as Xt,Vd as Y,we as Yn,bs as Yt,$d as Z,ge as Zn,Es as Zt,ap as _,aa as _n,dd as _t,xp as a,Ja as an,Cd as at,np as b,xa as bn,rd as bt,hp as c,wa as cn,vd as ct,dp as d,Ui as dn,cd as dt,X as en,Ed as et,sp as f,Bi as fn,hd as ft,lp as g,ra as gn,pd as gt,cp as h,Ka as hn,fd as ht,yp as i,ec as in,Dd as it,Hf as j,dn as jn,Mu as jt,Uf as k,Ue as kn,ju as kt,pp as l,ks as ln,md as lt,op as m,cs as mn,ld as mt,Sp as n,$ as nn,wd as nt,_p as o,qa as on,yd as ot,up as p,Wi as pn,ud as pt,vf as q,ke as qn,Cs as qt,vp as r,Ss as rn,Sd as rt,mp as s,hs as sn,_d as st,bp as t,ei as tn,Td as tt,fp as u,or as un,gd as ut,$f as v,$i as vn,od as vt,ep as w,Za as wn,Hu as wt,ip as x,ti as xn,id as xt,Qf as y,sa as yn,Xu as yt,af as z,ln as zn,uu as zt}; \ No newline at end of file diff --git a/docs/assets/game-logic-CfBcTF_c.js b/docs/assets/game-logic-CfBcTF_c.js deleted file mode 100644 index 0b4f3f9..0000000 --- a/docs/assets/game-logic-CfBcTF_c.js +++ /dev/null @@ -1,3 +0,0 @@ -import{r as e}from"./rolldown-runtime-tX5UdD3f.js";import{a as t,c as n,d as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./game-config-D-D7cMgJ.js";function h(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var g={},_=[],v=()=>{},y=()=>!1,b=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),x=e=>e.startsWith(`onUpdate:`),S=Object.assign,C=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},w=Object.prototype.hasOwnProperty,T=(e,t)=>w.call(e,t),E=Array.isArray,D=e=>ae(e)===`[object Map]`,ee=e=>ae(e)===`[object Set]`,te=e=>ae(e)===`[object Date]`,ne=e=>ae(e)===`[object RegExp]`,O=e=>typeof e==`function`,k=e=>typeof e==`string`,re=e=>typeof e==`symbol`,A=e=>typeof e==`object`&&!!e,j=e=>(A(e)||O(e))&&O(e.then)&&O(e.catch),ie=Object.prototype.toString,ae=e=>ie.call(e),oe=e=>ae(e).slice(8,-1),se=e=>ae(e)===`[object Object]`,ce=e=>k(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,le=h(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ue=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},de=/-\w/g,M=ue(e=>e.replace(de,e=>e.slice(1).toUpperCase())),fe=/\B([A-Z])/g,N=ue(e=>e.replace(fe,`-$1`).toLowerCase()),pe=ue(e=>e.charAt(0).toUpperCase()+e.slice(1)),me=ue(e=>e?`on${pe(e)}`:``),P=(e,t)=>!Object.is(e,t),he=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},_e=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ve=e=>{let t=k(e)?Number(e):NaN;return isNaN(t)?e:t},ye,be=()=>ye||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},xe=h(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function Se(e){if(E(e)){let t={};for(let n=0;n{if(e){let n=e.split(we);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function De(e){let t=``;if(k(e))t=e;else if(E(e))for(let n=0;nNe(e,t))}var Fe=e=>!!(e&&e.__v_isRef===!0),Ie=e=>k(e)?e:e==null?``:E(e)||A(e)&&(e.toString===ie||!O(e.toString))?Fe(e)?Ie(e.value):JSON.stringify(e,Le,2):String(e),Le=(e,t)=>Fe(t)?Le(e,t.value):D(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Re(t,r)+` =>`]=n,e),{})}:ee(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Re(e))}:re(t)?Re(t):A(t)&&!E(t)&&!se(t)?String(t):t,Re=(e,t=``)=>re(e)?`Symbol(${e.description??t})`:e;function ze(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var F,Be=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=F,!e&&F&&(this.index=(F.scopes||=[]).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0&&(F=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Je){let e=Je;for(Je=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;qe;){let t=qe;for(qe=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Qe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function $e(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),nt(r),rt(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function et(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tt(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tt(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===dt)||(e.globalVersion=dt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!et(e))))return;e.flags|=2;let t=e.dep,n=I,r=ot;I=e,ot=!0;try{Qe(e);let n=e.fn(e._value);(t.version===0||P(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{I=n,ot=r,$e(e),e.flags&=-3}}function nt(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)nt(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function rt(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function it(e,t){e.effect instanceof Ge&&(e=e.effect.fn);let n=new Ge(e);t&&S(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function at(e){e.effect.stop()}var ot=!0,st=[];function ct(){st.push(ot),ot=!1}function lt(){let e=st.pop();ot=e===void 0?!0:e}function ut(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=I;I=void 0;try{t()}finally{I=e}}}var dt=0,ft=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},pt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!I||!ot||I===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==I)t=this.activeLink=new ft(I,this),I.deps?(t.prevDep=I.depsTail,I.depsTail.nextDep=t,I.depsTail=t):I.deps=I.depsTail=t,mt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=I.depsTail,t.nextDep=void 0,I.depsTail.nextDep=t,I.depsTail=t,I.deps===t&&(I.deps=e)}return t}trigger(e){this.version++,dt++,this.notify(e)}notify(e){Xe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ze()}}};function mt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)mt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ht=new WeakMap,gt=Symbol(``),_t=Symbol(``),vt=Symbol(``);function L(e,t,n){if(ot&&I){let t=ht.get(e);t||ht.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new pt),r.map=t,r.key=n),r.track()}}function yt(e,t,n,r,i,a){let o=ht.get(e);if(!o){dt++;return}let s=e=>{e&&e.trigger()};if(Xe(),t===`clear`)o.forEach(s);else{let i=E(e),a=i&&ce(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===vt||!re(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(vt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(gt)),D(e)&&s(o.get(_t)));break;case`delete`:i||(s(o.get(gt)),D(e)&&s(o.get(_t)));break;case`set`:D(e)&&s(o.get(gt));break}}Ze()}function bt(e,t){let n=ht.get(e);return n&&n.get(t)}function xt(e){let t=z(e);return t===e?t:(L(t,`iterate`,vt),R(e)?t:t.map(pn))}function St(e){return L(e=z(e),`iterate`,vt),e}function Ct(e,t){return un(e)?ln(e)?mn(pn(t)):mn(t):pn(t)}var wt={__proto__:null,[Symbol.iterator](){return Tt(this,Symbol.iterator,e=>Ct(this,e))},concat(...e){return xt(this).concat(...e.map(e=>E(e)?xt(e):e))},entries(){return Tt(this,`entries`,e=>(e[1]=Ct(this,e[1]),e))},every(e,t){return Dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return Dt(this,`filter`,e,t,e=>e.map(e=>Ct(this,e)),arguments)},find(e,t){return Dt(this,`find`,e,t,e=>Ct(this,e),arguments)},findIndex(e,t){return Dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Dt(this,`findLast`,e,t,e=>Ct(this,e),arguments)},findLastIndex(e,t){return Dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return kt(this,`includes`,e)},indexOf(...e){return kt(this,`indexOf`,e)},join(e){return xt(this).join(e)},lastIndexOf(...e){return kt(this,`lastIndexOf`,e)},map(e,t){return Dt(this,`map`,e,t,void 0,arguments)},pop(){return At(this,`pop`)},push(...e){return At(this,`push`,e)},reduce(e,...t){return Ot(this,`reduce`,e,t)},reduceRight(e,...t){return Ot(this,`reduceRight`,e,t)},shift(){return At(this,`shift`)},some(e,t){return Dt(this,`some`,e,t,void 0,arguments)},splice(...e){return At(this,`splice`,e)},toReversed(){return xt(this).toReversed()},toSorted(e){return xt(this).toSorted(e)},toSpliced(...e){return xt(this).toSpliced(...e)},unshift(...e){return At(this,`unshift`,e)},values(){return Tt(this,`values`,e=>Ct(this,e))}};function Tt(e,t,n){let r=St(e),i=r[t]();return r!==e&&!R(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Et=Array.prototype;function Dt(e,t,n,r,i,a){let o=St(e),s=o!==e&&!R(e),c=o[t];if(c!==Et[t]){let t=c.apply(e,a);return s?pn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,Ct(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function Ot(e,t,n,r){let i=St(e),a=n;return i!==e&&(R(e)?n.length>3&&(a=function(t,r,i){return n.call(this,t,r,i,e)}):a=function(t,r,i){return n.call(this,t,Ct(e,r),i,e)}),i[t](a,...r)}function kt(e,t,n){let r=z(e);L(r,`iterate`,vt);let i=r[t](...n);return(i===-1||i===!1)&&dn(n[0])?(n[0]=z(n[0]),r[t](...n)):i}function At(e,t,n=[]){ct(),Xe();let r=z(e)[t].apply(e,n);return Ze(),lt(),r}var jt=h(`__proto__,__v_isRef,__isVue`),Mt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(re));function Nt(e){re(e)||(e=String(e));let t=z(this);return L(t,`has`,e),t.hasOwnProperty(e)}var Pt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?en:$t:i?Qt:Zt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=E(e);if(!r){let e;if(a&&(e=wt[t]))return e;if(t===`hasOwnProperty`)return Nt}let o=Reflect.get(e,t,B(e)?e:n);if((re(t)?Mt.has(t):jt(t))||(r||L(e,`get`,t),i))return o;if(B(o)){let e=a&&ce(t)?o:o.value;return r&&A(e)?on(e):e}return A(o)?r?on(o):rn(o):o}},Ft=class extends Pt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=E(e)&&ce(t);if(!this._isShallow){let e=un(i);if(!R(n)&&!un(n)&&(i=z(i),n=z(n)),!a&&B(i)&&!B(n))return e||(i.value=n),!0}let o=a?Number(t)e,Ht=e=>Reflect.getPrototypeOf(e);function Ut(e,t,n){return function(...r){let i=this.__v_raw,a=z(i),o=D(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Vt:t?mn:pn;return!t&&L(a,`iterate`,c?_t:gt),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Wt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Gt(e,t){let n={get(n){let r=this.__v_raw,i=z(r),a=z(n);e||(P(n,a)&&L(i,`get`,n),L(i,`get`,a));let{has:o}=Ht(i),s=t?Vt:e?mn:pn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&L(z(t),`iterate`,gt),t.size},has(t){let n=this.__v_raw,r=z(n),i=z(t);return e||(P(t,i)&&L(r,`has`,t),L(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=z(a),s=t?Vt:e?mn:pn;return!e&&L(o,`iterate`,gt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return S(n,e?{add:Wt(`add`),set:Wt(`set`),delete:Wt(`delete`),clear:Wt(`clear`)}:{add(e){!t&&!R(e)&&!un(e)&&(e=z(e));let n=z(this);return Ht(n).has.call(n,e)||(n.add(e),yt(n,`add`,e,e)),this},set(e,n){!t&&!R(n)&&!un(n)&&(n=z(n));let r=z(this),{has:i,get:a}=Ht(r),o=i.call(r,e);o||=(e=z(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?P(n,s)&&yt(r,`set`,e,n,s):yt(r,`add`,e,n),this},delete(e){let t=z(this),{has:n,get:r}=Ht(t),i=n.call(t,e);i||=(e=z(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&yt(t,`delete`,e,void 0,a),o},clear(){let e=z(this),t=e.size!==0,n=e.clear();return t&&yt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Ut(r,e,t)}),n}function Kt(e,t){let n=Gt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(T(n,r)&&r in t?n:t,r,i)}var qt={get:Kt(!1,!1)},Jt={get:Kt(!1,!0)},Yt={get:Kt(!0,!1)},Xt={get:Kt(!0,!0)},Zt=new WeakMap,Qt=new WeakMap,$t=new WeakMap,en=new WeakMap;function tn(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function nn(e){return e.__v_skip||!Object.isExtensible(e)?0:tn(oe(e))}function rn(e){return un(e)?e:cn(e,!1,Lt,qt,Zt)}function an(e){return cn(e,!1,zt,Jt,Qt)}function on(e){return cn(e,!0,Rt,Yt,$t)}function sn(e){return cn(e,!0,Bt,Xt,en)}function cn(e,t,n,r,i){if(!A(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=nn(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function ln(e){return un(e)?ln(e.__v_raw):!!(e&&e.__v_isReactive)}function un(e){return!!(e&&e.__v_isReadonly)}function R(e){return!!(e&&e.__v_isShallow)}function dn(e){return e?!!e.__v_raw:!1}function z(e){let t=e&&e.__v_raw;return t?z(t):e}function fn(e){return!T(e,`__v_skip`)&&Object.isExtensible(e)&&ge(e,`__v_skip`,!0),e}var pn=e=>A(e)?rn(e):e,mn=e=>A(e)?on(e):e;function B(e){return e?e.__v_isRef===!0:!1}function hn(e){return _n(e,!1)}function gn(e){return _n(e,!0)}function _n(e,t){return B(e)?e:new vn(e,t)}var vn=class{constructor(e,t){this.dep=new pt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:z(e),this._value=t?e:pn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||R(e)||un(e);e=n?e:z(e),P(e,t)&&(this._rawValue=e,this._value=n?e:pn(e),this.dep.trigger())}};function yn(e){e.dep&&e.dep.trigger()}function bn(e){return B(e)?e.value:e}function xn(e){return O(e)?e():bn(e)}var Sn={get:(e,t,n)=>t===`__v_raw`?e:bn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return B(i)&&!B(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Cn(e){return ln(e)?e:new Proxy(e,Sn)}var wn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new pt,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function Tn(e){return new wn(e)}function En(e){let t=E(e)?Array(e.length):{};for(let n in e)t[n]=An(e,n);return t}var Dn=class{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=z(e);let r=!0,i=e;if(!E(e)||!ce(String(t)))do r=!dn(i)||R(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=bn(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&B(this._raw[this._key])){let t=this._object[this._key];if(B(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return bt(this._raw,this._key)}},On=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function kn(e,t,n){return B(e)?e:O(e)?new On(e):A(e)&&arguments.length>1?An(e,t,n):hn(e)}function An(e,t,n){return new Dn(e,t,n)}var jn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new pt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=dt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&I!==this)return Ye(this,!0),!0}get value(){let e=this.dep.track();return tt(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Mn(e,t,n=!1){let r,i;return O(e)?r=e:(r=e.get,i=e.set),new jn(r,i,n)}var Nn={GET:`get`,HAS:`has`,ITERATE:`iterate`},Pn={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},Fn={},In=new WeakMap,Ln=void 0;function Rn(){return Ln}function zn(e,t=!1,n=Ln){if(n){let t=In.get(n);t||In.set(n,t=[]),t.push(e)}}function Bn(e,t,n=g){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:R(e)||i===!1||i===0?Vn(e,1):Vn(e),u,d,f,p,m=!1,h=!1;if(B(e)?(d=()=>e.value,m=R(e)):ln(e)?(d=()=>l(e),m=!0):E(e)?(h=!0,m=e.some(e=>ln(e)||R(e)),d=()=>e.map(e=>{if(B(e))return e.value;if(ln(e))return l(e);if(O(e))return c?c(e,2):e()})):d=O(e)?t?c?()=>c(e,2):e:()=>{if(f){ct();try{f()}finally{lt()}}let t=Ln;Ln=u;try{return c?c(e,3,[p]):e(p)}finally{Ln=t}}:v,t&&i){let e=d,t=i===!0?1/0:i;d=()=>Vn(e(),t)}let _=He(),y=()=>{u.stop(),_&&_.active&&C(_.effects,u)};if(a&&t){let e=t;t=(...t)=>{e(...t),y()}}let b=h?Array(e.length).fill(Fn):Fn,x=e=>{if(!(!(u.flags&1)||!u.dirty&&!e))if(t){let e=u.run();if(i||m||(h?e.some((e,t)=>P(e,b[t])):P(e,b))){f&&f();let n=Ln;Ln=u;try{let n=[e,b===Fn?void 0:h&&b[0]===Fn?[]:b,p];b=e,c?c(t,3,n):t(...n)}finally{Ln=n}}}else u.run()};return s&&s(x),u=new Ge(d),u.scheduler=o?()=>o(x,!1):x,p=e=>zn(e,!1,u),f=u.onStop=()=>{let e=In.get(u);if(e){if(c)c(e,4);else for(let t of e)t();In.delete(u)}},t?r?x(!0):b=u.run():o?o(x.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function Vn(e,t=1/0,n){if(t<=0||!A(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,B(e))Vn(e.value,t,n);else if(E(e))for(let r=0;r{Vn(e,t,n)});else if(se(e)){for(let r in e)Vn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Vn(e[r],t,n)}return e}var Hn=[];function Un(e){Hn.push(e)}function Wn(){Hn.pop()}function Gn(e,t){}var Kn={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},qn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function Jn(e,t,n,r){try{return r?e(...r):e()}catch(e){Xn(e,t,n)}}function Yn(e,t,n,r){if(O(e)){let i=Jn(e,t,n,r);return i&&j(i)&&i.catch(e=>{Xn(e,t,n)}),i}if(E(e)){let i=[];for(let a=0;a>>1,i=V[r],a=dr(i);a=dr(n)?V.push(e):V.splice(ar(t),0,e),e.flags|=1,sr()}}function sr(){rr||=nr.then(fr)}function cr(e){E(e)?$n.push(...e):er&&e.id===-1?er.splice(tr+1,0,e):e.flags&1||($n.push(e),e.flags|=1),sr()}function lr(e,t,n=Qn+1){for(;ndr(e)-dr(t));if($n.length=0,er){er.push(...e);return}for(er=e,tr=0;tre.id==null?e.flags&2?-1:1/0:e.id;function fr(e){try{for(Qn=0;Qnpr.emit(e,...t)),mr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{hr(e,t)}),setTimeout(()=>{pr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,mr=[])},3e3)):mr=[]}var H=null,gr=null;function _r(e){let t=H;return H=e,gr=e&&e.type.__scopeId||null,t}function vr(e){gr=e}function yr(){gr=null}var br=e=>xr;function xr(e,t=H,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&ls(-1);let i=_r(t),a;try{a=e(...n)}finally{_r(i),r._d&&ls(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Sr(e,t){if(H===null)return e;let n=qs(H),r=e.dirs||=[];for(let e=0;ee.__isTeleport,Er=e=>e&&(e.disabled||e.disabled===``),Dr=e=>e&&(e.defer||e.defer===``),Or=e=>typeof SVGElement<`u`&&e instanceof SVGElement,kr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Ar=(e,t)=>{let n=e&&e.to;return k(n)?t?t(n):null:n},jr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g}}=l,_=Er(t.props),{shapeFlag:v,children:y,dynamicChildren:b}=t;if(e==null){let e=t.el=h(``),l=t.anchor=h(``);p(e,n,r),p(l,n,r);let d=(e,t)=>{v&16&&u(y,e,t,i,a,o,s,c)},f=()=>{let e=t.target=Ar(t.props,m),n=Ir(e,t,h,p);e&&(o!==`svg`&&Or(e)?o=`svg`:o!==`mathml`&&kr(e)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(e),_||(d(e,n),Fr(t,!1)))};_&&(d(n,l),Fr(t,!0)),Dr(t.props)?(t.el.__isMounted=!1,W(()=>{f(),delete t.el.__isMounted},a)):f()}else{if(Dr(t.props)&&e.el.__isMounted===!1){W(()=>{jr.process(e,t,n,r,i,a,o,s,c,l)},a);return}t.el=e.el,t.targetStart=e.targetStart;let u=t.anchor=e.anchor,p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Er(e.props),v=g?n:p,y=g?u:h;if(o===`svg`||Or(p)?o=`svg`:(o===`mathml`||kr(p))&&(o=`mathml`),b?(f(e.dynamicChildren,b,v,i,a,o,s),Bo(e,t,!0)):c||d(e,t,v,y,i,a,o,s,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Mr(t,n,u,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=Ar(t.props,m);e&&Mr(t,e,null,l,0)}else g&&Mr(t,p,h,l,1);Fr(t,_)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e;if(d&&(i(l),i(u)),a&&i(c),o&16){let e=a||!Er(f);for(let i=0;i{e.isMounted=!0}),Vi(()=>{e.isUnmounting=!0}),e}var Br=[Function,Array],Vr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Br,onEnter:Br,onAfterEnter:Br,onEnterCancelled:Br,onBeforeLeave:Br,onLeave:Br,onAfterLeave:Br,onLeaveCancelled:Br,onBeforeAppear:Br,onAppear:Br,onAfterAppear:Br,onAppearCancelled:Br},Hr=e=>{let t=e.subTree;return t.component?Hr(t.component):t},Ur={name:`BaseTransition`,props:Vr,setup(e,{slots:t}){let n=Q(),r=zr();return()=>{let i=t.default&&Zr(t.default(),!0);if(!i||!i.length)return;let a=Wr(i),o=z(e),{mode:s}=o;if(r.isLeaving)return Jr(a);let c=Yr(a);if(!c)return Jr(a);let l=qr(c,o,r,n,e=>l=e);c.type!==K&&Xr(c,l);let u=n.subTree&&Yr(n.subTree);if(u&&u.type!==K&&!ms(u,c)&&Hr(n).type!==K){let e=qr(u,o,r,n);if(Xr(u,e),s===`out-in`&&c.type!==K)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Jr(a);s===`in-out`&&c.type!==K?e.delayLeave=(e,t,n)=>{let i=Kr(r,u);i[String(u.key)]=u,e[Lr]=()=>{t(),e[Lr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Wr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==K){t=n;break}}return t}var Gr=Ur;function Kr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function qr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Kr(n,e),S=(e,t)=>{e&&Yn(e,r,9,t)},C=(e,t)=>{let n=t[1];S(e,t),E(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[Lr]&&t[Lr](!0);let i=x[b];i&&ms(e,i)&&i.el[Lr]&&i.el[Lr](),S(r,[t])},enter(e){let t=l,r=u,i=d;if(!n.isMounted)if(a)t=_||l,r=v||u,i=y||d;else return;let o=!1,s=e[Rr]=t=>{o||(o=!0,S(t?i:r,[e]),w.delayedLeave&&w.delayedLeave(),e[Rr]=void 0)};t?C(t,[e,s]):s()},leave(t,r){let i=String(e.key);if(t[Rr]&&t[Rr](!0),n.isUnmounting)return r();S(f,[t]);let a=!1,o=t[Lr]=n=>{a||(a=!0,r(),S(n?h:m,[t]),t[Lr]=void 0,x[i]===e&&delete x[i])};x[i]=e,p?C(p,[t,o]):o()},clone(e){let a=qr(e,t,n,r,i);return i&&i(a),a}};return w}function Jr(e){if(Ei(e))return e=xs(e),e.children=null,e}function Yr(e){if(!Ei(e))return Tr(e.type)&&e.children?Wr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&O(n.default))return n.default()}}function Xr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Xr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eS({name:e.name},t,{setup:e}))():e}function $r(){let e=Q();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+ e.ids[1]++:``}function ei(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function ti(e){let t=Q(),n=gn(null);if(t){let r=t.refs===g?t.refs={}:t.refs;Object.defineProperty(r,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}var ni=new WeakMap;function ri(e,t,n,r,i=!1){if(E(e)){e.forEach((e,a)=>ri(e,t&&(E(t)?t[a]:t),n,r,i));return}if(Ci(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&ri(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?qs(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===g?s.refs={}:s.refs,d=s.setupState,f=z(d),p=d===g?y:e=>T(f,e),m=e=>!0;if(l!=null&&l!==c){if(ii(t),k(l))u[l]=null,p(l)&&(d[l]=null);else if(B(l)){m(l)&&(l.value=null);let e=t;e.k&&(u[e.k]=null)}}if(O(c))Jn(c,s,12,[o,u]);else{let t=k(c),r=B(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)E(n)&&C(n,a);else if(E(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r&&(m(c)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),ni.delete(e)};t.id=-1,ni.set(e,t),W(t,n)}else ii(e),s()}}}function ii(e){let t=ni.get(e);t&&(t.flags|=8,ni.delete(e))}var ai=!1,oi=()=>{ai||=(console.error(`Hydration completed but contains mismatches.`),!0)},si=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,ci=e=>e.namespaceURI.includes(`MathML`),li=e=>{if(e.nodeType===1){if(si(e))return`svg`;if(ci(e))return`mathml`}},ui=e=>e.nodeType===8;function di(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:o,remove:s,insert:c,createComment:l}}=e,u=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),ur(),t._vnode=e;return}d(t.firstChild,e,null,null,null),ur(),t._vnode=e},d=(n,r,s,l,u,y=!1)=>{y||=!!r.dynamicChildren;let b=ui(n)&&n.data===`[`,x=()=>h(n,r,s,l,u,b),{type:S,ref:C,shapeFlag:w,patchFlag:T}=r,E=n.nodeType;r.el=n,T===-2&&(y=!1,r.dynamicChildren=null);let D=null;switch(S){case rs:E===3?(n.data!==r.children&&(oi(),n.data=r.children),D=a(n)):r.children===``?(c(r.el=i(``),o(n),n),D=n):D=x();break;case K:v(n)?(D=a(n),_(r.el=n.content.firstChild,n,s)):D=E!==8||b?x():a(n);break;case is:if(b&&(n=a(n),E=n.nodeType),E===1||E===3){D=n;let e=!r.children.length;for(let t=0;t{o||=!!t.dynamicChildren;let{type:c,props:l,patchFlag:u,shapeFlag:d,dirs:f,transition:m}=t,h=c===`input`||c===`option`;if(h||u!==-1){f&&Cr(t,null,n,`created`);let c=!1;if(v(e)){c=zo(null,m)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(c){let e=r.getAttribute(`class`);e&&(r.$cls=e),m.beforeEnter(r)}_(r,e,n),t.el=e=r}if(d&16&&!(l&&(l.innerHTML||l.textContent))){let r=p(e.firstChild,t,e,n,i,a,o);for(;r;){mi(e,1)||oi();let t=r;r=r.nextSibling,s(t)}}else if(d&8){let n=t.children;n[0]===` -`&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,` -`)&&(mi(e,0)||oi(),e.textContent=t.children)}if(l){if(h||!o||u&48){let t=e.tagName.includes(`-`);for(let i in l)(h&&(i.endsWith(`value`)||i===`indeterminate`)||b(i)&&!le(i)||i[0]===`.`||t)&&r(e,i,null,l[i],void 0,n)}else if(l.onClick)r(e,`onClick`,null,l.onClick,void 0,n);else if(u&4&&ln(l.style))for(let e in l.style)l.style[e]}let g;(g=l&&l.onVnodeBeforeMount)&&X(g,n,t),f&&Cr(t,null,n,`beforeMount`),((g=l&&l.onVnodeMounted)||f||c)&&es(()=>{g&&X(g,n,t),c&&m.enter(e),f&&Cr(t,null,n,`mounted`)},i)}return e.nextSibling},p=(e,t,r,o,s,l,u)=>{u||=!!t.dynamicChildren;let f=t.children,p=f.length;for(let t=0;t{let{slotScopeIds:u}=t;u&&(i=i?i.concat(u):u);let d=o(e),f=p(a(e),t,d,n,r,i,s);return f&&ui(f)&&f.data===`]`?a(t.anchor=f):(oi(),c(t.anchor=l(`]`),d,f),f)},h=(e,t,r,i,c,l)=>{if(mi(e.parentElement,1)||oi(),t.el=null,l){let t=g(e);for(;;){let n=a(e);if(n&&n!==t)s(n);else break}}let u=a(e),d=o(e);return s(e),n(null,t,d,u,r,i,li(d),c),r&&(r.vnode.el=t.el,ho(r,t.el)),u},g=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&ui(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},_=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},v=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[u,d]}var fi=`data-allow-mismatch`,pi={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function mi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(fi);)e=e.parentElement;let n=e&&e.getAttribute(fi);if(n==null)return!1;if(n===``)return!0;{let e=n.split(`,`);return t===0&&e.includes(`children`)?!0:e.includes(pi[t])}}var hi=be().requestIdleCallback||(e=>setTimeout(e,1)),gi=be().cancelIdleCallback||(e=>clearTimeout(e)),_i=(e=1e4)=>t=>{let n=hi(t,{timeout:e});return()=>gi(n)};function vi(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&i(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(vi(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},bi=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},xi=(e=[])=>(t,n)=>{k(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function Si(e,t){if(ui(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(ui(r))if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++;r=r.nextSibling}}else t(e)}var Ci=e=>!!e.type.__asyncLoader;function wi(e){O(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return Qr({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=!1;(t.bu||=[]).push(()=>r=!0);let i=()=>{r||n()},o=a?()=>{let n=a(i,t=>Si(e,t));n&&(t.bum||=[]).push(n)}:i;u?o():p().then(()=>!t.isUnmounted&&o())},get __asyncResolved(){return u},setup(){let e=Z;if(ei(e),u)return()=>Ti(u,e);let t=t=>{l=null,Xn(t,e,13,!r)};if(s&&e.suspense||Is)return p().then(t=>()=>Ti(t,e)).catch(e=>(t(e),()=>r?J(r,{error:e}):null));let a=hn(!1),c=hn(),d=hn(!!i);return i&&setTimeout(()=>{d.value=!1},i),o!=null&&setTimeout(()=>{if(!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o),p().then(()=>{a.value=!0,e.parent&&Ei(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),c.value=e}),()=>{if(a.value&&u)return Ti(u,e);if(c.value&&r)return J(r,{error:c.value});if(n&&!d.value)return Ti(n,e)}}})}function Ti(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=J(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Ei=e=>e.type.__isKeepAlive,Di={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Q(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),W(()=>{a.isDeactivated=!1,a.a&&he(a.a);let t=e.props&&e.props.onVnodeMounted;t&&X(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Uo(t.m),Uo(t.a),l(e,f,null,1,s),W(()=>{t.da&&he(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&X(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Ni(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=Js(t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!ms(t,o))?p(t):o&&Ni(o),i.delete(e),a.delete(e)}Qa(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Oi(e,t)),t&&m(e=>!Oi(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Wo(n.subTree.type)?W(()=>{i.set(g,Pi(n.subTree))},n.subTree.suspense):i.set(g,Pi(n.subTree)))};return Ri(_),Bi(_),Vi(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Pi(t);if(e.type===i.type&&e.key===i.key){Ni(i);let e=i.component.da;e&&W(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!ps(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Pi(r);if(s.type===K)return o=null,s;let c=s.type,l=Js(Ci(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Oi(u,l))||d&&l&&Oi(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=xs(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&Xr(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Wo(r.type)?r:s}}};function Oi(e,t){return E(e)?e.some(e=>Oi(e,t)):k(e)?e.split(`,`).includes(t):ne(e)?(e.lastIndex=0,e.test(t)):!1}function ki(e,t){ji(e,`a`,t)}function Ai(e,t){ji(e,`da`,t)}function ji(e,t,n=Z){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Fi(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Ei(e.parent.vnode)&&Mi(r,t,n,e),e=e.parent}}function Mi(e,t,n,r){let i=Fi(t,e,r,!0);Hi(()=>{C(r[t],i)},n)}function Ni(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Pi(e){return e.shapeFlag&128?e.ssContent:e}function Fi(e,t,n=Z,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{ct();let i=Ns(n),a=Yn(t,n,e,r);return i(),lt(),a};return r?i.unshift(a):i.push(a),a}}var Ii=e=>(t,n=Z)=>{(!Is||e===`sp`)&&Fi(e,(...e)=>t(...e),n)},Li=Ii(`bm`),Ri=Ii(`m`),zi=Ii(`bu`),Bi=Ii(`u`),Vi=Ii(`bum`),Hi=Ii(`um`),Ui=Ii(`sp`),Wi=Ii(`rtg`),Gi=Ii(`rtc`);function Ki(e,t=Z){Fi(`ec`,e,t)}var qi=`components`,Ji=`directives`;function Yi(e,t){return $i(qi,e,!0,t)||e}var Xi=Symbol.for(`v-ndc`);function Zi(e){return k(e)?$i(qi,e,!1)||e:e||Xi}function Qi(e){return $i(Ji,e)}function $i(e,t,n=!0,r=!1){let i=H||Z;if(i){let n=i.type;if(e===qi){let e=Js(n,!1);if(e&&(e===t||e===M(t)||e===pe(M(t))))return n}let a=ea(i[e]||n[e],t)||ea(i.appContext[e],t);return!a&&r?n:a}}function ea(e,t){return e&&(e[t]||e[M(t)]||e[pe(M(t))])}function ta(e,t,n,r){let i,a=n&&n[r],o=E(e);if(o||k(e)){let n=o&&ln(e),r=!1,s=!1;n&&(r=!R(e),s=un(e),e=St(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ra(e,t,n={},r,i){if(H.ce||H.parent&&Ci(H.parent)&&H.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),os(),fs(G,null,[J(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),os();let o=a&&ia(a(n)),s=n.key||o&&o.key,c=fs(G,{key:(s&&!re(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function ia(e){return e.some(e=>ps(e)?!(e.type===K||e.type===G&&!ia(e.children)):!0)?e:null}function aa(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:me(r)]=e[r];return n}var oa=e=>e?Fs(e)?qs(e):oa(e.parent):null,sa=S(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>oa(e.parent),$root:e=>oa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ja(e),$forceUpdate:e=>e.f||=()=>{or(e.update)},$nextTick:e=>e.n||=ir.bind(e.proxy),$watch:e=>eo.bind(e)}),ca=(e,t)=>e!==g&&!e.__isScriptSetup&&T(e,t),la={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(ca(r,t))return o[t]=1,r[t];else if(i!==g&&T(i,t))return o[t]=2,i[t];else if(T(a,t))return o[t]=3,a[t];else if(n!==g&&T(n,t))return o[t]=4,n[t];else Ea&&(o[t]=0)}let l=sa[t],u,d;if(l)return t===`$attrs`&&L(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==g&&T(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,T(d,t))return d[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return ca(i,t)?(i[t]=n,!0):r!==g&&T(r,t)?(r[t]=n,!0):T(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==g&&s[0]!==`$`&&T(e,s)||ca(t,s)||T(a,s)||T(r,s)||T(sa,s)||T(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?T(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},ua=S({},la,{get(e,t){if(t!==Symbol.unscopables)return la.get(e,t,e)},has(e,t){return t[0]!==`_`&&!xe(t)}});function da(){return null}function fa(){return null}function pa(e){}function ma(e){}function ha(){return null}function ga(){}function _a(e,t){return null}function va(){return ba(`useSlots`).slots}function ya(){return ba(`useAttrs`).attrs}function ba(e){let t=Q();return t.setupContext||=Ks(t)}function xa(e){return E(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function Sa(e,t){let n=xa(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?E(r)||O(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function Ca(e,t){return!e||!t?e||t:E(e)&&E(t)?e.concat(t):S({},xa(e),xa(t))}function wa(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Ta(e){let t=Q(),n=e();return Ps(),j(n)&&(n=n.catch(e=>{throw Ns(t),e})),[n,()=>Ns(t)]}var Ea=!0;function Da(e){let t=ja(e),n=e.proxy,r=e.ctx;Ea=!1,t.beforeCreate&&ka(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:b,unmounted:x,render:S,renderTracked:C,renderTriggered:w,errorCaptured:T,serverPrefetch:D,expose:ee,inheritAttrs:te,components:ne,directives:k,filters:re}=t;if(l&&Oa(l,r,null),o)for(let e in o){let t=o[e];O(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);A(t)&&(e.data=rn(t))}if(Ea=!0,a)for(let e in a){let t=a[e],i=Xs({get:O(t)?t.bind(n,n):O(t.get)?t.get.bind(n,n):v,set:!O(t)&&O(t.set)?t.set.bind(n):v});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)Aa(s[e],r,n,e);if(c){let e=O(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{Wa(t,e[t])})}u&&ka(u,e,`c`);function j(e,t){E(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(j(Li,d),j(Ri,f),j(zi,p),j(Bi,m),j(ki,h),j(Ai,g),j(Ki,T),j(Gi,C),j(Wi,w),j(Vi,y),j(Hi,x),j(Ui,D),E(ee))if(ee.length){let t=e.exposed||={};ee.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};S&&e.render===v&&(e.render=S),te!=null&&(e.inheritAttrs=te),ne&&(e.components=ne),k&&(e.directives=k),D&&ei(e)}function Oa(e,t,n=v){for(let n in E(e)&&(e=Ia(e)),e){let r=e[n],i;i=A(r)?`default`in r?Ga(r.from||n,r.default,!0):Ga(r.from||n):Ga(r),B(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function ka(e,t,n){Yn(E(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Aa(e,t,n,r){let i=r.includes(`.`)?to(n,r):()=>n[r];if(k(e)){let n=t[e];O(n)&&Qa(i,n)}else if(O(e))Qa(i,e.bind(n));else if(A(e))if(E(e))e.forEach(e=>Aa(e,t,n,r));else{let r=O(e.handler)?e.handler.bind(n):t[e.handler];O(r)&&Qa(i,r,e)}}function ja(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ma(c,e,o,!0)),Ma(c,t,o)),A(t)&&a.set(t,c),c}function Ma(e,t,n,r=!1){let{mixins:i,extends:a}=t;for(let o in a&&Ma(e,a,n,!0),i&&i.forEach(t=>Ma(e,t,n,!0)),t)if(!(r&&o===`expose`)){let r=Na[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}var Na={data:Pa,props:Ra,emits:Ra,methods:La,computed:La,beforeCreate:U,created:U,beforeMount:U,mounted:U,beforeUpdate:U,updated:U,beforeDestroy:U,beforeUnmount:U,destroyed:U,unmounted:U,activated:U,deactivated:U,errorCaptured:U,serverPrefetch:U,components:La,directives:La,watch:za,provide:Pa,inject:Fa};function Pa(e,t){return t?e?function(){return S(O(e)?e.call(this,this):e,O(t)?t.call(this,this):t)}:t:e}function Fa(e,t){return La(Ia(e),Ia(t))}function Ia(e){if(E(e)){let t={};for(let n=0;n1)return n&&O(t)?t.call(r&&r.proxy):t}}function Ka(){return!!(Q()||Ua)}var qa=Symbol.for(`v-scx`),Ja=()=>Ga(qa);function Ya(e,t){return $a(e,null,t)}function Xa(e,t){return $a(e,null,{flush:`post`})}function Za(e,t){return $a(e,null,{flush:`sync`})}function Qa(e,t,n){return $a(e,t,n)}function $a(e,t,n=g){let{immediate:r,deep:i,flush:a,once:o}=n,s=S({},n),c=t&&r||!t&&a!==`post`,l;if(Is){if(a===`sync`){let e=Ja();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=v,e.resume=v,e.pause=v,e}}let u=Z;s.call=(e,t,n)=>Yn(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{W(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():or(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=Bn(e,t,s);return Is&&(l?l.push(f):c&&f()),f}function eo(e,t,n){let r=this.proxy,i=k(e)?e.includes(`.`)?to(r,e):()=>r[e]:e.bind(r,r),a;O(t)?a=t:(a=t.handler,n=t);let o=Ns(this),s=$a(i,a.bind(r),n);return o(),s}function to(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e{let c,l=g,u;return Za(()=>{let t=e[i];P(c,t)&&(c=t,s())}),{get(){return o(),n.get?n.get(c):c},set(e){let o=n.set?n.set(e):e;if(!P(o,c)&&!(l!==g&&P(e,l)))return;let d=r.vnode.props;d&&(t in d||i in d||a in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${a}`in d)||(c=e,s()),r.emit(`update:${t}`,o),P(e,o)&&P(e,l)&&!P(o,u)&&s(),l=e,u=o}}});return s[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?o||g:s,done:!1}:{done:!0}}}},s}var ro=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${M(t)}Modifiers`]||e[`${N(t)}Modifiers`];function io(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||g,i=n,a=t.startsWith(`update:`),o=a&&ro(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>k(e)?e.trim():e)),o.number&&(i=n.map(_e)));let s,c=r[s=me(t)]||r[s=me(M(t))];!c&&a&&(c=r[s=me(N(t))]),c&&Yn(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Yn(l,e,6,i)}}var ao=new WeakMap;function oo(e,t,n=!1){let r=n?ao:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!O(e)){let r=e=>{let n=oo(e,t,!0);n&&(s=!0,S(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(A(e)&&r.set(e,null),null):(E(a)?a.forEach(e=>o[e]=null):S(o,a),A(e)&&r.set(e,o),o)}function so(e,t){return!e||!b(t)?!1:(t=t.slice(2).replace(/Once$/,``),T(e,t[0].toLowerCase()+t.slice(1))||T(e,N(t))||T(e,t))}function co(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=_r(e),_,v;try{if(n.shapeFlag&4){let e=i||r,t=e;_=Y(l.call(t,e,u,d,p,f,m)),v=s}else{let e=t;_=Y(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),v=t.props?s:uo(s)}}catch(t){as.length=0,Xn(t,e,1),_=J(K)}let y=_;if(v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;e.length&&t&7&&(a&&e.some(x)&&(v=fo(v,a)),y=xs(y,v,!1,!0))}return n.dirs&&(y=xs(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Xr(y,n.transition),_=y,_r(g),_}function lo(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||b(n))&&((t||={})[n]=e[n]);return t},fo=(e,t)=>{let n={};for(let r in e)(!x(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function po(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?mo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(go),vo=e=>Object.getPrototypeOf(e)===go;function yo(e,t,n,r=!1){let i={},a=_o();for(let n in e.propsDefaults=Object.create(null),xo(e,t,i,a),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=r?i:an(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function bo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=z(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=wo(e,t,!0);S(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return A(e)&&r.set(e,_),_;if(E(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,Do=e=>E(e)?e.map(Y):[Y(e)],Oo=(e,t,n)=>{if(t._n)return t;let r=xr((...e)=>Do(t(...e)),n);return r._c=!1,r},ko=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Eo(n))continue;let i=e[n];if(O(i))t[n]=Oo(n,i,r);else if(i!=null){let e=Do(i);t[n]=()=>e}}},Ao=(e,t)=>{let n=Do(t);e.slots.default=()=>n},jo=(e,t,n)=>{for(let r in t)(n||!Eo(r))&&(e[r]=t[r])},Mo=(e,t,n)=>{let r=e.slots=_o();if(e.vnode.shapeFlag&32){let e=t._;e?(jo(r,t,n),n&&ge(r,`_`,e,!0)):ko(t,r)}else t&&Ao(e,t)},No=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=g;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:jo(i,t,n):(a=!t.$stable,ko(t,i)),o=t}else t&&(Ao(e,t),o={default:1});if(a)for(let e in i)!Eo(e)&&o[e]==null&&delete i[e]},W=es;function Po(e){return Io(e)}function Fo(e){return Io(e,di)}function Io(e,t){let n=be();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=v,insertStaticContent:m}=e,h=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!ms(e,t)&&(r=pe(e),ue(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case rs:y(e,t,n,r);break;case K:b(e,t,n,r);break;case is:e??x(t,n,r,o);break;case G:O(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?k(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ge)}u!=null&&i?ri(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&ri(e.ref,null,a,e,!0)},y=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},b=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=f(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ee(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&D(e.children,f,null,i,s,Lo(e,c),l,d),_&&Cr(e,null,i,`created`),E(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!le(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&X(p,i,e)}_&&Cr(e,null,i,`beforeMount`);let v=zo(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&W(()=>{p&&X(p,i,e),v&&g.enter(f),_&&Cr(e,null,i,`mounted`)},s)},E=(e,t,n,r,i)=>{if(n&&p(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let p=e.props||g,m=t.props||g,h;if(n&&Ro(n,!1),(h=m.onVnodeBeforeUpdate)&&X(h,n,t,e),f&&Cr(t,e,n,`beforeUpdate`),n&&Ro(n,!0),(p.innerHTML&&m.innerHTML==null||p.textContent&&m.textContent==null)&&u(c,``),d?te(e.dynamicChildren,d,c,n,r,Lo(t,i),o):s||ae(e,t,c,null,n,r,Lo(t,i),o,!1),l>0){if(l&16)ne(c,p,m,n,i);else if(l&2&&p.class!==m.class&&a(c,`class`,null,m.class,i),l&4&&a(c,`style`,p.style,m.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{h&&X(h,n,t,e),f&&Cr(t,e,n,`updated`)},r)},te=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==g)for(let o in t)!le(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(le(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},O=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren?(te(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Bo(e,t,!0)):ae(e,t,n,f,a,o,c,l,u)},k=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):re(t,n,r,i,a,o,c):A(e,t,c)},re=(e,t,n,r,i,a,o)=>{let s=e.component=As(e,r,i);if(Ei(e)&&(s.ctx.renderer=ge),Ls(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,j,o),!e.el){let r=s.subTree=J(K);b(null,r,t,n),e.placeholder=r.el}}else j(s,e,t,n,i,a,o)},A=(e,t,n)=>{let r=t.component=e.component;if(po(e,t,n))if(r.asyncDep&&!r.asyncResolved){ie(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},j=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:c,vnode:l}=e;{let n=Ho(e);if(n){t&&(t.el=l.el,ie(e,t,o)),n.asyncDep.then(()=>{e.isUnmounted||s()});return}}let u=t,f;Ro(e,!1),t?(t.el=l.el,ie(e,t,o)):t=l,n&&he(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&X(f,c,t,l),Ro(e,!0);let p=co(e),m=e.subTree;e.subTree=p,h(m,p,d(m.el),pe(m),e,i,a),t.el=p.el,u===null&&ho(e,p.el),r&&W(r,i),(f=t.props&&t.props.onVnodeUpdated)&&W(()=>X(f,c,t,l),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Ci(t);if(Ro(e,!1),l&&he(l),!m&&(o=c&&c.onVnodeBeforeMount)&&X(o,d,t),Ro(e,!0),s&&ve){let t=()=>{e.subTree=co(e),ve(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._def.shadowRoot!==!1&&f.ce._injectChildStyle(p);let o=e.subTree=co(e);h(null,o,n,r,e,i,a),t.el=o.el}if(u&&W(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;W(()=>X(o,d,e),i)}(t.shapeFlag&256||d&&Ci(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&W(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ge(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>or(u),Ro(e,!0),l()},ie=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,bo(e,t.props,r,n),No(e,t.children,n),ct(),lr(e),lt()},ae=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){se(l,f,n,r,i,a,o,s,c);return}else if(p&256){oe(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&N(l,i,a),f!==l&&u(n,f)):d&16?m&16?se(l,f,n,r,i,a,o,s,c):N(l,i,a,!0):(d&8&&u(n,``),m&16&&D(f,n,r,i,a,o,s,c))},oe=(e,t,n,r,i,a,o,s,c)=>{e||=_,t||=_;let l=e.length,u=t.length,d=Math.min(l,u),f;for(f=0;fu?N(e,i,a,!0,!1,d):D(t,n,r,i,a,o,s,c,d)},se=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,f=u-1;for(;l<=d&&l<=f;){let r=e[l],u=t[l]=c?Ts(t[l]):Y(t[l]);if(ms(r,u))h(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=f;){let r=e[d],l=t[f]=c?Ts(t[f]):Y(t[f]);if(ms(r,l))h(r,l,n,null,i,a,o,s,c);else break;d--,f--}if(l>d){if(l<=f){let e=f+1,d=ef)for(;l<=d;)ue(e[l],i,a,!0),l++;else{let p=l,m=l,g=new Map;for(l=m;l<=f;l++){let e=t[l]=c?Ts(t[l]):Y(t[l]);e.key!=null&&g.set(e.key,l)}let v,y=0,b=f-m+1,x=!1,S=0,C=Array(b);for(l=0;l=b){ue(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(v=m;v<=f;v++)if(C[v-m]===0&&ms(r,t[v])){u=v;break}u===void 0?ue(r,i,a,!0):(C[u-m]=l+1,u>=S?S=u:x=!0,h(r,t[u],n,null,i,a,o,s,c),y++)}let w=x?Vo(C):_;for(v=w.length-1,l=b-1;l>=0;l--){let e=m+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){ce(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,ge);return}if(c===G){r(s,t,n);for(let e=0;el.enter(s),o);else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{s._isLeaving&&s[Lr](!0),a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p}=e;if(d===-2&&(i=!1),s!=null&&(ct(),ri(s,null,n,e,!0),lt()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let m=u&1&&f,h=!Ci(e),g;if(h&&(g=o&&o.onVnodeBeforeUnmount)&&X(g,t,e),u&6)fe(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}m&&Cr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ge,r):l&&!l.hasOnce&&(a!==G||d>0&&d&64)?N(l,t,n,!1,!0):(a===G&&d&384||!i&&u&16)&&N(c,t,n),r&&de(e)}(h&&(g=o&&o.onVnodeUnmounted)||m)&&W(()=>{g&&X(g,t,e),m&&Cr(e,null,t,`unmounted`)},n)},de=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===G){M(n,r);return}if(t===is){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},M=(e,t)=>{let n;for(;e!==t;)n=f(e),i(e),e=n;i(t)},fe=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Uo(c),Uo(l),r&&he(r),i.stop(),a&&(a.flags|=8,ue(o,e,t,n)),s&&W(s,t),W(()=>{e.isUnmounted=!0},t)},N=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return pe(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=f(e.anchor||e.el),n=t&&t[wr];return n?f(n):t},me=!1,P=(e,t,n)=>{e==null?t._vnode&&ue(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),t._vnode=e,me||=(me=!0,lr(),ur(),!1)},ge={p:h,um:ue,m:ce,r:de,mt:re,mc:D,pc:ae,pbc:te,n:pe,o:e},_e,ve;return t&&([_e,ve]=t(ge)),{render:P,hydrate:_e,createApp:Ha(P,_e)}}function Lo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Ro({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function zo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bo(e,t,n=!1){let r=e.children,i=t.children;if(E(r)&&E(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Ho(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ho(t)}function Uo(e){if(e)for(let t=0;te.__isSuspense,Go=0,Ko={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)Jo(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Yo(e,t,n,r,i,o,s,c,l)}},hydrate:Zo,normalize:Qo};function qo(e,t){let n=e.props&&e.props[t];O(n)&&n()}function Jo(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=Xo(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(qo(e,`onPending`),qo(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),ts(f,e.ssFallback)):f.resolve(!1,!0)}function Yo(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,ms(h,f)?(c(h,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():g&&(_||(c(m,p,n,r,i,null,a,o,s),ts(d,p)))):(d.pendingId=Go++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():(c(m,p,n,r,i,null,a,o,s),ts(d,p))):m&&ms(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&ms(m,f))c(m,f,n,r,i,d,a,o,s),ts(d,f);else if(qo(t,`onPending`),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=Go++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function Xo(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=ns(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?ve(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:Go++,timeout:typeof y==`number`?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;x.isHydrating?x.isHydrating=!1:e||(g=i&&o.transition&&o.transition.mode===`out-in`,g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b?m(i):a,0),cr(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&(h(i.el)===u&&(a=m(i)),p(i,l,x,!0),!g&&d&&r.ssFallback&&W(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)),ts(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){y.effects.push(...c),S=!0;break}y=y.parent}!S&&!g&&cr(c),x.effects=[],v&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,t.deps===0&&!n&&t.resolve()),qo(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;qo(t,`onFallback`);let o=m(n),l=()=>{x.isInFallback&&(d(null,e,i,o,r,null,a,s,c),ts(x,e))},u=e.transition&&e.transition.mode===`out-in`;u&&(n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{Xn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;e.asyncResolved=!0;let{vnode:s}=e;zs(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),ho(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function Zo(e,t,n,r,i,a,o,s,c){let l=t.suspense=Xo(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function Qo(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=$o(r?n.default:n),e.ssFallback=r?$o(n.fallback):J(K)}function $o(e){let t;if(O(e)){let n=cs&&e._c;n&&(e._d=!1,os()),e=e(),n&&(e._d=!0,t=q,ss())}return E(e)&&(e=lo(e)),e=Y(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function es(e,t){t&&t.pendingBranch?E(e)?t.effects.push(...e):t.effects.push(e):cr(e)}function ts(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,ho(r,i))}function ns(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var G=Symbol.for(`v-fgt`),rs=Symbol.for(`v-txt`),K=Symbol.for(`v-cmt`),is=Symbol.for(`v-stc`),as=[],q=null;function os(e=!1){as.push(q=e?null:[])}function ss(){as.pop(),q=as[as.length-1]||null}var cs=1;function ls(e,t=!1){cs+=e,e<0&&q&&t&&(q.hasOnce=!0)}function us(e){return e.dynamicChildren=cs>0?q||_:null,ss(),cs>0&&q&&q.push(e),e}function ds(e,t,n,r,i,a){return us(vs(e,t,n,r,i,a,!0))}function fs(e,t,n,r,i){return us(J(e,t,n,r,i,!0))}function ps(e){return e?e.__v_isVNode===!0:!1}function ms(e,t){return e.type===t.type&&e.key===t.key}function hs(e){}var gs=({key:e})=>e??null,_s=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:k(e)||B(e)||O(e)?{i:H,r:e,k:t,f:!!n}:e);function vs(e,t=null,n=null,r=0,i=null,a=e===G?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gs(t),ref:t&&_s(t),scopeId:gr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:H};return s?(Es(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=k(n)?8:16),cs>0&&!o&&q&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&q.push(c),c}var J=ys;function ys(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Xi)&&(e=K),ps(e)){let r=xs(e,t,!0);return n&&Es(r,n),cs>0&&!a&&q&&(r.shapeFlag&6?q[q.indexOf(e)]=r:q.push(r)),r.patchFlag=-2,r}if(Ys(e)&&(e=e.__vccOpts),t){t=bs(t);let{class:e,style:n}=t;e&&!k(e)&&(t.class=De(e)),A(n)&&(dn(n)&&!E(n)&&(n=S({},n)),t.style=Se(n))}let o=k(e)?1:Wo(e)?128:Tr(e)?64:A(e)?4:O(e)?2:0;return vs(e,t,n,r,i,o,a,!0)}function bs(e){return e?dn(e)||vo(e)?S({},e):e:null}function xs(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ds(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&gs(l),ref:t&&t.ref?n&&a?E(a)?a.concat(_s(t)):[a,_s(t)]:_s(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==G?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&xs(e.ssContent),ssFallback:e.ssFallback&&xs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Xr(u,c.clone(u)),u}function Ss(e=` `,t=0){return J(rs,null,e,t)}function Cs(e,t){let n=J(is,null,e);return n.staticCount=t,n}function ws(e=``,t=!1){return t?(os(),fs(K,null,e)):J(K,null,e)}function Y(e){return e==null||typeof e==`boolean`?J(K):E(e)?J(G,null,e.slice()):ps(e)?Ts(e):J(rs,null,String(e))}function Ts(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:xs(e)}function Es(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(E(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Es(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!vo(t)?t._ctx=H:r===3&&H&&(H.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else O(t)?(t={default:t,_ctx:H},n=32):(t=String(t),r&64?(n=16,t=[Ss(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ds(...e){let t={};for(let n=0;nZ||H,js,Ms;{let e=be(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};js=t(`__VUE_INSTANCE_SETTERS__`,e=>Z=e),Ms=t(`__VUE_SSR_SETTERS__`,e=>Is=e)}var Ns=e=>{let t=Z;return js(e),e.scope.on(),()=>{e.scope.off(),js(t)}},Ps=()=>{Z&&Z.scope.off(),js(null)};function Fs(e){return e.vnode.shapeFlag&4}var Is=!1;function Ls(e,t=!1,n=!1){t&&Ms(t);let{props:r,children:i}=e.vnode,a=Fs(e);yo(e,r,a,t),Mo(e,i,n||t);let o=a?Rs(e,t):void 0;return t&&Ms(!1),o}function Rs(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,la);let{setup:r}=n;if(r){ct();let n=e.setupContext=r.length>1?Ks(e):null,i=Ns(e),a=Jn(r,e,0,[e.props,n]),o=j(a);if(lt(),i(),(o||e.sp)&&!Ci(e)&&ei(e),o){if(a.then(Ps,Ps),t)return a.then(n=>{zs(e,n,t)}).catch(t=>{Xn(t,e,0)});e.asyncDep=a}else zs(e,a,t)}else Ws(e,t)}function zs(e,t,n){O(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:A(t)&&(e.setupState=Cn(t)),Ws(e,n)}var Bs,Vs;function Hs(e){Bs=e,Vs=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,ua))}}var Us=()=>!Bs;function Ws(e,t,n){let r=e.type;if(!e.render){if(!t&&Bs&&!r.render){let t=r.template||ja(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=S(S({isCustomElement:n,delimiters:a},i),o);r.render=Bs(t,s)}}e.render=r.render||v,Vs&&Vs(e)}{let t=Ns(e);ct();try{Da(e)}finally{lt(),t()}}}var Gs={get(e,t){return L(e,`get`,``),e[t]}};function Ks(e){return{attrs:new Proxy(e.attrs,Gs),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function qs(e){return e.exposed?e.exposeProxy||=new Proxy(Cn(fn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in sa)return sa[n](e)},has(e,t){return t in e||t in sa}}):e.proxy}function Js(e,t=!0){return O(e)?e.displayName||e.name:e.name||t&&e.__name}function Ys(e){return O(e)&&`__vccOpts`in e}var Xs=(e,t)=>Mn(e,t,Is);function Zs(e,t,n){try{ls(-1);let r=arguments.length;return r===2?A(t)&&!E(t)?ps(t)?J(e,null,[t]):J(e,t):J(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ps(n)&&(n=[n]),J(e,t,n))}finally{ls(1)}}function Qs(){return;function e(t,n,r){let i=t[r];if(E(i)&&i.includes(n)||A(i)&&n in i||t.extends&&e(t.extends,n,r)||t.mixins&&t.mixins.some(t=>e(t,n,r)))return!0}}function $s(e,t,n,r){let i=n[r];if(i&&ec(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function ec(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&q&&q.push(e),!0}var tc=`3.5.25`,nc=v,rc=qn,ic=pr,ac=hr,oc={createComponentInstance:As,setupComponent:Ls,renderComponentRoot:co,setCurrentRenderingInstance:_r,isVNode:ps,normalizeVNode:Y,getComponentPublicInstance:qs,ensureValidVNode:ia,pushWarningContext:Un,popWarningContext:Wn},sc=void 0,cc=typeof window<`u`&&window.trustedTypes;if(cc)try{sc=cc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var lc=sc?e=>sc.createHTML(e):e=>e,uc=`http://www.w3.org/2000/svg`,dc=`http://www.w3.org/1998/Math/MathML`,fc=typeof document<`u`?document:null,pc=fc&&fc.createElement(`template`),mc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?fc.createElementNS(uc,e):t===`mathml`?fc.createElementNS(dc,e):n?fc.createElement(e,{is:n}):fc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>fc.createTextNode(e),createComment:e=>fc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{pc.innerHTML=lc(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=pc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},hc=`transition`,gc=`animation`,_c=Symbol(`_vtc`),vc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},yc=S({},Vr,vc),bc=(e=>(e.displayName=`Transition`,e.props=yc,e))((e,{slots:t})=>Zs(Gr,Cc(e),t)),xc=(e,t=[])=>{E(e)?e.forEach(e=>e(...t)):e&&e(...t)},Sc=e=>e?E(e)?e.some(e=>e.length>1):e.length>1:!1;function Cc(e){let t={};for(let n in e)n in vc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=wc(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:C=_,onAppear:w=v,onAppearCancelled:T=y}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Dc(e,t?u:s),Dc(e,t?l:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,Dc(e,d),Dc(e,p),Dc(e,f),t&&t()},ee=e=>(t,n)=>{let i=e?w:v,o=()=>E(t,e,n);xc(i,[t,o]),Oc(()=>{Dc(t,e?c:a),Ec(t,e?u:s),Sc(i)||Ac(t,r,h,o)})};return S(t,{onBeforeEnter(e){xc(_,[e]),Ec(e,a),Ec(e,o)},onBeforeAppear(e){xc(C,[e]),Ec(e,c),Ec(e,l)},onEnter:ee(!1),onAppear:ee(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Ec(e,d),e._enterCancelled?(Ec(e,f),Pc(e)):(Pc(e),Ec(e,f)),Oc(()=>{e._isLeaving&&(Dc(e,d),Ec(e,p),Sc(b)||Ac(e,r,g,n))}),xc(b,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),xc(y,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),xc(T,[e])},onLeaveCancelled(e){D(e),xc(x,[e])}})}function wc(e){if(e==null)return null;if(A(e))return[Tc(e.enter),Tc(e.leave)];{let t=Tc(e);return[t,t]}}function Tc(e){return ve(e)}function Ec(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[_c]||(e[_c]=new Set)).add(t)}function Dc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[_c];n&&(n.delete(t),n.size||(e[_c]=void 0))}function Oc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var kc=0;function Ac(e,t,n,r){let i=e._endId=++kc,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=jc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${hc}Delay`),a=r(`${hc}Duration`),o=Mc(i,a),s=r(`${gc}Delay`),c=r(`${gc}Duration`),l=Mc(s,c),u=null,d=0,f=0;t===hc?o>0&&(u=hc,d=o,f=a.length):t===gc?l>0&&(u=gc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?hc:gc:null,f=u?u===hc?a.length:c.length:0);let p=u===hc&&/\b(?:transform|all)(?:,|$)/.test(r(`${hc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Mc(e,t){for(;e.lengthNc(t)+Nc(e[n])))}function Nc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Pc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Fc(e,t,n){let r=e[_c];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ic=Symbol(`_vod`),Lc=Symbol(`_vsh`),Rc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Ic]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):zc(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),zc(e,!0),r.enter(e)):r.leave(e,()=>{zc(e,!1)}):zc(e,t))},beforeUnmount(e,{value:t}){zc(e,t)}};function zc(e,t){e.style.display=t?e[Ic]:`none`,e[Lc]=!t}function Bc(){Rc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Vc=Symbol(``);function Hc(e){let t=Q();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Wc(e,n))},r=()=>{let r=e(t.proxy);t.ce?Wc(t.ce,r):Uc(t.subTree,r),n(r)};zi(()=>{cr(r)}),Ri(()=>{Qa(r,v,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),Hi(()=>e.disconnect())})}function Uc(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Uc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Wc(e.el,t);else if(e.type===G)e.children.forEach(e=>Uc(e,t));else if(e.type===is){let{el:n,anchor:r}=e;for(;n&&(Wc(n,t),n!==r);)n=n.nextSibling}}function Wc(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=ze(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Vc]=r}}var Gc=/(?:^|;)\s*display\s*:/;function Kc(e,t,n){let r=e.style,i=k(n),a=!1;if(n&&!i){if(t)if(k(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Jc(r,t,``)}else for(let e in t)n[e]??Jc(r,e,``);for(let e in n)e===`display`&&(a=!0),Jc(r,e,n[e])}else if(i){if(t!==n){let e=r[Vc];e&&(n+=`;`+e),r.cssText=n,a=Gc.test(n)}}else t&&e.removeAttribute(`style`);Ic in e&&(e[Ic]=a?r.display:``,e[Lc]&&(r.display=`none`))}var qc=/\s*!important$/;function Jc(e,t,n){if(E(n))n.forEach(n=>Jc(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=Zc(e,t);qc.test(n)?e.setProperty(N(r),n.replace(qc,``),`important`):e[r]=n}}var Yc=[`Webkit`,`Moz`,`ms`],Xc={};function Zc(e,t){let n=Xc[t];if(n)return n;let r=M(t);if(r!==`filter`&&r in e)return Xc[t]=r;r=pe(r);for(let n=0;nsl||=(cl.then(()=>sl=0),Date.now());function ul(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;Yn(dl(e,n.value),t,5,[e])};return n.value=e,n.attached=ll(),n}function dl(e,t){if(E(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var fl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,pl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Fc(e,r,o):t===`style`?Kc(e,n,r):b(t)?x(t)||il(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):ml(e,t,r,o))?(el(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&$c(e,t,r,o,a,t!==`value`)):e._isVueCE&&(/[A-Z]/.test(t)||!k(r))?el(e,M(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),$c(e,t,r,o))};function ml(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&fl(t)&&O(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return fl(t)&&k(n)?!1:t in e}var hl={};function gl(e,t,n){let r=Qr(e,t);se(r)&&(r=S({},r,t));class i extends yl{constructor(e){super(r,e,n)}}return i.def=r,i}var _l=((e,t)=>gl(e,t,cu)),vl=typeof HTMLElement<`u`?HTMLElement:class{},yl=class e extends vl{constructor(e,t={},n=su){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==su?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(S({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,ir(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!E(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=ve(this._props[e])),(i||=Object.create(null))[M(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}):e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)T(this,e)||Object.defineProperty(this,e,{get:()=>bn(t[e])})}_resolveProps(e){let{props:t}=e,n=E(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(M))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):hl,r=M(e);t&&this._numberProps&&this._numberProps[r]&&(n=ve(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===hl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(N(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(N(e),t+``):t||this.removeAttribute(N(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),au(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=J(this._def,S(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,se(t[0])?S({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),N(e)!==e&&t(N(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let n=this._nonce;for(let t=e.length-1;t>=0;t--){let r=document.createElement(`style`);n&&r.setAttribute(`nonce`,n),r.textContent=e[t],this.shadowRoot.prepend(r)}}_parseSlots(){let e=this._slots={},t;for(;t=this.firstChild;){let n=t.nodeType===1&&t.getAttribute(`slot`)||`default`;(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){let e=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:`TransitionGroup`,props:S({},yc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Q(),r=zr(),i,a;return Bi(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!jl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ol),i.forEach(kl);let r=i.filter(Al);Pc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Ec(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Tl]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Tl]=null,Dc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=z(e),s=Cc(o),c=o.tag||G;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=jc(r);return a.removeChild(r),o}var Ml=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return E(t)?e=>he(t,e):t};function Nl(e){e.target.composing=!0}function Pl(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Fl=Symbol(`_assign`);function Il(e,t,n){return t&&(e=e.trim()),n&&(e=_e(e)),e}var Ll={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Fl]=Ml(i);let a=r||i.props&&i.props.type===`number`;tl(e,t?`change`:`input`,t=>{t.target.composing||e[Fl](Il(e.value,n,a))}),(n||a)&&tl(e,`change`,()=>{e.value=Il(e.value,n,a)}),t||(tl(e,`compositionstart`,Nl),tl(e,`compositionend`,Pl),tl(e,`change`,Pl))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Fl]=Ml(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?_e(e.value):e.value,c=t??``;s!==c&&(document.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c))}},Rl={deep:!0,created(e,t,n){e[Fl]=Ml(n),tl(e,`change`,()=>{let t=e._modelValue,n=Ul(e),r=e.checked,i=e[Fl];if(E(t)){let e=Pe(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(ee(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Wl(e,r))})},mounted:zl,beforeUpdate(e,t,n){e[Fl]=Ml(n),zl(e,t,n)}};function zl(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(E(t))i=Pe(t,r.props.value)>-1;else if(ee(t))i=t.has(r.props.value);else{if(t===n)return;i=Ne(t,Wl(e,!0))}e.checked!==i&&(e.checked=i)}var Bl={created(e,{value:t},n){e.checked=Ne(t,n.props.value),e[Fl]=Ml(n),tl(e,`change`,()=>{e[Fl](Ul(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Fl]=Ml(r),t!==n&&(e.checked=Ne(t,r.props.value))}},Vl={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=ee(t);tl(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?_e(Ul(e)):Ul(e));e[Fl](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,ir(()=>{e._assigning=!1})}),e[Fl]=Ml(r)},mounted(e,{value:t}){Hl(e,t)},beforeUpdate(e,t,n){e[Fl]=Ml(n)},updated(e,{value:t}){e._assigning||Hl(e,t)}};function Hl(e,t){let n=e.multiple,r=E(t);if(!(n&&!r&&!ee(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=Pe(t,o)>-1}else a.selected=t.has(o);else if(Ne(Ul(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ul(e){return`_value`in e?e._value:e.value}function Wl(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Gl={created(e,t,n){ql(e,t,n,null,`created`)},mounted(e,t,n){ql(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){ql(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){ql(e,t,n,r,`updated`)}};function Kl(e,t){switch(e){case`SELECT`:return Vl;case`TEXTAREA`:return Ll;default:switch(t){case`checkbox`:return Rl;case`radio`:return Bl;default:return Ll}}}function ql(e,t,n,r,i){let a=Kl(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function Jl(){Ll.getSSRProps=({value:e})=>({value:e}),Bl.getSSRProps=({value:e},t)=>{if(t.props&&Ne(t.props.value,e))return{checked:!0}},Rl.getSSRProps=({value:e},t)=>{if(E(e)){if(t.props&&Pe(e,t.props.value)>-1)return{checked:!0}}else if(ee(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Gl.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=Kl(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var Yl=[`ctrl`,`shift`,`alt`,`meta`],Xl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Yl.some(n=>e[`${n}Key`]&&!t.includes(n))},Zl=(e,t)=>{let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=N(n.key);if(t.some(e=>e===r||Ql[e]===r))return e(n)}))},eu=S({patchProp:pl},mc),tu,nu=!1;function ru(){return tu||=Po(eu)}function iu(){return tu=nu?tu:Fo(eu),nu=!0,tu}var au=((...e)=>{ru().render(...e)}),ou=((...e)=>{iu().hydrate(...e)}),su=((...e)=>{let t=ru().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=uu(e);if(!r)return;let i=t._component;!O(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,lu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),cu=((...e)=>{let t=iu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=uu(e);if(t)return n(t,!0,lu(t))},t});function lu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function uu(e){return k(e)?document.querySelector(e):e}var du=!1,fu=()=>{du||(du=!0,Jl(),Bc())},pu=e({BaseTransition:()=>Gr,BaseTransitionPropsValidators:()=>Vr,Comment:()=>K,DeprecationTypes:()=>null,EffectScope:()=>Be,ErrorCodes:()=>Kn,ErrorTypeStrings:()=>rc,Fragment:()=>G,KeepAlive:()=>Di,ReactiveEffect:()=>Ge,Static:()=>is,Suspense:()=>Ko,Teleport:()=>Pr,Text:()=>rs,TrackOpTypes:()=>Nn,Transition:()=>bc,TransitionGroup:()=>Dl,TriggerOpTypes:()=>Pn,VueElement:()=>yl,assertNumber:()=>Gn,callWithAsyncErrorHandling:()=>Yn,callWithErrorHandling:()=>Jn,camelize:()=>M,capitalize:()=>pe,cloneVNode:()=>xs,compatUtils:()=>null,compile:()=>mu,computed:()=>Xs,createApp:()=>su,createBlock:()=>fs,createCommentVNode:()=>ws,createElementBlock:()=>ds,createElementVNode:()=>vs,createHydrationRenderer:()=>Fo,createPropsRestProxy:()=>wa,createRenderer:()=>Po,createSSRApp:()=>cu,createSlots:()=>na,createStaticVNode:()=>Cs,createTextVNode:()=>Ss,createVNode:()=>J,customRef:()=>Tn,defineAsyncComponent:()=>wi,defineComponent:()=>Qr,defineCustomElement:()=>gl,defineEmits:()=>fa,defineExpose:()=>pa,defineModel:()=>ga,defineOptions:()=>ma,defineProps:()=>da,defineSSRCustomElement:()=>_l,defineSlots:()=>ha,devtools:()=>ic,effect:()=>it,effectScope:()=>Ve,getCurrentInstance:()=>Q,getCurrentScope:()=>He,getCurrentWatcher:()=>Rn,getTransitionRawChildren:()=>Zr,guardReactiveProps:()=>bs,h:()=>Zs,handleError:()=>Xn,hasInjectionContext:()=>Ka,hydrate:()=>ou,hydrateOnIdle:()=>_i,hydrateOnInteraction:()=>xi,hydrateOnMediaQuery:()=>bi,hydrateOnVisible:()=>yi,initCustomFormatter:()=>Qs,initDirectivesForSSR:()=>fu,inject:()=>Ga,isMemoSame:()=>ec,isProxy:()=>dn,isReactive:()=>ln,isReadonly:()=>un,isRef:()=>B,isRuntimeOnly:()=>Us,isShallow:()=>R,isVNode:()=>ps,markRaw:()=>fn,mergeDefaults:()=>Sa,mergeModels:()=>Ca,mergeProps:()=>Ds,nextTick:()=>ir,nodeOps:()=>mc,normalizeClass:()=>De,normalizeProps:()=>Oe,normalizeStyle:()=>Se,onActivated:()=>ki,onBeforeMount:()=>Li,onBeforeUnmount:()=>Vi,onBeforeUpdate:()=>zi,onDeactivated:()=>Ai,onErrorCaptured:()=>Ki,onMounted:()=>Ri,onRenderTracked:()=>Gi,onRenderTriggered:()=>Wi,onScopeDispose:()=>Ue,onServerPrefetch:()=>Ui,onUnmounted:()=>Hi,onUpdated:()=>Bi,onWatcherCleanup:()=>zn,openBlock:()=>os,patchProp:()=>pl,popScopeId:()=>yr,provide:()=>Wa,proxyRefs:()=>Cn,pushScopeId:()=>vr,queuePostFlushCb:()=>cr,reactive:()=>rn,readonly:()=>on,ref:()=>hn,registerRuntimeCompiler:()=>Hs,render:()=>au,renderList:()=>ta,renderSlot:()=>ra,resolveComponent:()=>Yi,resolveDirective:()=>Qi,resolveDynamicComponent:()=>Zi,resolveFilter:()=>null,resolveTransitionHooks:()=>qr,setBlockTracking:()=>ls,setDevtoolsHook:()=>ac,setTransitionHooks:()=>Xr,shallowReactive:()=>an,shallowReadonly:()=>sn,shallowRef:()=>gn,ssrContextKey:()=>qa,ssrUtils:()=>oc,stop:()=>at,toDisplayString:()=>Ie,toHandlerKey:()=>me,toHandlers:()=>aa,toRaw:()=>z,toRef:()=>kn,toRefs:()=>En,toValue:()=>xn,transformVNodeArgs:()=>hs,triggerRef:()=>yn,unref:()=>bn,useAttrs:()=>ya,useCssModule:()=>Sl,useCssVars:()=>Hc,useHost:()=>bl,useId:()=>$r,useModel:()=>no,useSSRContext:()=>Ja,useShadowRoot:()=>xl,useSlots:()=>va,useTemplateRef:()=>ti,useTransitionState:()=>zr,vModelCheckbox:()=>Rl,vModelDynamic:()=>Gl,vModelRadio:()=>Bl,vModelSelect:()=>Vl,vModelText:()=>Ll,vShow:()=>Rc,version:()=>tc,warn:()=>nc,watch:()=>Qa,watchEffect:()=>Ya,watchPostEffect:()=>Xa,watchSyncEffect:()=>Za,withAsyncContext:()=>Ta,withCtx:()=>xr,withDefaults:()=>_a,withDirectives:()=>Sr,withKeys:()=>$l,withMemo:()=>$s,withModifiers:()=>Zl,withScopeId:()=>br}),mu=()=>{};const hu=(e,t)=>{let n=o[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},gu=(e,t,n=0)=>{let r=o[e],i=r.baseTime*r.costMultiplier**+t,a=1-n/100;return Math.floor(i*a)},_u=(e,t,n)=>{let r=o[e];if(!r.requirements)return!0;for(let[e,a]of Object.entries(r.requirements))if(Object.values(m).includes(e)){if((t[e]||0){let r=Date.now();return{id:`research_${r}`,type:`technology`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},yu=(e,t,n,r)=>e.filter(e=>{if(n>=e.endTime){let n=t[e.itemType]||0,i=e.targetLevel||0;return t[e.itemType]=i,r&&i>n&&r(wu(e.itemType,n,i),`technology`,e.itemType,i),!1}return!0}),bu=e=>e.metal+e.crystal+e.deuterium,xu=e=>Math.floor(e/1e3),Su=(e,t)=>{e.points+=t},Cu=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=bu(Du(e,i));r+=xu(t)}return r},wu=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=bu(hu(e,i));r+=xu(t)}return r},Tu=(e,t)=>{let r=n[e];return xu(bu(r.cost))*t},Eu=(e,t)=>{let n=d[e];return xu(bu(n.cost))*t},Du=(e,t)=>{let n=c[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},Ou=(e,t,n=0)=>{let r=c[e],i=r.costMultiplier**(t-1),a=r.baseTime*i,o=1-n/100;return Math.floor(a*o)},ku=e=>{let t=0;return Object.entries(e.buildings).forEach(([e,n])=>{if(n>0){let r=c[e];t+=r.spaceUsage*n}}),t},Au=(e,t,n)=>{let r=c[e].requirements;if(!r)return!0;for(let[e,a]of Object.entries(r)){let r=a;if(Object.values(m).includes(e)){if((t.buildings[e]||0)ku(e)+c[t].spaceUsage<=e.maxSpace,Mu=(e,t,n)=>{let r=Date.now();return{id:`build_${r}`,type:`building`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},Nu=(e,t,n)=>{e.buildQueue=e.buildQueue.filter(r=>{if(t>=r.endTime){if(r.type===`building`){let t=e.buildings[r.itemType]||0,i=r.targetLevel||0;e.buildings[r.itemType]=i,n&&i>t&&n(Cu(r.itemType,t,i),`building`,r.itemType,i)}else if(r.type===`ship`){let t=r.itemType,i=r.quantity||0;e.fleet[t]=(e.fleet[t]||0)+i,n&&i>0&&n(Tu(t,i),`ship`,r.itemType,void 0,i)}else if(r.type===`defense`){let t=r.itemType,i=r.quantity||0;e.defense[t]=(e.defense[t]||0)+i,n&&i>0&&n(Eu(t,i),`defense`,r.itemType,void 0,i)}else if(r.type===`demolish`){let t=r.itemType,n=e.buildings[t]||0;e.buildings[t]=Math.max(0,n-1)}return!1}return!0})},Pu=(e,t)=>{let n=Du(e,t);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},Fu=(e,t,n=0)=>{let r=Ou(e,t,n);return Math.floor(r*.5)},Iu=(e,t,n)=>{let r=Date.now();return{id:`demolish_${r}`,type:`demolish`,itemType:e,targetLevel:t-1,startTime:r,endTime:r+n*1e3}},Lu=e=>l[e].cost,Ru=(e,t)=>e.active&&(!e.expiresAt||e.expiresAt>t),zu=(e,t)=>{let n=Date.now();return{type:e,active:!0,hiredAt:n,expiresAt:n+t*24*60*60*1e3}},Bu=e=>({type:e,active:!1}),Vu=(e,t,n)=>{let r=e.expiresAt&&e.expiresAt>n?e.expiresAt:n;return{...e,active:!0,expiresAt:r+t*24*60*60*1e3}},$=(e,t)=>{let n={buildingSpeedBonus:0,researchSpeedBonus:0,resourceProductionBonus:0,darkMatterProductionBonus:0,energyProductionBonus:0,fleetSpeedBonus:0,fuelConsumptionReduction:0,defenseBonus:0,additionalBuildQueue:0,additionalFleetSlots:0,storageCapacityBonus:0};return Object.values(e).forEach(e=>{if(Ru(e,t)){let t=l[e.type];Object.entries(t.benefits).forEach(([e,t])=>{t!==void 0&&(n[e]+=t)})}}),n},Hu=(e,t)=>{Object.values(e).forEach(e=>{e.active&&e.expiresAt&&e.expiresAt<=t&&(e.active=!1)})},Uu=(e,t=`Home Planet`)=>{let n={id:`planet1`,name:t,ownerId:e,position:{galaxy:1,system:1,position:1},resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[s.LightFighter]:0,[s.HeavyFighter]:0,[s.Cruiser]:0,[s.Battleship]:0,[s.SmallCargo]:0,[s.LargeCargo]:0,[s.ColonyShip]:0,[s.Recycler]:0,[s.EspionageProbe]:0,[s.DarkMatterHarvester]:0,[s.Deathstar]:0},defense:{[r.RocketLauncher]:0,[r.LightLaser]:0,[r.HeavyLaser]:0,[r.GaussCannon]:0,[r.IonCannon]:0,[r.PlasmaTurret]:0,[r.SmallShieldDome]:0,[r.LargeShieldDome]:0,[r.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:a.baseStorage,isMoon:!1};return Object.values(m).forEach(e=>{n.buildings[e]=0}),n},Wu=(e,t,n=`Planet`)=>{let i={id:`npc_planet_${e}`,name:`${n} ${t.galaxy}:${t.system}:${t.position}`,ownerId:`npc_${e}`,position:t,resources:{metal:Math.floor(Math.random()*1e4)+5e3,crystal:Math.floor(Math.random()*5e3)+2e3,deuterium:Math.floor(Math.random()*2e3)+500,darkMatter:Math.floor(Math.random()*100),energy:0},buildings:{},fleet:{[s.LightFighter]:Math.floor(Math.random()*50),[s.HeavyFighter]:Math.floor(Math.random()*20),[s.Cruiser]:Math.floor(Math.random()*10),[s.Battleship]:Math.floor(Math.random()*5),[s.SmallCargo]:Math.floor(Math.random()*10),[s.LargeCargo]:Math.floor(Math.random()*5),[s.ColonyShip]:0,[s.Recycler]:0,[s.EspionageProbe]:0,[s.DarkMatterHarvester]:0,[s.Deathstar]:0},defense:{[r.RocketLauncher]:Math.floor(Math.random()*100),[r.LightLaser]:Math.floor(Math.random()*50),[r.HeavyLaser]:Math.floor(Math.random()*20),[r.GaussCannon]:Math.floor(Math.random()*10),[r.IonCannon]:Math.floor(Math.random()*10),[r.PlasmaTurret]:Math.floor(Math.random()*5),[r.SmallShieldDome]:Math.random()>.5?1:0,[r.LargeShieldDome]:Math.random()>.8?1:0,[r.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:a.baseStorage,isMoon:!1};return Object.values(m).forEach(e=>{i.buildings[e]=Math.floor(Math.random()*10)}),i},Gu=e=>{let n=e.metal+e.crystal;if(n{if(!e.isMoon)return 0;let n=e.buildings[m.LunarBase]||0;return t.baseSize+n*t.lunarBaseSpaceBonus},qu=(e,t)=>{if(e.isMoon)return 0;let n=f.baseSize,r=e.buildings[m.Terraformer]||0;return n+=r*f.terraformerSpaceBonus,n+=t*f.terraformingTechSpaceBonus,n},Ju=(e,t)=>{let n=e.buildings[m.SolarPlant]||0,r=1+(t.energyProductionBonus||0)/100;return n*50*1.1**n*r},Yu=e=>{let t=e.buildings[m.MetalMine]||0,n=e.buildings[m.CrystalMine]||0,r=e.buildings[m.DeuteriumSynthesizer]||0,i=t*10*1.1**t,a=n*10*1.1**n,o=r*15*1.1**r;return i+a+o},Xu=(e,t)=>{let n=e.buildings[m.MetalMine]||0,r=e.buildings[m.CrystalMine]||0,i=e.buildings[m.DeuteriumSynthesizer]||0,a=e.buildings[m.DarkMatterCollector]||0,o=1+(t.resourceProductionBonus||0)/100,s=1+(t.darkMatterProductionBonus||0)/100,c=Ju(e,{energyProductionBonus:t.energyProductionBonus}),l=e.resources.energy>0?1:0;return{metal:n*1500*1.5**n*o*l,crystal:r*1e3*1.5**r*o*l,deuterium:i*500*1.5**i*o*l,darkMatter:a*25*1.5**a*s,energy:c}},Zu=(e,t)=>{let n=e.buildings[m.MetalStorage]||0,r=e.buildings[m.CrystalStorage]||0,i=e.buildings[m.DeuteriumTank]||0,a=e.buildings[m.DarkMatterCollector]||0,o=e.buildings[m.SolarPlant]||0,s=1+(t||0)/100,c=1e4;return{metal:c*2**n*s,crystal:c*2**r*s,deuterium:c*2**i*s,darkMatter:1e3+a*100,energy:1e3+o*500}},Qu=(e,t,n)=>{let r=(t-e.lastUpdate)/1e3,i=Yu(e),a=Ju(e,{energyProductionBonus:n.energyProductionBonus});e.resources.energy+=a*r/3600;let o=Zu(e,n.storageCapacityBonus);e.resources.energy=Math.min(e.resources.energy,o.energy),e.resources.energy-=i*r/3600,e.resources.energy=Math.max(0,e.resources.energy);let s=Xu(e,{resourceProductionBonus:n.resourceProductionBonus,darkMatterProductionBonus:n.darkMatterProductionBonus,energyProductionBonus:n.energyProductionBonus});e.resources.metal+=s.metal*r/3600,e.resources.crystal+=s.crystal*r/3600,e.resources.deuterium+=s.deuterium*r/3600,e.resources.darkMatter+=s.darkMatter*r/3600,e.resources.metal=Math.min(e.resources.metal,o.metal),e.resources.crystal=Math.min(e.resources.crystal,o.crystal),e.resources.deuterium=Math.min(e.resources.deuterium,o.deuterium),e.resources.darkMatter=Math.min(e.resources.darkMatter,o.darkMatter),e.lastUpdate=t},$u=(e,t)=>e.metal>=t.metal&&e.crystal>=t.crystal&&e.deuterium>=t.deuterium&&e.darkMatter>=t.darkMatter,ed=(e,t)=>{e.metal-=t.metal,e.crystal-=t.crystal,e.deuterium-=t.deuterium,e.darkMatter-=t.darkMatter},td=(e,t)=>{e.metal+=t.metal,e.crystal+=t.crystal,e.deuterium+=t.deuterium,e.darkMatter+=t.darkMatter},nd=(e,t)=>{let n=e.buildings[m.MetalMine]||0,r=e.buildings[m.CrystalMine]||0,i=e.buildings[m.DeuteriumSynthesizer]||0,a=e.buildings[m.DarkMatterCollector]||0,o=e.buildings[m.SolarPlant]||0,s=e.resources.energy>0,c=s?1:0,l=n*1500*1.5**n,u=[];t.resourceProductionBonus>0&&u.push({name:`officers.resourceBonus`,value:t.resourceProductionBonus,type:`percentage`}),s||u.push({name:`resources.noEnergy`,value:-100,type:`percentage`});let d=l*(1+t.resourceProductionBonus/100)*c,f=r*1e3*1.5**r,p=[];t.resourceProductionBonus>0&&p.push({name:`officers.resourceBonus`,value:t.resourceProductionBonus,type:`percentage`}),s||p.push({name:`resources.noEnergy`,value:-100,type:`percentage`});let h=f*(1+t.resourceProductionBonus/100)*c,g=i*500*1.5**i,_=[];t.resourceProductionBonus>0&&_.push({name:`officers.resourceBonus`,value:t.resourceProductionBonus,type:`percentage`}),s||_.push({name:`resources.noEnergy`,value:-100,type:`percentage`});let v=g*(1+t.resourceProductionBonus/100)*c,y=a*25*1.5**a,b=[];t.darkMatterProductionBonus>0&&b.push({name:`officers.darkMatterBonus`,value:t.darkMatterProductionBonus,type:`percentage`});let x=y*(1+t.darkMatterProductionBonus/100),S=o*50*1.1**o,C=[];t.energyProductionBonus>0&&C.push({name:`officers.energyBonus`,value:t.energyProductionBonus,type:`percentage`});let w=S*(1+t.energyProductionBonus/100);return{metal:{baseProduction:l,buildingLevel:n,buildingName:`buildings.metalMine`,bonuses:u,finalProduction:d},crystal:{baseProduction:f,buildingLevel:r,buildingName:`buildings.crystalMine`,bonuses:p,finalProduction:h},deuterium:{baseProduction:g,buildingLevel:i,buildingName:`buildings.deuteriumSynthesizer`,bonuses:_,finalProduction:v},darkMatter:{baseProduction:y,buildingLevel:a,buildingName:`buildings.darkMatterCollector`,bonuses:b,finalProduction:x},energy:{baseProduction:S,buildingLevel:o,buildingName:`buildings.solarPlant`,bonuses:C,finalProduction:w}}},rd=e=>{let t=e.buildings[m.MetalMine]||0,n=e.buildings[m.CrystalMine]||0,r=e.buildings[m.DeuteriumSynthesizer]||0,i=t*10*1.1**t,a=n*10*1.1**n,o=r*15*1.1**r;return{metalMine:{buildingLevel:t,buildingName:`buildings.metalMine`,consumption:i},crystalMine:{buildingLevel:n,buildingName:`buildings.crystalMine`,consumption:a},deuteriumSynthesizer:{buildingLevel:r,buildingName:`buildings.deuteriumSynthesizer`,consumption:o},total:i+a+o}},id=(e,t=`Commander`)=>{let n={id:e,name:t,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[],points:0};return Object.values(i).forEach(e=>{n.technologies[e]=0}),Object.values(u).forEach(e=>{n.officers[e]=Bu(e)}),n},ad=e=>e.length===0,od=(e,t,n=10)=>{let r=[];for(let e=1;e<=n;e++)r.push({position:e,planet:null});return r},sd=()=>({galaxy:Math.floor(Math.random()*9)+1,system:Math.floor(Math.random()*10)+1,position:Math.floor(Math.random()*10)+1}),cd=(e,t,n)=>`${e}:${t}:${n}`,ld=(e,t)=>{let n=$(e.officers,t),r=(t,n,r,i,a)=>{Su(e,t)};return e.planets.forEach(e=>{Qu(e,t,n)}),e.planets.forEach(n=>{Nu(n,t,r),n.isMoon?n.maxSpace=Ku(n):n.maxSpace=qu(n,e.technologies[i.TerraformingTechnology]||0)}),{updatedResearchQueue:yu(e.researchQueue,e.technologies,t,r)}},ud=(e,t)=>{Hu(e,t)},dd=(e,t)=>{let n={};if(e.requirements&&Object.assign(n,e.requirements),e.levelRequirements){let r=Object.keys(e.levelRequirements).map(Number).filter(e=>e<=t).sort((e,t)=>e-t);for(let t of r){let r=e.levelRequirements[t];if(r)for(let[e,t]of Object.entries(r)){let r=n[e]||0;n[e]=Math.max(r,t)}}}return n},fd=(e,t,n)=>{if(!e||!n)return!0;for(let[r,a]of Object.entries(n))if(Object.values(m).includes(r)){if((e.buildings[r]||0)Xu(e,$(t,Date.now())),md=(e,t)=>Zu(e,$(t,Date.now()).storageCapacityBonus),hd=(e,t=0)=>{let n=e.buildings[m.NaniteFactory]||0;return Math.min(1+n+t,10)},gd=e=>{let t=e[i.ComputerTechnology]||0;return Math.min(1+t,10)},_d=(e=0)=>Math.min(1+e,10),vd=(e,t,n,r)=>{let i=Du(t,(e.buildings[t]||0)+1),a=c[t];if(a.planetOnly&&e.isMoon)return{valid:!1,reason:`errors.planetOnly`};if(a.moonOnly&&!e.isMoon)return{valid:!1,reason:`errors.moonOnly`};let o=hd(e,$(r,Date.now()).additionalBuildQueue);return e.buildQueue.length>=o?{valid:!1,reason:`errors.buildQueueFull`}:ju(e,t)?$u(e.resources,i)?Au(t,e,n)?{valid:!0}:{valid:!1,reason:`errors.requirementsNotMet`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.insufficientSpace`}},yd=(e,t,n)=>{let r=(e.buildings[t]||0)+1,i=Du(t,r),a=Ou(t,r,$(n,Date.now()).buildingSpeedBonus);return ed(e.resources,i),Mu(t,r,a)},bd=(e,t)=>{let n=Du(t.itemType,t.targetLevel||1);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},xd=(e,t)=>{let n=e.findIndex(e=>e.id===t);return n===-1?{item:null,index:-1}:{item:e[n]||null,index:n}},Sd=(e,t,n)=>{if((e.buildings[t]||0)<=0)return{valid:!1,reason:`errors.buildingLevelZero`};let r=hd(e,$(n,Date.now()).additionalBuildQueue);return e.buildQueue.length>=r?{valid:!1,reason:`errors.buildQueueFull`}:{valid:!0}},Cd=(e,t,n)=>{let r=e.buildings[t]||0,i=Fu(t,r,$(n,Date.now()).buildingSpeedBonus),a=Pu(t,r);return e.resources.metal+=a.metal,e.resources.crystal+=a.crystal,e.resources.deuterium+=a.deuterium,e.resources.darkMatter+=a.darkMatter,Iu(t,r,i)},wd=(e,t,n,r)=>{let i=hu(t,(n[t]||0)+1),a=gd(n);return r.length>=a?{valid:!1,reason:`errors.researchQueueFull`}:_u(t,e.buildings,n)?$u(e.resources,i)?{valid:!0}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},Td=(e,t,n,r)=>{let i=n+1,a=hu(t,i),o=gu(t,n,$(r,Date.now()).researchSpeedBonus);return ed(e.resources,a),{queueItem:vu(t,i,o)}},Ed=e=>{let t=hu(e.itemType,e.targetLevel||1);return{metal:Math.floor(t.metal*.5),crystal:Math.floor(t.crystal*.5),deuterium:Math.floor(t.deuterium*.5),darkMatter:Math.floor(t.darkMatter*.5),energy:0}};function Dd(e){return new Worker(``+new URL(`battle.worker-CNO8oZzx.js`,import.meta.url).href,{name:e?.name})}var Od=e=>{if(typeof e!=`object`||!e)return e;let t=z(e);if(Array.isArray(t))return t.map(e=>Od(e));if(t&&typeof t==`object`){let e={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=Od(t[n]));return e}return t};const kd=new class{constructor(){this.battleWorker=null,this.pendingTasks=new Map,this.messageIdCounter=0,this.defaultTimeout=1e4}initBattleWorker(){this.battleWorker||(this.battleWorker=new Dd,this.setupWorkerHandlers(this.battleWorker,`Battle`))}setupWorkerHandlers(e,t){e.onmessage=e=>{let{id:t,success:n,data:r,error:i}=e.data,a=this.pendingTasks.get(t);if(!a){console.warn(`[WorkerManager] No pending task found for message ID: ${t}`);return}a.timeout&&clearTimeout(a.timeout),this.pendingTasks.delete(t),n?a.resolve(r):a.reject(Error(i||`Worker task failed`))},e.onerror=e=>{console.error(`[WorkerManager] ${t} worker error:`,e);for(let e of this.pendingTasks.values())e.timeout&&clearTimeout(e.timeout),e.reject(Error(`${t} worker crashed`));this.pendingTasks.clear(),t===`Battle`&&(this.battleWorker=null)}}generateMessageId(){return`msg_${Date.now()}_${++this.messageIdCounter}`}getWorkerByType(e){if(e===p.SIMULATE_BATTLE||e===p.CALCULATE_PLUNDER||e===p.CALCULATE_DEBRIS)return this.initBattleWorker(),this.battleWorker;throw Error(`Unknown message type: ${e}`)}sendMessage(e,t,n=this.defaultTimeout){let r=this.getWorkerByType(e);if(!r)return Promise.reject(Error(`Worker initialization failed`));let i=this.generateMessageId();return new Promise((a,o)=>{let s=setTimeout(()=>{this.pendingTasks.delete(i),o(Error(`Worker task timeout after ${n}ms`))},n);this.pendingTasks.set(i,{resolve:a,reject:o,timeout:s});let c={id:i,type:e,payload:Od(t)};r.postMessage(c)})}async simulateBattle(e){return this.sendMessage(p.SIMULATE_BATTLE,e)}async calculatePlunder(e){return this.sendMessage(p.CALCULATE_PLUNDER,e)}async calculateDebris(e){return this.sendMessage(p.CALCULATE_DEBRIS,e)}destroy(){this.battleWorker&&=(this.battleWorker.terminate(),null);for(let e of this.pendingTasks.values())e.timeout&&clearTimeout(e.timeout),e.reject(Error(`Worker manager destroyed`));this.pendingTasks.clear()}getPendingTaskCount(){return this.pendingTasks.size}},Ad=async(e,t,n,r,i,a)=>{let o=$(i,Date.now()),s=$(a,Date.now()),c=Math.floor(o.defenseBonus/10),l=Math.floor(s.defenseBonus/10),u=await kd.simulateBattle({attacker:{ships:e,weaponTech:0,shieldTech:c,armorTech:c},defender:{ships:t,defense:n,weaponTech:0,shieldTech:l,armorTech:l},maxRounds:6}),d=u.winner===`attacker`?await kd.calculatePlunder({defenderResources:r,attackerFleet:u.attackerRemaining}):{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},f=await kd.calculateDebris({attackerLosses:u.attackerLosses,defenderLosses:u.defenderLosses}),p=f.metal+f.crystal,m=Math.min(p/1e5,.2);return{id:`battle_${Date.now()}`,timestamp:Date.now(),attackerId:``,defenderId:``,attackerPlanetId:``,defenderPlanetId:``,attackerFleet:e,defenderFleet:t,defenderDefense:n,attackerLosses:u.attackerLosses,defenderLosses:u.defenderLosses,winner:u.winner,plunder:d,debrisField:f,rounds:u.rounds,attackerRemaining:u.attackerRemaining,defenderRemaining:u.defenderRemaining,roundDetails:u.roundDetails,moonChance:m}},jd=(e,t)=>{let n={...t};return Object.keys(e).forEach(r=>{let i=e[r]||0,a=t[r]||0,o=i-a;o>0&&(n[r]=a+Math.floor(o*.7))}),n},Md=e=>{let n=e.metal+e.crystal;if(n{let c=Md(e);if(c===0||Math.random()*100>=c)return null;let l={id:`moon_${Date.now()}`,name:`Moon [${n.galaxy}:${n.system}:${n.position}]`,ownerId:o,position:n,resources:{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[s.LightFighter]:0,[s.HeavyFighter]:0,[s.Cruiser]:0,[s.Battleship]:0,[s.SmallCargo]:0,[s.LargeCargo]:0,[s.ColonyShip]:0,[s.Recycler]:0,[s.EspionageProbe]:0,[s.DarkMatterHarvester]:0,[s.Deathstar]:0},defense:{[r.RocketLauncher]:0,[r.LightLaser]:0,[r.HeavyLaser]:0,[r.GaussCannon]:0,[r.IonCannon]:0,[r.PlasmaTurret]:0,[r.SmallShieldDome]:0,[r.LargeShieldDome]:0,[r.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:t.baseSize,maxFleetStorage:a.baseStorage,isMoon:!0,parentPlanetId:i};return Object.values(m).forEach(e=>{l.buildings[e]=0}),l},Pd=(e,t,n)=>{if(e.find(e=>e.position.galaxy===t.galaxy&&e.position.system===t.system&&e.position.position===t.position&&e.isMoon))return{canCreate:!1,reason:`errors.moonExists`};let r=Gu(n);return r===0?{canCreate:!1,reason:`errors.insufficientDebris`,chance:r}:{canCreate:!0,chance:r}},Fd=e=>Math.random()*100<=e,Id=(e,t)=>e.galaxy===t.galaxy&&e.system===t.system&&e.position===t.position?5:e.galaxy===t.galaxy&&e.system===t.system?1e3+Math.abs(t.position-e.position)*5:e.galaxy===t.galaxy?2700+Math.abs(t.system-e.system)*95:2e4+Math.abs(t.galaxy-e.galaxy)*2e4,Ld=(e,t)=>Math.max(10,Math.floor(e*1e4/t)),Rd=(e,t,n,r,i,a,o)=>{let s=Date.now();return{id:`mission_${s}`,playerId:e,originPlanetId:t,targetPosition:n,missionType:r,fleet:i,cargo:a,departureTime:s,arrivalTime:s+o*1e3,returnTime:s+o*2*1e3,status:`outbound`}},zd=(e,t)=>{t&&(t.resources.metal+=e.cargo.metal,t.resources.crystal+=e.cargo.crystal,t.resources.deuterium+=e.cargo.deuterium,t.resources.darkMatter+=e.cargo.darkMatter),e.status=`returning`,e.cargo={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0}},Bd=async(e,t,n,r,i)=>{if(!t||t.ownerId===n.id)return e.status=`returning`,null;let a=await Ad(e.fleet,t.fleet,t.defense,t.resources,n.officers,r?.officers||{});a.id=`battle_${Date.now()}`,a.attackerId=n.id,a.defenderId=t.ownerId||`unknown`,a.attackerPlanetId=e.originPlanetId,a.defenderPlanetId=t.id,e.cargo=a.plunder;let o={};Object.entries(e.fleet).forEach(([e,t])=>{let n=t-(a.attackerLosses[e]||0);n>0&&(o[e]=n)}),e.fleet=o,Object.entries(a.defenderLosses.fleet).forEach(([e,n])=>{t.fleet[e]=Math.max(0,t.fleet[e]-n)}),Object.entries(a.defenderLosses.defense).forEach(([e,n])=>{t.defense[e]=Math.max(0,t.defense[e]-n)});let s={...t.defense};Object.entries(a.defenderLosses.defense).forEach(([e,t])=>{s[e]=(s[e]||0)+t}),t.defense=jd(s,t.defense),t.resources.metal-=a.plunder.metal,t.resources.crystal-=a.plunder.crystal,t.resources.deuterium-=a.plunder.deuterium,e.status=`returning`;let c=null,l=Pd(i,t.position,a.debrisField);l.canCreate&&l.chance&&Fd(l.chance)&&(c=Nd(a.debrisField,t.position,t.id,t.ownerId||`unknown`));let u=null;return a.debrisField.metal+a.debrisField.crystal>0&&(u={id:`debris_${t.position.galaxy}_${t.position.system}_${t.position.position}`,position:t.position,resources:{metal:a.debrisField.metal,crystal:a.debrisField.crystal},createdAt:Date.now()}),{battleResult:a,moon:c,debrisField:u}},Vd=(e,t,n,i=`Colony`)=>{if(t)return e.status=`returning`,null;let o={id:`planet_${Date.now()}`,name:`${i} ${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}`,ownerId:n,position:e.targetPosition,resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[s.LightFighter]:0,[s.HeavyFighter]:0,[s.Cruiser]:0,[s.Battleship]:0,[s.SmallCargo]:0,[s.LargeCargo]:0,[s.ColonyShip]:0,[s.Recycler]:0,[s.EspionageProbe]:0,[s.DarkMatterHarvester]:0,[s.Deathstar]:0},defense:{[r.RocketLauncher]:0,[r.LightLaser]:0,[r.HeavyLaser]:0,[r.GaussCannon]:0,[r.IonCannon]:0,[r.PlasmaTurret]:0,[r.SmallShieldDome]:0,[r.LargeShieldDome]:0,[r.PlanetaryShield]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,maxFleetStorage:a.baseStorage,isMoon:!1};return Object.values(m).forEach(e=>{o.buildings[e]=0}),e.fleet[s.ColonyShip]=(e.fleet[s.ColonyShip]||1)-1,e.status=`returning`,o},Hd=(e,t,n)=>{if(!t)return e.status=`returning`,null;let r={id:`spy_${Date.now()}`,timestamp:Date.now(),spyId:n,targetPlanetId:t.id,targetPlayerId:t.ownerId||`unknown`,resources:{...t.resources},fleet:{...t.fleet},defense:{...t.defense},buildings:{...t.buildings},technologies:{},detectionChance:.3};return e.status=`returning`,r},Ud=(e,t,n)=>{if(!t||t.ownerId!==n)return e.status=`returning`,!1;for(let[n,r]of Object.entries(e.fleet))t.fleet[n]+=r;return!0},Wd=(e,t)=>{if(!t)return e.status=`returning`,null;let n=(e.fleet[s.Recycler]||0)*2e4-(e.cargo.metal+e.cargo.crystal+e.cargo.deuterium),r=t.resources.metal+t.resources.crystal,i=Math.min(r,n),a=t.resources.metal/r,o=t.resources.crystal/r,c=Math.floor(i*a),l=Math.floor(i*o);e.cargo.metal+=c,e.cargo.crystal+=l;let u=t.resources.metal-c,d=t.resources.crystal-l;return e.status=`returning`,{collectedResources:{metal:c,crystal:l},remainingDebris:u>0||d>0?{metal:u,crystal:d}:null}},Gd=(e,t,n)=>{let r=e*10,i=t*5,a=Math.floor(n/1e4),o=r-i-a;return Math.max(1,Math.min(99,o))},Kd=(e,t)=>{let n=0;return Object.entries(e).forEach(([e,t])=>{t>0&&(n+=t*100)}),Object.entries(t).forEach(([e,t])=>{t>0&&(n+=t*50)}),n},qd=(e,t,n)=>{if(!t||t.ownerId===n.id)return e.status=`returning`,null;let i=e.fleet[s.Deathstar]||0;if(i===0)return e.status=`returning`,null;let a=Gd(i,t.defense[r.PlanetaryShield]||0,Kd(t.fleet,t.defense)),o=Math.random()*100{if(e.status!==`outbound`)return!1;let n=t-e.departureTime;return t{let r=n[e];return{metal:r.cost.metal*t,crystal:r.cost.crystal*t,deuterium:r.cost.deuterium*t,darkMatter:r.cost.darkMatter*t,energy:0}},Xd=(e,t)=>{let n=d[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t,energy:0}},Zd=(e,t,r=0)=>{let i=n[e].buildTime*t,a=1-r/100;return Math.floor(i*a)},Qd=(e,t,n=0)=>{let r=d[e].buildTime*t,i=1-n/100;return Math.floor(r*i)},$d=(e,t,r)=>{let a=n[e];if(!a.requirements)return!0;for(let[e,n]of Object.entries(a.requirements))if(Object.values(m).includes(e)){if((t[e]||0){let r=d[e];if(!r.requirements)return!0;for(let[e,a]of Object.entries(r.requirements))if(Object.values(m).includes(e)){if((t[e]||0)!((e===r.SmallShieldDome||e===r.LargeShieldDome)&&((t[e]||0)>0||n>1)),nf=(e,t,n)=>{let r=Date.now();return{id:`ship_${r}`,type:`ship`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},rf=(e,t,n)=>{let r=Date.now();return{id:`defense_${r}`,type:`defense`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},af=(e,t)=>{for(let[n,r]of Object.entries(t))if((e[n]||0){let i=0;for(let[t,r]of Object.entries(e)){let e=n[t];i+=e.fuelConsumption*r}let a=0;if(r){let e=r.metal+r.crystal+r.deuterium+r.darkMatter;a=Math.floor(e/1e3)}let o=1-t/100;return Math.floor(i*o)+a},sf=(e,t=0)=>{let r=1/0;for(let[t,i]of Object.entries(e))if(i>0){let e=n[t];r=Math.min(r,e.speed)}let i=1+t/100;return Math.floor(r*i)},cf=(e,t)=>{for(let[n,r]of Object.entries(t))e[n]-=r},lf=(e,t)=>{for(let[n,r]of Object.entries(t))r>0&&(e[n]+=r)},uf=e=>{let t=0;for(let r of Object.values(s)){let i=e[r]||0,a=n[r];t+=i*a.storageUsage}return t},df=(e,t)=>{let n=a.baseStorage,r=e.buildings[m.Shipyard]||0,s=c[m.Shipyard].fleetStorageBonus||0;n+=r*s;let l=t[i.ComputerTechnology]||0,u=o[i.ComputerTechnology].fleetStorageBonus||0;return n+=l*u,n},ff=(e,t,r,i)=>{let a=uf(e.fleet),o=df(e,i);return a+n[t].storageUsage*r<=o},pf=(e,t,n,r)=>{let i=Yd(t,n);return $d(t,e.buildings,r)?$u(e.resources,i)?ff(e,t,n,r)?{valid:!0}:{valid:!1,reason:`errors.insufficientFleetStorage`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},mf=(e,t,n,r)=>{let i=Yd(t,n),a=Zd(t,n,$(r,Date.now()).buildingSpeedBonus);return ed(e.resources,i),nf(t,n,a)},hf=(e,t,n,r)=>{let i=Xd(t,n);return ef(t,e.buildings,r)?$u(e.resources,i)?tf(t,e.defense,n)?{valid:!0}:{valid:!1,reason:`errors.shieldDomeLimit`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},gf=(e,t,n,r)=>{let i=Xd(t,n),a=Qd(t,n,$(r,Date.now()).buildingSpeedBonus);return ed(e.resources,i),rf(t,n,a)},_f=(e,t,n,r,i=0)=>{let a=$(r,Date.now());if(i>=_d(a.additionalFleetSlots))return{valid:!1,reason:`errors.fleetMissionsFull`};if(!af(e.fleet,t))return{valid:!1,reason:`errors.insufficientFleet`};let o=of(t,a.fuelConsumptionReduction,n);return e.resources.deuterium{cf(e.fleet,t),e.resources.deuterium-=n,r&&ed(e.resources,i)};export{Qu as $,$r as $t,xd as A,ds as At,sd as B,Sa as Bt,kd as C,bn as Cn,G as Ct,bd as D,Se as Dn,vs as Dt,wd as E,Oe as En,Xs as Et,_d as F,bs as Ft,td as G,Hi as Gt,id as H,ir as Ht,md as I,Zs as It,nd as J,ta as Jt,rd as K,os as Kt,pd as L,Ka as Lt,vd as M,J as Mt,fd as N,Qr as Nt,Cd as O,Ie as On,fs as Ot,dd as P,Q as Pt,ed as Q,ya as Qt,ud as R,Ga as Rt,Jd as S,xn as Sn,K as St,Td as T,De as Tn,xs as Tt,ld as U,Vi as Ut,od as V,Ds as Vt,ad as W,Ri as Wt,Xu as X,Zi as Xt,Zu as Y,ra as Yt,$u as Z,aa as Zt,Ud as _,sn as _n,gu as _t,_f as a,Sr as an,Bu as at,Hd as b,kn as bn,Ll as bt,df as c,He as cn,Du as ct,sf as d,fn as dn,ku as dt,va as en,Gu as et,Id as f,Ue as fn,Cu as ft,Vd as g,an as gn,hu as gt,Bd as h,hn,wu as ht,hf as i,xr as in,zu as it,Sd as j,Ss as jt,yd as k,me as kn,ws as kt,lf as l,ln,Ou as lt,Rd as m,on as mn,Tu as mt,vf as n,Ya as nn,Wu as nt,pf as o,Tn as on,Lu as ot,Ld as p,rn as pn,Eu as pt,Yu as q,Wa as qt,mf as r,Xa as rn,$ as rt,uf as s,Ve as sn,Vu as st,gf as t,Qa as tn,Uu as tt,of as u,B as un,Pu as ut,qd as v,gn as vn,pu as vt,Ed as w,M as wn,Pr as wt,zd as x,En as xn,Zl as xt,Wd as y,z as yn,su as yt,cd as z,ps as zt}; \ No newline at end of file diff --git a/docs/assets/index-BT5w6et-.js b/docs/assets/index-BT5w6et-.js new file mode 100644 index 0000000..586711a --- /dev/null +++ b/docs/assets/index-BT5w6et-.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./OverviewView-DdvtPdf7.js","./vendor-others-DTUzJ7S-.js","./game-logic-Bi1l7y4K.js","./game-config-CG6z6nnH.js","./rolldown-runtime-CIDIeb-o.js","./vendor-others-BMPyaZWq.css","./vendor-reka-ui-BEHIKScj.js","./vendor-vueuse-CJcfYqoW.js","./vendor-crypto-CQM8pryk.js","./vendor-utils-BlvnUqQX.js","./vendor-pinia-DqhKuBjp.js","./CardDescription-BSLS07AU.js","./TabsTrigger-DrosU7aN.js","./useGameConfig-b98LOtBY.js","./game-i18n-Dr0JspcV.js","./BuildingsView-4mX0ZiqE.js","./vendor-icons-z9V6Jdbh.js","./CardUnlockOverlay-DYfgGY6J.js","./ResearchView-BEvEoPdM.js","./vendor-vue-router-1sDnnIWZ.js","./UnlockRequirement-CoWPiUl8.js","./ShipyardView-C8y8F-rK.js","./DefenseView-BuYOjWBp.js","./FleetView-D6gRUTGU.js","./OfficersView-gOtt9blg.js","./BattleSimulatorView-C7D7Sz5R.js","./BattleReportDialog-CGjL16c6.js","./TooltipProvider-BwjgS8_x.js","./MessagesView-Czwj26_i.js","./GalaxyView-Yqd2o_zC.js","./SelectValue-DmEWUfvu.js","./DiplomacyView-Bz3CIKaK.js","./SettingsView-yJRibE1k.js","./GMView-DWcaM1NY.js"])))=>i.map(i=>d[i]); +import{i as e}from"./rolldown-runtime-CIDIeb-o.js";import{$ as t,$t as n,A as r,B as i,Bt as a,Cn as o,Ct as s,Dn as c,En as l,F as u,Ft as d,G as f,Gn as p,Gt as m,H as ee,It as te,Jn as h,Jt as g,K as ne,Ln as _,Lt as re,M as v,Mn as ie,Mt as ae,N as oe,Nt as se,Ot as ce,P as le,Pt as ue,Qt as y,St as de,U as b,V as fe,Vt as pe,W as me,X as x,Xn as S,Xt as C,Yn as he,Yt as w,Zt as T,_n as E,_t as D,at as ge,ct as _e,en as O,et as k,f as ve,fn as ye,gn as A,h as be,it as xe,j as Se,kt as Ce,l as we,ln as j,lt as M,mn as N,mt as Te,pn as Ee,pt as P,qn as F,rn as I,rt as De,st as Oe,tn as L,tt as ke,vn as Ae,vt as je,yt as Me,z as Ne,zt as Pe}from"./game-logic-Bi1l7y4K.js";import{n as Fe,r as Ie,t as Le}from"./vendor-pinia-DqhKuBjp.js";import{i as Re,n as ze,r as Be,t as Ve}from"./vendor-vue-router-1sDnnIWZ.js";import{t as He}from"./vendor-crypto-CQM8pryk.js";import{n as Ue,r as We,t as Ge}from"./game-i18n-Dr0JspcV.js";import{R as Ke,c as R,t as qe,z as Je}from"./vendor-others-DTUzJ7S-.js";import{$ as z,A as Ye,B as Xe,C as Ze,G as Qe,H as $e,J as et,K as tt,L as nt,M as rt,N as it,P as at,Q as ot,R as st,U as ct,V as lt,W as ut,X as dt,Y as ft,Z as pt,a as mt,et as ht,i as gt,j as _t,n as vt,o as yt,q as bt,r as xt,t as St,tt as Ct,w as wt,z as Tt}from"./vendor-reka-ui-BEHIKScj.js";import{n as Et}from"./vendor-utils-BlvnUqQX.js";import{i as Dt,n as Ot,r as kt,t as At}from"./vendor-vueuse-CJcfYqoW.js";import{A as jt,C as Mt,E as Nt,F as Pt,H as Ft,I as It,J as Lt,N as Rt,O as zt,S as Bt,V as Vt,_ as Ht,c as Ut,f as Wt,h as Gt,j as Kt,k as qt,l as Jt,m as Yt,n as Xt,o as Zt,p as Qt,r as $t,t as en,u as tn,w as nn,x as rn}from"./vendor-icons-z9V6Jdbh.js";import{l as an,m as B,r as on}from"./game-config-CG6z6nnH.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href;var V={name:`ogame-vue-ts`,title:`OGame-Vue-Ts`,qq:`920930589`,id:`2zBlHPUA6E`,author:{name:`setube`,email:`1962257451@qq.com`},private:!0,version:`1.2.0`,buildDate:`2025/12/15 08:18:13`,main:`dist-electron/main.js`,type:`module`,scripts:{dev:`vite --port 25121`,build:`vue-tsc -b && vite build && node update-build-date.js`,preview:`vite preview`,"build:server":`pnpm run build && go build`,"build:electron":`cross-env ELECTRON_BUILD=1 pnpm run build && electron-builder`},dependencies:{"@tailwindcss/vite":`^4.1.17`,"@tanstack/vue-table":`^8.21.3`,"@vueuse/core":`^14.1.0`,"class-variance-authority":`^0.7.1`,clsx:`^2.1.1`,"crypto-js":`^4.2.0`,"file-saver":`^2.0.5`,finalhandler:`^2.1.1`,"lucide-vue-next":`^0.556.0`,pinia:`^3.0.4`,"pinia-plugin-persistedstate":`^4.7.1`,"reka-ui":`^2.6.1`,"serve-static":`^2.2.0`,"tailwind-merge":`^3.4.0`,tailwindcss:`^4.1.17`,vue:`^3.5.24`,"vue-router":`4`,"vue-sonner":`^2.0.9`},devDependencies:{"@types/crypto-js":`^4.2.2`,"@types/file-saver":`^2.0.7`,"@types/node":`^24.10.2`,"@vitejs/plugin-vue":`^6.0.1`,"@vue/tsconfig":`^0.8.1`,"cross-env":`^7.0.3`,electron:`^39.2.7`,"electron-builder":`^26.0.12`,"electron-vite":`^5.0.0`,"tw-animate-css":`^1.4.0`,typescript:`~5.9.3`,vite:`npm:rolldown-vite@7.2.5`,"vite-plugin-electron":`^0.29.0`,"vite-plugin-electron-renderer":`^0.14.6`,"vue-tsc":`^3.1.4`},pnpm:{overrides:{vite:`npm:rolldown-vite@7.2.5`},onlyBuiltDependencies:[`electron-winstaller`,`esbuild`,`vue-demi`],ignoredBuiltDependencies:[`electron`]},packageManager:`pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad`,build:{appId:`games.wenzi.ogame`,productName:`OGame`,directories:{output:`pkg`},win:{target:`nsis`,icon:`public/favicon.ico`,verifyUpdateCodeSignature:!1,artifactName:"${productName}-Setup.${ext}"},mac:{target:[`dmg`,`zip`],artifactName:"${productName}-mac.${ext}"},linux:{target:[`AppImage`,`deb`],artifactName:"${productName}-linux.${ext}"}}},sn=e(He(),1);const cn=e=>{try{let t=JSON.stringify(e);return sn.default.AES.encrypt(t,V.name).toString()}catch(e){console.error(e)}return``},ln=e=>{try{let t=sn.default.AES.decrypt(e,V.name).toString(sn.default.enc.Utf8);return JSON.parse(t)}catch(e){return console.error(e),{}}},H=Ie(`game`,{state:()=>({gameTime:Date.now(),isPaused:!1,player:{id:`player1`,name:``,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[],spiedNotifications:[],npcActivityNotifications:[],missionReports:[],incomingFleetAlerts:[],giftNotifications:[],giftRejectedNotifications:[],points:0},currentPlanetId:``,isDark:``,locale:`zh-CN`}),getters:{currentPlanet(){return this.player.planets.find(e=>e.id===this.currentPlanetId)},getMoonForPlanet(){return e=>this.player.planets.find(t=>t.parentPlanetId===e&&t.isMoon)}},persist:{key:V.name,storage:localStorage,serializer:{serialize:e=>cn(e),deserialize:e=>ln(e)}}});var U=_(!1);const un=()=>{let e=H();ye(()=>{e.isDark?U.value=e.isDark===`dark`:(U.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches,e.isDark=U.value?`dark`:`light`),t()}),o(U,()=>{t(),e.isDark=U.value?`dark`:`light`});let t=()=>{U.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)};return{isDark:U,toggleTheme:()=>{U.value=!U.value}}},dn=()=>{let e=H(),t=g(()=>e.locale),n=g(()=>We[t.value]);return{t:e=>{let t=e.split(`.`),r=n.value;for(let n of t)if(r&&typeof r==`object`&&n in r)r=r[n];else return e;return typeof r==`string`?r:e},locale:t,setLocale:t=>{e.locale=t},messages:n}},W=(...e)=>Et(Je(e));var G=L({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(N(),C(p(ot),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:F(p(W)(p(fn)({variant:e.variant,size:e.size}),t.class))},{default:l(()=>[E(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});const fn=Ke(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});var pn=L({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(r,i)=>(N(),C(p(ot),j({"data-slot":`badge`,class:p(W)(p(mn)({variant:e.variant}),t.class)},p(n)),{default:l(()=>[E(r.$slots,`default`)]),_:3},16,[`class`]))}});const mn=Ke(`inline-flex items-center justify-center rounded-sm border h-5 min-w-5 px-1 text-xs font-medium tabular-nums select-none w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});var hn=L({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(wt),j({"data-slot":`progress`},p(n),{class:p(W)(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,t.class)}),{default:l(()=>[O(p(Ze),{"data-slot":`progress-indicator`,class:`bg-primary h-full w-full flex-1 transition-all`,style:he(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),gn=L({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(N(),C(p(at),j({"data-slot":`popover`},p(n)),{default:l(t=>[E(e.$slots,`default`,h(I(t)))]),_:3},16))}}),_n=L({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=z(R(n,`class`),r);return(e,t)=>(N(),C(p(rt),null,{default:l(()=>[O(p(it),j({"data-slot":`popover-content`},{...e.$attrs,...p(i)},{class:p(W)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),vn=L({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(N(),C(p(_t),j({"data-slot":`popover-trigger`},t),{default:l(()=>[E(e.$slots,`default`)]),_:3},16))}}),yn=L({__name:`Sheet`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(N(),C(p(pt),j({"data-slot":`sheet`},p(n)),{default:l(t=>[E(e.$slots,`default`,h(I(t)))]),_:3},16))}}),bn=L({__name:`SheetOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(bt),j({"data-slot":`sheet-overlay`,class:p(W)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)},p(n)),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),xn=L({inheritAttrs:!1,__name:`SheetContent`,props:{class:{},side:{default:`right`},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=z(R(n,`class`,`side`),r);return(t,r)=>(N(),C(p(tt),null,{default:l(()=>[O(bn),O(p(ft),j({"data-slot":`sheet-content`,class:p(W)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,e.side===`right`&&`data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,e.side===`left`&&`data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,e.side===`top`&&`data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b`,e.side===`bottom`&&`data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t`,n.class)},{...t.$attrs,...p(i)}),{default:l(()=>[E(t.$slots,`default`),O(p(dt),{class:`ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none`},{default:l(()=>[O(p(Xt),{class:`size-4`}),r[0]||=w(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),Sn=L({__name:`SheetDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(et),j({"data-slot":`sheet-description`,class:p(W)(`text-muted-foreground text-sm`,t.class)},p(n)),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),Cn=L({__name:`SheetHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sheet-header`,class:F(p(W)(`flex flex-col gap-1.5 p-4`,t.class))},[E(e.$slots,`default`)],2))}}),wn=L({__name:`SheetTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(Qe),j({"data-slot":`sheet-title`,class:p(W)(`text-foreground font-semibold`,t.class)},p(n)),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}});const Tn=`sidebar_state`,[En,Dn]=Ct(`Sidebar`);var On={class:`flex h-full w-full flex-col`},kn=[`data-state`,`data-collapsible`,`data-variant`,`data-side`],An={"data-sidebar":`sidebar`,class:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`},jn=L({inheritAttrs:!1,__name:`Sidebar`,props:{side:{default:`left`},variant:{default:`sidebar`},collapsible:{default:`offcanvas`},class:{}},setup(e){let t=e,{isMobile:r,state:i,openMobile:a,setOpenMobile:o}=En();return(s,c)=>e.collapsible===`none`?(N(),y(`div`,j({key:0,"data-slot":`sidebar`,class:p(W)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,t.class)},s.$attrs),[E(s.$slots,`default`)],16)):p(r)?(N(),C(p(yn),j({key:1,open:p(a)},s.$attrs,{"onUpdate:open":p(o)}),{default:l(()=>[O(p(xn),{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,side:e.side,class:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:he({"--sidebar-width":p(`18rem`)})},{default:l(()=>[O(Cn,{class:`sr-only`},{default:l(()=>[O(wn,null,{default:l(()=>[...c[0]||=[n(`Sidebar`,-1)]]),_:1}),O(Sn,null,{default:l(()=>[...c[1]||=[n(`Displays the mobile sidebar.`,-1)]]),_:1})]),_:1}),w(`div`,On,[E(s.$slots,`default`)])]),_:3},8,[`side`,`style`])]),_:3},16,[`open`,`onUpdate:open`])):(N(),y(`div`,{key:2,class:`group peer text-sidebar-foreground hidden md:block`,"data-slot":`sidebar`,"data-state":p(i),"data-collapsible":p(i)===`collapsed`?e.collapsible:``,"data-variant":e.variant,"data-side":e.side},[w(`div`,{class:F(p(W)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,e.variant===`floating`||e.variant===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`))},null,2),w(`div`,j({class:p(W)(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e.side===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,e.variant===`floating`||e.variant===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,t.class)},s.$attrs),[w(`div`,An,[E(s.$slots,`default`)])],16)],8,kn))}}),Mn=L({__name:`SidebarContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,class:F(p(W)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t.class))},[E(e.$slots,`default`)],2))}}),Nn=L({__name:`SidebarFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,class:F(p(W)(`flex flex-col gap-2 p-2`,t.class))},[E(e.$slots,`default`)],2))}}),Pn=L({__name:`SidebarGroup`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,class:F(p(W)(`relative flex w-full min-w-0 flex-col p-2`,t.class))},[E(e.$slots,`default`)],2))}}),Fn=L({__name:`SidebarHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,class:F(p(W)(`flex flex-col gap-2 p-2`,t.class))},[E(e.$slots,`default`)],2))}}),In=L({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=Dt(n,`modelValue`,t,{passive:!0,defaultValue:n.defaultValue});return(e,t)=>c((N(),y(`input`,{"onUpdate:modelValue":t[0]||=e=>ie(r)?r.value=e:null,"data-slot":`input`,class:F(p(W)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,n.class))},null,2)),[[a,p(r)]])}}),Ln=L({__name:`SidebarInset`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`main`,{"data-slot":`sidebar-inset`,class:F(p(W)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,t.class))},[E(e.$slots,`default`)],2))}}),Rn=L({__name:`SidebarMenu`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,class:F(p(W)(`flex w-full min-w-0 flex-col gap-1`,t.class))},[E(e.$slots,`default`)],2))}}),zn=L({__name:`SidebarMenuBadge`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,class:F(p(W)(`text-sidebar-foreground pointer-events-none flex h-5 min-w-5 items-center justify-center rounded-sm px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`absolute right-1`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:absolute group-data-[collapsible=icon]:right-0 group-data-[collapsible=icon]:-top-1 group-data-[collapsible=icon]:h-4 group-data-[collapsible=icon]:min-w-4`,t.class))},[E(e.$slots,`default`)],2))}}),Bn=L({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(N(),C(p(gt),j({"data-slot":`tooltip`},p(n)),{default:l(t=>[E(e.$slots,`default`,h(I(t)))]),_:3},16))}}),Vn=L({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=z(R(n,`class`),r);return(e,t)=>(N(),C(p(vt),null,{default:l(()=>[O(p(xt),j({"data-slot":`tooltip-content`},{...p(i),...e.$attrs},{class:p(W)(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance`,n.class)}),{default:l(()=>[E(e.$slots,`default`),O(p(yt),{class:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]),_:3},16,[`class`])]),_:3}))}}),Hn=L({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(N(),C(p(St),j({"data-slot":`tooltip-trigger`},t),{default:l(()=>[E(e.$slots,`default`)]),_:3},16))}}),Un=L({__name:`SidebarMenuButtonChild`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(N(),C(p(ot),j({"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":e.size,"data-active":e.isActive,class:p(W)(p(Jn)({variant:e.variant,size:e.size}),t.class),as:e.as,"as-child":e.asChild},n.$attrs),{default:l(()=>[E(n.$slots,`default`)]),_:3},16,[`data-size`,`data-active`,`class`,`as`,`as-child`]))}}),Wn=L({inheritAttrs:!1,__name:`SidebarMenuButton`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`},tooltip:{}},setup(e){let t=e,{isMobile:r,state:i}=En(),a=R(t,`tooltip`);return(t,o)=>e.tooltip?(N(),C(p(Bn),{key:1},{default:l(()=>[O(p(Hn),{"as-child":``},{default:l(()=>[O(Un,h(I({...p(a),...t.$attrs})),{default:l(()=>[E(t.$slots,`default`)]),_:3},16)]),_:3}),O(p(Vn),{side:`right`,align:`center`,hidden:p(i)!==`collapsed`||p(r)},{default:l(()=>[typeof e.tooltip==`string`?(N(),y(m,{key:0},[n(S(e.tooltip),1)],64)):(N(),C(Ae(e.tooltip),{key:1}))]),_:1},8,[`hidden`])]),_:3})):(N(),C(Un,h(j({key:0},{...p(a),...t.$attrs})),{default:l(()=>[E(t.$slots,`default`)]),_:3},16))}}),Gn=L({__name:`SidebarMenuItem`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,class:F(p(W)(`group/menu-item relative`,t.class))},[E(e.$slots,`default`)],2))}}),Kn=L({__name:`SidebarProvider`,props:{defaultOpen:{type:Boolean,default:!At?.cookie.includes(`${Tn}=false`)},open:{type:Boolean,default:void 0},class:{}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=kt(`(max-width: 768px)`),a=_(!1),o=Dt(n,`open`,r,{defaultValue:n.defaultOpen??!1,passive:n.open===void 0}),s=e=>{o.value=e,document.cookie=`${Tn}=${o.value}; path=/; max-age=604800`},c=e=>{a.value=e},u=()=>i.value?c(!a.value):s(!o.value);return Ot(`keydown`,e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u())}),Dn({state:g(()=>o.value?`expanded`:`collapsed`),open:o,setOpen:s,isMobile:i,openMobile:a,setOpenMobile:c,toggleSidebar:u}),(e,t)=>(N(),C(p(mt),{"delay-duration":0},{default:l(()=>[w(`div`,j({"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":p(`16rem`),"--sidebar-width-icon":p(`3rem`)},class:p(W)(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,n.class)},e.$attrs),[E(e.$slots,`default`)],16)]),_:3}))}}),qn=L({__name:`SidebarTrigger`,props:{class:{}},setup(e){let t=e,{toggleSidebar:n}=En();return(e,r)=>(N(),C(p(G),{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,class:F(p(W)(`h-7 w-7`,t.class)),onClick:p(n)},{default:l(()=>[O(p(rn)),r[0]||=w(`span`,{class:`sr-only`},`Toggle Sidebar`,-1)]),_:1},8,[`class`,`onClick`]))}});const Jn=Ke(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var Yn=L({__name:`ResourceIcon`,props:{type:{},size:{default:`md`}},setup(e){let t={metal:`bg-gradient-to-br from-slate-400 to-slate-600`,crystal:`bg-gradient-to-br from-cyan-400 to-blue-600`,deuterium:`bg-gradient-to-br from-green-400 to-emerald-600`,darkMatter:`bg-gradient-to-br from-purple-600 to-indigo-900`,energy:`bg-gradient-to-br from-yellow-400 to-orange-500`},n={sm:`w-3 h-3`,md:`w-4 h-4`,lg:`w-5 h-5`};return(r,i)=>(N(),y(`div`,{class:F([t[e.type],n[e.size],`rounded shadow-sm`])},null,2))}}),Xn=L({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(N(),C(p(pt),j({"data-slot":`dialog`},p(n)),{default:l(t=>[E(e.$slots,`default`,h(I(t)))]),_:3},16))}}),Zn=L({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(bt),j({"data-slot":`dialog-overlay`},p(n),{class:p(W)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),Qn=L({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=ht(R(t,`class`));return(e,r)=>(N(),C(p(et),j({"data-slot":`dialog-description`},p(n),{class:p(W)(`text-muted-foreground text-sm`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),$n=L({__name:`DialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`dialog-header`,class:F(p(W)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[E(e.$slots,`default`)],2))}}),er={class:`shrink-0 px-4 pt-4 pb-3 sm:px-6 sm:pt-6 sm:pb-4 border-b`},tr={class:`overflow-y-auto px-4 py-3 sm:px-6 sm:py-4`},nr={key:0,class:`shrink-0 px-4 pb-4 pt-3 sm:px-6 sm:pb-6 sm:pt-4 border-t`},rr=L({inheritAttrs:!1,__name:`ScrollableDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},containerClass:{},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=z(R(n,`containerClass`),r);return(t,n)=>(N(),C(p(tt),null,{default:l(()=>[O(Zn),O(p(ft),j({"data-slot":`scrollable-dialog-content`},{...t.$attrs,...p(i)},{class:p(W)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 w-[calc(100vw-3rem)] translate-x-[-50%] translate-y-[-50%] rounded-lg border shadow-lg duration-200 sm:w-auto flex flex-col p-0`,e.containerClass)}),{default:l(()=>[w(`div`,er,[E(t.$slots,`header`)]),w(`div`,tr,[E(t.$slots,`default`)]),t.$slots.footer?(N(),y(`div`,nr,[E(t.$slots,`footer`)])):T(``,!0),e.showCloseButton?(N(),C(p(dt),{key:1,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 z-10`},{default:l(()=>[O(p(Xt)),n[0]||=w(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):T(``,!0)]),_:3},16,[`class`])]),_:3}))}}),ir=L({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=ht(R(t,`class`));return(e,r)=>(N(),C(p(Qe),j({"data-slot":`dialog-title`},p(n),{class:p(W)(`text-lg leading-none font-semibold`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}});const ar=Ie(`detailDialog`,{state:()=>({isOpen:!1,type:null,itemType:null,currentLevel:void 0}),actions:{openBuilding(e,t){this.isOpen=!0,this.type=`building`,this.itemType=e,this.currentLevel=t},openTechnology(e,t){this.isOpen=!0,this.type=`technology`,this.itemType=e,this.currentLevel=t},openShip(e){this.isOpen=!0,this.type=`ship`,this.itemType=e,this.currentLevel=void 0},openDefense(e){this.isOpen=!0,this.type=`defense`,this.itemType=e,this.currentLevel=void 0},close(){this.isOpen=!1,this.type=null,this.itemType=null,this.currentLevel=void 0}}});var or={"data-slot":`table-container`,class:`relative w-full overflow-auto`},sr=L({__name:`Table`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,or,[w(`table`,{"data-slot":`table`,class:F(p(W)(`w-full caption-bottom text-sm`,t.class))},[E(e.$slots,`default`)],2)]))}}),cr=L({__name:`TableBody`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`tbody`,{"data-slot":`table-body`,class:F(p(W)(`[&_tr:last-child]:border-0`,t.class))},[E(e.$slots,`default`)],2))}}),K=L({__name:`TableCell`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`td`,{"data-slot":`table-cell`,class:F(p(W)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[E(e.$slots,`default`)],2))}}),lr=L({__name:`TableRow`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`tr`,{"data-slot":`table-row`,class:F(p(W)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[E(e.$slots,`default`)],2))}}),q=L({__name:`TableHead`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`th`,{"data-slot":`table-head`,class:F(p(W)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[E(e.$slots,`default`)],2))}}),ur=L({__name:`TableHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`thead`,{"data-slot":`table-header`,class:F(p(W)(`[&_tr]:border-b`,t.class))},[E(e.$slots,`default`)],2))}}),J=L({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`card`,class:F(p(W)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[E(e.$slots,`default`)],2))}}),Y=L({__name:`CardContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`card-content`,class:F(p(W)(`px-6`,t.class))},[E(e.$slots,`default`)],2))}}),X=L({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`card-header`,class:F(p(W)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[E(e.$slots,`default`)],2))}}),Z=L({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`h3`,{"data-slot":`card-title`,class:F(p(W)(`leading-none font-semibold`,t.class))},[E(e.$slots,`default`)],2))}}),dr=L({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(Ye),j({"data-slot":`label`},p(n),{class:p(W)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}});const fr=(e,t=2)=>e>=0x38d7ea4c68000?(e/0x38d7ea4c68000).toFixed(t)+`Q`:e>=0xe8d4a51000?(e/0xe8d4a51000).toFixed(t)+`T`:e>=1e9?(e/1e9).toFixed(t)+`B`:e>=1e6?(e/1e6).toFixed(t)+`M`:e>=1e3?(e/1e3).toFixed(t)+`K`:Math.floor(e).toString(),pr=(e,t)=>{let n=e/t;return n>=1?`text-red-600 dark:text-red-400`:n>=.7?`text-yellow-600 dark:text-yellow-400`:``},mr=e=>{let t=365*86400,n=Math.floor(e/t);e%=t;let r=Math.floor(e/86400);e%=86400;let i=Math.floor(e/3600);e%=3600;let a=Math.floor(e/60),o=Math.floor(e%60),s=i.toString().padStart(2,`0`),c=a.toString().padStart(2,`0`),l=o.toString().padStart(2,`0`);return n>0?`${n}:${r}:${s}:${c}:${l}`:r>0?`${r}:${s}:${c}:${l}`:`${s}:${c}:${l}`},hr=e=>new Date(e).toLocaleString(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),gr=(e,t)=>et.value.toLocaleString());return(t,r)=>(N(),C(p(gn),null,{default:l(()=>[O(p(vn),{"as-child":``},{default:l(()=>[w(`span`,_r,S(p(fr)(e.value,1)),1)]),_:1}),O(p(_n),{class:`w-auto p-2`,side:`top`,align:`center`},{default:l(()=>[w(`p`,vr,S(n.value),1)]),_:1})]),_:1}))}}),yr={class:`space-y-4`},br={key:0,class:`border rounded-lg overflow-hidden`},xr={key:1},Sr={key:0,class:`text-green-600 dark:text-green-400`},Cr={key:1},wr={key:0,class:`text-red-600 dark:text-red-400`},Tr={key:1},Er={key:0,class:`text-blue-600 dark:text-blue-400`},Dr={key:1},Or={key:0,class:`text-blue-600 dark:text-blue-400`},kr={key:1},Ar={key:0,class:`text-green-600 dark:text-green-400`},jr={key:1},Mr={key:0,class:`text-cyan-600 dark:text-cyan-400`},Nr={key:1,class:`text-cyan-600 dark:text-cyan-400`},Pr={class:`text-indigo-600 dark:text-indigo-400`},Fr={class:`text-red-600 dark:text-red-400`},Ir={class:`text-blue-600 dark:text-blue-400`},Lr={class:`text-gray-600 dark:text-gray-400`},Rr={class:`text-purple-600 dark:text-purple-400`},zr={class:`text-blue-600 dark:text-blue-400`},Br={class:`text-green-600 dark:text-green-400`},Vr={class:`text-yellow-600 dark:text-yellow-400`},Hr={class:`text-indigo-600 dark:text-indigo-400`},Ur={class:`text-primary font-medium`},Wr={key:1,class:`grid grid-cols-2 gap-4`},Gr={class:`flex items-center justify-between text-sm`},Kr={class:`text-muted-foreground`},qr={class:`font-medium`},Jr={class:`flex items-center justify-between text-sm`},Yr={class:`text-muted-foreground`},Xr={class:`font-medium`},Zr={class:`flex items-center justify-between text-sm`},Qr={class:`text-muted-foreground`},$r={class:`font-medium`},ei={class:`text-3xl font-bold text-primary`},ti={class:`text-xs text-muted-foreground mt-1`},ni={key:2,class:`grid grid-cols-2 md:grid-cols-3 gap-4`},ri={class:`text-2xl font-bold`},ii={class:`text-2xl font-bold`},ai={class:`text-2xl font-bold`},oi={class:`text-2xl font-bold`},si={class:`text-2xl font-bold`},ci={class:`text-2xl font-bold`},li={key:3,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},ui={class:`text-muted-foreground`},di={class:`font-medium`},fi={class:`flex items-center justify-between text-sm pt-2 border-t`},pi={class:`text-muted-foreground`},mi={class:`font-bold text-primary`},hi={class:`text-3xl font-bold`},gi={class:`text-xs text-muted-foreground mt-2`},_i={class:`flex items-center gap-4`},vi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},yi={class:`space-y-2`},bi={class:`text-sm text-muted-foreground`},xi={class:`space-y-1 text-sm`},Si={class:`font-medium`},Ci={class:`space-y-2`},wi={class:`text-sm text-muted-foreground`},Ti={class:`text-xl font-bold`},Ei={class:`text-xs text-muted-foreground`},Di=L({__name:`ItemDetailView`,props:{type:{},itemType:{},currentLevel:{}},setup(e){let{t}=dn(),r=H(),i=e,a=_(1),o=[{key:`metal`},{key:`crystal`},{key:`deuterium`}],u=g(()=>r.currentPlanet),f=g(()=>s(r.player.officers,r.gameTime)),ee=g(()=>u.value&&u.value.buildings.roboticsFactory||0),h=g(()=>u.value&&u.value.buildings.naniteFactory||0),ne=g(()=>u.value&&u.value.buildings.researchLab||0),v=g(()=>({building:`buildings`,technology:`research`,ship:`shipyard`,defense:`defense`})[i.type]),ie=g(()=>i.type===`building`?i.itemType===`darkMatterCollector`:i.type===`technology`?i.itemType===`gravitonTechnology`:!1),oe=g(()=>{if(i.type!==`building`)return!1;let e=i.itemType;return[`metalMine`,`crystalMine`,`deuteriumSynthesizer`,`solarPlant`,`fusionReactor`,`darkMatterCollector`].includes(e)}),le=g(()=>{if(i.type!==`building`)return!1;let e=i.itemType;return[`metalMine`,`crystalMine`,`deuteriumSynthesizer`].includes(e)}),b=g(()=>{if(i.type!==`building`)return!1;let e=i.itemType;return[`metalStorage`,`crystalStorage`,`deuteriumTank`,`darkMatterCollector`,`darkMatterTank`].includes(e)}),fe=g(()=>i.type===`building`?i.itemType===`shipyard`:i.type===`technology`?i.itemType===`computerTechnology`:!1),me=g(()=>i.type===`building`?i.itemType===`naniteFactory`:!1),x=g(()=>{if(i.type===`building`){let e=i.itemType;return[`terraformer`,`lunarBase`].includes(e)}else if(i.type===`technology`)return i.itemType===`terraformingTechnology`;return!1}),he=g(()=>i.type===`building`?i.itemType===`missileSilo`:!1),E=g(()=>{if(i.type!==`building`)return!1;let e=i.itemType;return[`roboticsFactory`,`naniteFactory`].includes(e)}),D=g(()=>i.type===`building`?i.itemType===`researchLab`:i.type===`technology`?i.itemType===`energyTechnology`:!1),ge=g(()=>i.type===`technology`?i.itemType===`weaponsTechnology`:!1),_e=g(()=>i.type===`technology`?i.itemType===`shieldingTechnology`:!1),k=g(()=>i.type===`technology`?i.itemType===`armourTechnology`:!1),ve=g(()=>i.type===`technology`?i.itemType===`espionageTechnology`:!1),ye=g(()=>i.type===`technology`?i.itemType===`computerTechnology`:!1),be=g(()=>i.type===`technology`?i.itemType===`astrophysics`:!1),xe=g(()=>{if(i.type!==`technology`)return!1;let e=i.itemType;return[`combustionDrive`,`impulseDrive`,`hyperspaceDrive`].includes(e)}),Se=g(()=>i.currentLevel??0),we=g(()=>i.type===`ship`?an[i.itemType]:i.type===`defense`?on[i.itemType]:null),j=g(()=>i.type===`ship`?an[i.itemType]:null),M=g(()=>i.type===`ship`?an[i.itemType].cost:i.type===`defense`?on[i.itemType].cost:{metal:0,crystal:0,deuterium:0}),Te=g(()=>i.type===`ship`?de(i.itemType,1,f.value.buildingSpeedBonus,ee.value,h.value):i.type===`defense`?Me(i.itemType,1,f.value.buildingSpeedBonus,ee.value,h.value):0),Ee=g(()=>{if(i.type!==`building`&&i.type!==`technology`)return[];let e=i.currentLevel||0,t=[];for(let n=e;n<=e+10;n++)t.push(n);return t}),P=e=>{if(e===0)return{cost:{metal:0,crystal:0,deuterium:0,darkMatter:0},time:0,production:0,consumption:0,points:0,capacity:0,fleetStorage:0,spaceBonus:0,buildSpeedBonus:0,researchSpeedBonus:0};if(i.type===`building`){let t=i.itemType,n=ce(t,e),r=Ce(t,e,f.value.buildingSpeedBonus,ee.value,h.value),a=0,o=0,s=0,c=0,l=0,u=0,d=0,p=1+(f.value.resourceProductionBonus||0)/100,m=1+(f.value.energyProductionBonus||0)/100,te=1+(f.value.storageCapacityBonus||0)/100;t===`metalMine`?(a=Math.floor(1500*e*1.5**e*p),o=Math.floor(10*e*1.1**e)):t===`crystalMine`?(a=Math.floor(1e3*e*1.5**e*p),o=Math.floor(10*e*1.1**e)):t===`deuteriumSynthesizer`?(a=Math.floor(500*e*1.5**e*p),o=Math.floor(10*e*1.1**e)):t===`solarPlant`?a=Math.floor(50*e*1.1**e*m):t===`metalStorage`||t===`crystalStorage`||t===`deuteriumTank`?s=Math.floor(1e4*2**e*te):t===`darkMatterCollector`?(s=1e3+e*100,a=Math.floor(25*e*1.5**e)):t===`darkMatterTank`?s=Math.floor(1e3*2**e*te):t===`fusionReactor`?a=Math.floor(150*e*1.15**e):t===`shipyard`?c=1e3*e:t===`terraformer`||t===`lunarBase`?l=5:t===`roboticsFactory`?u=e:t===`naniteFactory`?u=e*2:t===`researchLab`&&(d=e);let g=ae(t,e-1,e);return{cost:n,time:r,production:a,consumption:o,points:g,capacity:s,fleetStorage:c,spaceBonus:l,buildSpeedBonus:u,researchSpeedBonus:d}}else{let t=i.itemType,n=te(t,e),r=re(t,e-1,f.value.researchSpeedBonus,ne.value),a=0;return t===`energyTechnology`&&(a=e),{cost:n,time:r,production:0,consumption:0,points:d(t,e-1,e),capacity:0,fleetStorage:0,spaceBonus:0,buildSpeedBonus:0,researchSpeedBonus:a}}},I=g(()=>{if(i.type!==`building`&&i.type!==`technology`)return{metal:0,crystal:0,deuterium:0,points:0};let e=0,t=0,n=0,r=0;for(let i of Ee.value){if(i===0)continue;let a=P(i);e+=a.cost.metal,t+=a.cost.crystal,n+=a.cost.deuterium,r+=a.points}return{metal:e,crystal:t,deuterium:n,points:r}}),De=g(()=>i.type===`ship`?ue(i.itemType,1):i.type===`defense`?se(i.itemType,1):0),Oe=g(()=>({metal:M.value.metal*a.value,crystal:M.value.crystal*a.value,deuterium:M.value.deuterium*a.value})),L=g(()=>i.type===`ship`?ue(i.itemType,a.value):i.type===`defense`?se(i.itemType,a.value):0);return(r,i)=>(N(),y(`div`,yr,[e.type===`building`||e.type===`technology`?(N(),y(`div`,br,[O(p(sr),null,{default:l(()=>[O(p(ur),null,{default:l(()=>[O(p(lr),null,{default:l(()=>[O(p(q),{class:`w-20 text-center`},{default:l(()=>[n(S(p(t)(`${v.value}.levelRange`)),1)]),_:1}),O(p(q),{class:`text-center`},{default:l(()=>[n(S(p(t)(`resources.metal`)),1)]),_:1}),O(p(q),{class:`text-center`},{default:l(()=>[n(S(p(t)(`resources.crystal`)),1)]),_:1}),O(p(q),{class:`text-center`},{default:l(()=>[n(S(p(t)(`resources.deuterium`)),1)]),_:1}),ie.value?(N(),C(p(q),{key:0,class:`text-center`},{default:l(()=>[n(S(p(t)(`resources.darkMatter`)),1)]),_:1})):T(``,!0),O(p(q),{class:`text-center`},{default:l(()=>[n(S(e.type===`building`?p(t)(`buildings.buildTime`):p(t)(`research.researchTime`)),1)]),_:1}),e.type===`building`&&oe.value?(N(),C(p(q),{key:1,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.production`)),1)]),_:1})):T(``,!0),e.type===`building`&&le.value?(N(),C(p(q),{key:2,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.consumption`)),1)]),_:1})):T(``,!0),e.type===`building`&&b.value?(N(),C(p(q),{key:3,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.storageCapacity`)),1)]),_:1})):T(``,!0),e.type===`building`&&fe.value?(N(),C(p(q),{key:4,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.fleetStorage`)),1)]),_:1})):T(``,!0),e.type===`building`&&me.value?(N(),C(p(q),{key:5,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.buildQueueBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&x.value?(N(),C(p(q),{key:6,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.spaceBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&he.value?(N(),C(p(q),{key:7,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.missileCapacity`)),1)]),_:1})):T(``,!0),e.type===`building`&&E.value?(N(),C(p(q),{key:8,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.buildSpeedBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&D.value?(N(),C(p(q),{key:9,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.researchSpeedBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&ge.value?(N(),C(p(q),{key:10,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.attackBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&_e.value?(N(),C(p(q),{key:11,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.shieldBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&k.value?(N(),C(p(q),{key:12,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.armorBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&ve.value?(N(),C(p(q),{key:13,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.spyLevel`)),1)]),_:1})):T(``,!0),e.type===`technology`&&fe.value?(N(),C(p(q),{key:14,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.fleetStorage`)),1)]),_:1})):T(``,!0),e.type===`technology`&&ye.value?(N(),C(p(q),{key:15,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.researchQueueBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&be.value?(N(),C(p(q),{key:16,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.colonySlots`)),1)]),_:1})):T(``,!0),e.type===`technology`&&x.value?(N(),C(p(q),{key:17,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.spaceBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&xe.value?(N(),C(p(q),{key:18,class:`text-center`},{default:l(()=>[n(S(p(t)(`research.speedBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&D.value?(N(),C(p(q),{key:19,class:`text-center`},{default:l(()=>[n(S(p(t)(`buildings.researchSpeedBonus`)),1)]),_:1})):T(``,!0),O(p(q),{class:`text-center`},{default:l(()=>[n(S(p(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),O(p(cr),null,{default:l(()=>[(N(!0),y(m,null,A(Ee.value,r=>(N(),C(p(lr),{key:r,class:F({"bg-muted/50":r===Se.value})},{default:l(()=>[O(p(K),{class:`text-center font-medium`},{default:l(()=>[r===Se.value?(N(),C(p(pn),{key:0,variant:`default`},{default:l(()=>[n(S(r),1)]),_:2},1024)):(N(),y(`span`,xr,S(r),1))]),_:2},1024),O(p(K),{class:`text-center text-sm`},{default:l(()=>[O(Q,{value:P(r).cost.metal},null,8,[`value`])]),_:2},1024),O(p(K),{class:`text-center text-sm`},{default:l(()=>[O(Q,{value:P(r).cost.crystal},null,8,[`value`])]),_:2},1024),O(p(K),{class:`text-center text-sm`},{default:l(()=>[O(Q,{value:P(r).cost.deuterium},null,8,[`value`])]),_:2},1024),ie.value?(N(),C(p(K),{key:0,class:`text-center text-sm`},{default:l(()=>[O(Q,{value:P(r).cost.darkMatter},null,8,[`value`])]),_:2},1024)):T(``,!0),O(p(K),{class:`text-center text-sm`},{default:l(()=>[n(S(p(mr)(P(r).time)),1)]),_:2},1024),e.type===`building`&&oe.value?(N(),C(p(K),{key:1,class:`text-center text-sm`},{default:l(()=>[P(r).production>0?(N(),y(`span`,Sr,[i[1]||=n(` + `,-1),O(Q,{value:P(r).production},null,8,[`value`]),n(` /`+S(p(t)(`resources.perHour`)),1)])):(N(),y(`span`,Cr,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&le.value?(N(),C(p(K),{key:2,class:`text-center text-sm`},{default:l(()=>[P(r).consumption>0?(N(),y(`span`,wr,[i[2]||=n(` - `,-1),O(Q,{value:P(r).consumption},null,8,[`value`])])):(N(),y(`span`,Tr,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&b.value?(N(),C(p(K),{key:3,class:`text-center text-sm`},{default:l(()=>[P(r).capacity>0?(N(),y(`span`,Er,[O(Q,{value:P(r).capacity},null,8,[`value`])])):(N(),y(`span`,Dr,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&fe.value?(N(),C(p(K),{key:4,class:`text-center text-sm`},{default:l(()=>[P(r).fleetStorage>0?(N(),y(`span`,Or,[i[3]||=n(` +`,-1),O(Q,{value:P(r).fleetStorage},null,8,[`value`])])):(N(),y(`span`,kr,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&me.value?(N(),C(p(K),{key:5,class:`text-center text-sm`},{default:l(()=>[...i[4]||=[w(`span`,{class:`text-purple-600 dark:text-purple-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`building`&&x.value?(N(),C(p(K),{key:6,class:`text-center text-sm`},{default:l(()=>[P(r).spaceBonus>0?(N(),y(`span`,Ar,[i[5]||=n(` +`,-1),O(Q,{value:P(r).spaceBonus},null,8,[`value`])])):(N(),y(`span`,jr,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&he.value?(N(),C(p(K),{key:7,class:`text-center text-sm`},{default:l(()=>[...i[6]||=[w(`span`,{class:`text-orange-600 dark:text-orange-400`},`+10`,-1)]]),_:1})):T(``,!0),e.type===`building`&&E.value?(N(),C(p(K),{key:8,class:`text-center text-sm`},{default:l(()=>[e.itemType===`roboticsFactory`?(N(),y(`span`,Mr,`+`+S(P(r).buildSpeedBonus*100)+`%`,1)):e.itemType===`naniteFactory`?(N(),y(`span`,Nr,`+`+S(P(r).buildSpeedBonus*100)+`%`,1)):T(``,!0)]),_:2},1024)):T(``,!0),e.type===`building`&&D.value?(N(),C(p(K),{key:9,class:`text-center text-sm`},{default:l(()=>[w(`span`,Pr,`+`+S((P(r).researchSpeedBonus-1)*100)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&ge.value?(N(),C(p(K),{key:10,class:`text-center text-sm`},{default:l(()=>[w(`span`,Fr,`+`+S(r*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&_e.value?(N(),C(p(K),{key:11,class:`text-center text-sm`},{default:l(()=>[w(`span`,Ir,`+`+S(r*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&k.value?(N(),C(p(K),{key:12,class:`text-center text-sm`},{default:l(()=>[w(`span`,Lr,`+`+S(r*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&ve.value?(N(),C(p(K),{key:13,class:`text-center text-sm`},{default:l(()=>[w(`span`,Rr,`+`+S(r),1)]),_:2},1024)):T(``,!0),e.type===`technology`&&fe.value?(N(),C(p(K),{key:14,class:`text-center text-sm`},{default:l(()=>[w(`span`,zr,[i[7]||=n(`+`,-1),O(Q,{value:r*500},null,8,[`value`])])]),_:2},1024)):T(``,!0),e.type===`technology`&&ye.value?(N(),C(p(K),{key:15,class:`text-center text-sm`},{default:l(()=>[...i[8]||=[w(`span`,{class:`text-purple-600 dark:text-purple-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`technology`&&be.value?(N(),C(p(K),{key:16,class:`text-center text-sm`},{default:l(()=>[...i[9]||=[w(`span`,{class:`text-green-600 dark:text-green-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`technology`&&x.value?(N(),C(p(K),{key:17,class:`text-center text-sm`},{default:l(()=>[w(`span`,Br,`+5 `+S(p(t)(`research.forAllPlanets`)),1)]),_:1})):T(``,!0),e.type===`technology`&&xe.value?(N(),C(p(K),{key:18,class:`text-center text-sm`},{default:l(()=>[w(`span`,Vr,`+`+S(r*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&D.value?(N(),C(p(K),{key:19,class:`text-center text-sm`},{default:l(()=>[w(`span`,Hr,`+`+S(P(r).researchSpeedBonus*100)+`%`,1)]),_:2},1024)):T(``,!0),O(p(K),{class:`text-center text-sm`},{default:l(()=>[w(`span`,Ur,[i[10]||=n(` + `,-1),O(Q,{value:P(r).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})])):T(``,!0),e.type===`building`||e.type===`technology`?(N(),y(`div`,Wr,[O(p(J),null,{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm`},{default:l(()=>[n(S(p(t)(`${v.value}.totalCost`)),1)]),_:1})]),_:1}),O(p(Y),{class:`space-y-2`},{default:l(()=>[w(`div`,Gr,[w(`span`,Kr,S(p(t)(`resources.metal`))+`:`,1),w(`span`,qr,[O(Q,{value:I.value.metal},null,8,[`value`])])]),w(`div`,Jr,[w(`span`,Yr,S(p(t)(`resources.crystal`))+`:`,1),w(`span`,Xr,[O(Q,{value:I.value.crystal},null,8,[`value`])])]),w(`div`,Zr,[w(`span`,Qr,S(p(t)(`resources.deuterium`))+`:`,1),w(`span`,$r,[O(Q,{value:I.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),O(p(J),null,{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm`},{default:l(()=>[n(S(p(t)(`${v.value}.totalPoints`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,ei,[O(Q,{value:I.value.points},null,8,[`value`])]),w(`p`,ti,S(p(t)(`${v.value}.levelRange`))+`: `+S(Math.max(0,Se.value-10))+` - `+S(Se.value+10),1)]),_:1})]),_:1})])):T(``,!0),e.type===`ship`||e.type===`defense`?(N(),y(`div`,ni,[O(p(J),null,{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(Ut),{class:`h-4 w-4`}),n(` `+S(p(t)(`${v.value}.attack`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,ri,[O(Q,{value:we.value?.attack||0},null,8,[`value`])])]),_:1})]),_:1}),O(p(J),null,{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(Qt),{class:`h-4 w-4`}),n(` `+S(p(t)(`${v.value}.shield`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,ii,[O(Q,{value:we.value?.shield||0},null,8,[`value`])])]),_:1})]),_:1}),O(p(J),null,{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(Yt),{class:`h-4 w-4`}),n(` `+S(p(t)(`${v.value}.armor`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,ai,[O(Q,{value:we.value?.armor||0},null,8,[`value`])])]),_:1})]),_:1}),e.type===`ship`?(N(),C(p(J),{key:0},{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(en),{class:`h-4 w-4`}),n(` `+S(p(t)(`shipyard.speed`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,oi,[O(Q,{value:j.value?.speed||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0),e.type===`ship`?(N(),C(p(J),{key:1},{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(Bt),{class:`h-4 w-4`}),n(` `+S(p(t)(`shipyard.cargoCapacity`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,si,[O(Q,{value:j.value?.cargoCapacity||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0),e.type===`ship`?(N(),C(p(J),{key:2},{default:l(()=>[O(p(X),{class:`pb-3`},{default:l(()=>[O(p(Z),{class:`text-sm flex items-center gap-2`},{default:l(()=>[O(p(Pt),{class:`h-4 w-4`}),n(` `+S(p(t)(`shipyard.fuelConsumption`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,ci,[O(Q,{value:j.value?.fuelConsumption||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0)])):T(``,!0),e.type===`ship`||e.type===`defense`?(N(),y(`div`,li,[O(p(J),null,{default:l(()=>[O(p(X),null,{default:l(()=>[O(p(Z),{class:`text-sm`},{default:l(()=>[n(S(p(t)(`${v.value}.buildCost`)),1)]),_:1})]),_:1}),O(p(Y),{class:`space-y-2`},{default:l(()=>[(N(),y(m,null,A(o,e=>c(w(`div`,{key:e.key,class:`flex items-center justify-between text-sm`},[w(`span`,ui,S(p(t)(`resources.${e.key}`))+`:`,1),w(`span`,di,[O(Q,{value:M.value[e.key]},null,8,[`value`])])]),[[pe,M.value[e.key]>0]])),64)),w(`div`,fi,[w(`span`,pi,S(p(t)(`player.points`))+`:`,1),w(`span`,mi,[O(Q,{value:De.value},null,8,[`value`])])])]),_:1})]),_:1}),O(p(J),null,{default:l(()=>[O(p(X),null,{default:l(()=>[O(p(Z),{class:`text-sm`},{default:l(()=>[n(S(p(t)(`${v.value}.buildTime`)),1)]),_:1})]),_:1}),O(p(Y),null,{default:l(()=>[w(`div`,hi,S(p(mr)(Te.value)),1),w(`p`,gi,S(p(t)(`${v.value}.perUnit`)),1)]),_:1})]),_:1})])):T(``,!0),e.type===`ship`||e.type===`defense`?(N(),C(p(J),{key:4},{default:l(()=>[O(p(X),null,{default:l(()=>[O(p(Z),{class:`text-sm`},{default:l(()=>[n(S(p(t)(`${v.value}.batchCalculator`)),1)]),_:1})]),_:1}),O(p(Y),{class:`space-y-4`},{default:l(()=>[w(`div`,_i,[O(p(dr),{class:`w-20`},{default:l(()=>[n(S(p(t)(`${v.value}.quantity`))+`:`,1)]),_:1}),O(p(In),{modelValue:a.value,"onUpdate:modelValue":i[0]||=e=>a.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),w(`div`,vi,[w(`div`,yi,[w(`p`,bi,S(p(t)(`${v.value}.totalCost`))+`:`,1),w(`div`,xi,[(N(),y(m,null,A(o,e=>w(`div`,{key:e.key,class:`flex justify-between`},[w(`span`,null,S(p(t)(`resources.${e.key}`))+`:`,1),w(`span`,Si,[O(Q,{value:Oe.value[e.key]},null,8,[`value`])])])),64))])]),w(`div`,Ci,[w(`p`,wi,S(p(t)(`${v.value}.totalTime`))+`:`,1),w(`div`,Ti,S(p(mr)(Te.value*a.value)),1),w(`p`,Ei,[n(S(p(t)(`player.points`))+`: + `,1),O(Q,{value:L.value},null,8,[`value`])])])])]),_:1})]),_:1})):T(``,!0)]))}}),Oi=L({__name:`DetailDialog`,setup(e){let{t}=dn(),r=ar(),i=g(()=>!r.type||!r.itemType?``:t(`${{building:`buildings`,technology:`technologies`,ship:`ships`,defense:`defenses`}[r.type]}.${r.itemType}`)),a=g(()=>!r.type||!r.itemType?``:t(`${{building:`buildingDescriptions`,technology:`technologyDescriptions`,ship:`shipDescriptions`,defense:`defenseDescriptions`}[r.type]}.${r.itemType}`)),o=e=>{e||r.close()};return(e,s)=>(N(),C(p(Xn),{open:p(r).isOpen,"onUpdate:open":o},{default:l(()=>[p(r).type&&p(r).itemType?(N(),C(p(rr),{key:0,"container-class":`sm:max-w-[90vw] md:max-w-3xl lg:max-w-4xl max-h-[90vh]`},{header:l(()=>[O(p($n),null,{default:l(()=>[O(p(ir),{class:`flex items-center gap-2`},{default:l(()=>[n(S(i.value)+` `,1),p(r).currentLevel===void 0?T(``,!0):(N(),C(p(pn),{key:0,variant:`outline`},{default:l(()=>[n(S(p(t)(`common.currentLevel`))+` `+S(p(r).currentLevel),1)]),_:1}))]),_:1}),O(p(Qn),null,{default:l(()=>[n(S(a.value),1)]),_:1})]),_:1})]),default:l(()=>[O(Di,{type:p(r).type,itemType:p(r).itemType,currentLevel:p(r).currentLevel},null,8,[`type`,`itemType`,`currentLevel`])]),_:1})):T(``,!0)]),_:1},8,[`open`]))}}),ki=L({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){let t=e;return(e,n)=>(N(),C(p(qe),j({class:p(W)(`toaster group`,t.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},t),{"success-icon":l(()=>[O(p(Vt),{class:`size-4`})]),"info-icon":l(()=>[O(p(jt),{class:`size-4`})]),"warning-icon":l(()=>[O(p(Zt),{class:`size-4`})]),"error-icon":l(()=>[O(p(Mt),{class:`size-4`})]),"loading-icon":l(()=>[w(`div`,null,[O(p(zt),{class:`size-4 animate-spin`})])]),"close-icon":l(()=>[O(p(Xt),{class:`size-4`})]),_:1},16,[`class`]))}}),Ai=L({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=z(e,t);return(e,t)=>(N(),C(p(st),j({"data-slot":`alert-dialog`},p(n)),{default:l(t=>[E(e.$slots,`default`,h(I(t)))]),_:3},16))}}),ji=L({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(ut),j(p(n),{class:p(W)(p(fn)(),t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),Mi=L({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p($e),j(p(n),{class:p(W)(p(fn)({variant:`outline`}),`mt-2 sm:mt-0`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ni=L({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=z(R(n,`class`),r);return(e,t)=>(N(),C(p(Tt),null,{default:l(()=>[O(p(Xe),{"data-slot":`alert-dialog-overlay`,class:`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`}),O(p(ct),j({"data-slot":`alert-dialog-content`},{...e.$attrs,...p(i)},{class:p(W)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),Pi=L({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(lt),j({"data-slot":`alert-dialog-description`},p(n),{class:p(W)(`text-muted-foreground text-sm`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}}),Fi=L({__name:`AlertDialogFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`alert-dialog-footer`,class:F(p(W)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[E(e.$slots,`default`)],2))}}),Ii=L({__name:`AlertDialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(N(),y(`div`,{"data-slot":`alert-dialog-header`,class:F(p(W)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[E(e.$slots,`default`)],2))}}),Li=L({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=R(t,`class`);return(e,r)=>(N(),C(p(nt),j({"data-slot":`alert-dialog-title`},p(n),{class:p(W)(`text-lg font-semibold`,t.class)}),{default:l(()=>[E(e.$slots,`default`)]),_:3},16,[`class`]))}});const Ri=Ie(`universe`,{state:()=>({planets:{},debrisFields:{}}),persist:{key:`${V.name}-universe`,storage:localStorage,serializer:{serialize:e=>cn(e),deserialize:e=>ln(e)}}}),zi=()=>{let e=H(),t=Ri(),n=(e,n)=>{for(let r=0;r{if(!ge(e.player.planets)){let r=Date.now(),i=s(e.player.officers,r);e.player.planets.forEach(e=>{D(e,r,i)}),Object.keys(t.planets).length===0&&n(200,a);return}e.player=De(e.player.id,r);let o=Oe(e.player.id,i);e.player.planets=[o],e.currentPlanetId=o.id,n(200,a)},generateNPCPlanets:n}},Bi=Ie(`npc`,{state:()=>({npcs:[],lastGrowthCheck:{}}),persist:{key:`${V.name}-npcs`,storage:localStorage,serializer:{serialize:e=>cn(e),deserialize:e=>ln(e)}}}),Vi=e=>{let t=H(),n=Ri(),r=Bi();return{processMissionArrival:async a=>{let o=k(a.targetPosition.galaxy,a.targetPosition.system,a.targetPosition.position),s=t.player.planets.find(e=>e.position.galaxy===a.targetPosition.galaxy&&e.position.system===a.targetPosition.system&&e.position.position===a.targetPosition.position)||n.planets[o],c=t.player.planets.find(e=>e.id===a.originPlanetId)?.name||e(`fleetView.unknownPlanet`);if(a.missionType===B.Transport){let n=ne(a,s,t.player,r.npcs);t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${a.id}`,timestamp:Date.now(),missionType:B.Transport,originPlanetId:a.originPlanetId,originPlanetName:c,targetPosition:a.targetPosition,targetPlanetId:s?.id,targetPlanetName:s?.name||`[${a.targetPosition.galaxy}:${a.targetPosition.system}:${a.targetPosition.position}]`,success:n.success,message:n.success?e(`missionReports.transportSuccess`):e(`missionReports.transportFailed`),details:{transportedResources:a.cargo},read:!1})}else if(a.missionType===B.Attack){let e=await Ne(a,s,t.player,null,t.player.planets);if(e){if(t.player.battleReports.push(e.battleResult),s){let n=r.npcs.find(e=>e.planets.some(e=>e.id===s.id));n&&x(t.player,n,e.battleResult,r.npcs)}e.moon&&t.player.planets.push(e.moon),e.debrisField&&(n.debrisFields[e.debrisField.id]=e.debrisField)}}else if(a.missionType===B.Colonize){let n=i(a,s,t.player,e(`planet.colonyPrefix`));t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${a.id}`,timestamp:Date.now(),missionType:B.Colonize,originPlanetId:a.originPlanetId,originPlanetName:c,targetPosition:a.targetPosition,targetPlanetId:n?.id,targetPlanetName:n?.name,success:!!n,message:e(n?`missionReports.colonizeSuccess`:`missionReports.colonizeFailed`),details:n?{newPlanetId:n.id,newPlanetName:n.name}:void 0,read:!1}),n&&t.player.planets.push(n)}else if(a.missionType===B.Spy){let e=f(a,s,t.player,null,r.npcs);e&&t.player.spyReports.push(e)}else if(a.missionType===B.Deploy){let n=fe(a,s,t.player.id);if(t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${a.id}`,timestamp:Date.now(),missionType:B.Deploy,originPlanetId:a.originPlanetId,originPlanetName:c,targetPosition:a.targetPosition,targetPlanetId:s?.id,targetPlanetName:s?.name||`[${a.targetPosition.galaxy}:${a.targetPosition.system}:${a.targetPosition.position}]`,success:n,message:e(n?`missionReports.deploySuccess`:`missionReports.deployFailed`),details:{deployedFleet:a.fleet},read:!1}),n){let e=t.player.fleetMissions.indexOf(a);e>-1&&t.player.fleetMissions.splice(e,1);return}}else if(a.missionType===B.Recycle){let r=`debris_${a.targetPosition.galaxy}_${a.targetPosition.system}_${a.targetPosition.position}`,i=n.debrisFields[r],o=me(a,i);t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${a.id}`,timestamp:Date.now(),missionType:B.Recycle,originPlanetId:a.originPlanetId,originPlanetName:c,targetPosition:a.targetPosition,success:!!o,message:e(o?`missionReports.recycleSuccess`:`missionReports.recycleFailed`),details:o?{recycledResources:o.collectedResources,remainingDebris:o.remainingDebris||void 0}:void 0,read:!1}),o&&i&&(o.remainingDebris&&(o.remainingDebris.metal>0||o.remainingDebris.crystal>0)?n.debrisFields[r]={id:i.id,position:i.position,resources:o.remainingDebris,createdAt:i.createdAt,expiresAt:i.expiresAt}:delete n.debrisFields[r])}else if(a.missionType===B.Destroy){let r=ee(a,s,t.player);if(t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${a.id}`,timestamp:Date.now(),missionType:B.Destroy,originPlanetId:a.originPlanetId,originPlanetName:c,targetPosition:a.targetPosition,targetPlanetId:s?.id,targetPlanetName:s?.name,success:r?.success||!1,message:r?.success?e(`missionReports.destroySuccess`):e(`missionReports.destroyFailed`),details:r?.success?{destroyedPlanetName:s?.name||`[${a.targetPosition.galaxy}:${a.targetPosition.system}:${a.targetPosition.position}]`}:void 0,read:!1}),r&&r.success&&r.planetId){let e=t.player.planets.findIndex(e=>e.id===r.planetId);e>-1?t.player.planets.splice(e,1):delete n.planets[o]}}},processMissionReturn:e=>{let n=t.player.planets.find(t=>t.id===e.originPlanetId);if(!n)return;je(n.fleet,e.fleet),M(n.resources,e.cargo);let r=t.player.fleetMissions.indexOf(e);r>-1&&t.player.fleetMissions.splice(r,1)}}},Hi=()=>{let e=H(),t=Ri(),n=Bi(),i=t=>{if(!e.player.incomingFleetAlerts)return;let n=e.player.incomingFleetAlerts.indexOf(t);n>-1&&e.player.incomingFleetAlerts.splice(n,1)},a=t=>{if(!e.player.incomingFleetAlerts)return;let n=e.player.incomingFleetAlerts.findIndex(e=>e.id===t);n>-1&&e.player.incomingFleetAlerts.splice(n,1)},o=(n,i)=>{if(i.missionType===B.Recycle){let e=i.debrisFieldId;if(!e){console.warn(`[NPC Mission] Recycle mission missing debrisFieldId`),i.status=`returning`,i.returnTime=Date.now()+(i.arrivalTime-i.departureTime);return}let n=t.debrisFields[e],r=me(i,n);r&&n&&(r.remainingDebris&&(r.remainingDebris.metal>0||r.remainingDebris.crystal>0)?t.debrisFields[e]={id:n.id,position:n.position,resources:r.remainingDebris,createdAt:n.createdAt}:delete t.debrisFields[e]),a(i.id),i.returnTime=Date.now()+(i.arrivalTime-i.departureTime);return}let o=k(i.targetPosition.galaxy,i.targetPosition.system,i.targetPosition.position),s=e.player.planets.find(e=>e.position.galaxy===i.targetPosition.galaxy&&e.position.system===i.targetPosition.system&&e.position.position===i.targetPosition.position)||t.planets[o];if(!s){console.warn(`[NPC Mission] Target planet not found`);return}if(i.missionType===B.Spy){let{spiedNotification:t,spyReport:o}=r(n,i,s,e.player);n.playerSpyReports||={},n.playerSpyReports[s.id]=o,e.player.spiedNotifications||(e.player.spiedNotifications=[]),e.player.spiedNotifications.push(t),a(i.id)}else i.missionType===B.Attack&&b(n,i,s,e.player,e.player.planets).then(n=>{n&&(e.player.battleReports.push(n.battleResult),n.moon&&e.player.planets.push(n.moon),n.debrisField&&(t.debrisFields[n.debrisField.id]=n.debrisField)),a(i.id)})},s=(e,t)=>{let n=e.planets.find(e=>e.id===t.originPlanetId);if(n&&(je(n.fleet,t.fleet),t.cargo&&(n.resources.metal+=t.cargo.metal,n.resources.crystal+=t.cargo.crystal,n.resources.deuterium+=t.cargo.deuterium),e.fleetMissions)){let n=e.fleetMissions.indexOf(t);n>-1&&e.fleetMissions.splice(n,1)}},c=0,l=r=>{if(c+=r,c<10)return;let i=Object.values(t.planets);if(n.npcs.length===0){let t=new Map;if(i.forEach(n=>{n.ownerId===e.player.id||!n.ownerId||(t.has(n.ownerId)||t.set(n.ownerId,{id:n.ownerId,name:`NPC-${n.ownerId.substring(0,8)}`,planets:[],technologies:{},difficulty:`medium`,relations:{},allies:[],enemies:[]}),t.get(n.ownerId).planets.push(n))}),n.npcs=Array.from(t.values()),n.npcs.length>0){let t=v({planets:i,player:e.player,npcs:n.npcs});n.npcs.forEach(e=>{le(e,t)}),oe(n.npcs)}}if(n.npcs.length===0){c=0;return}let a={planets:i,player:e.player,npcs:n.npcs};n.npcs.forEach(e=>{u(e,a,c)}),c=0},d=0;return{processNPCMissionArrival:o,processNPCMissionReturn:s,removeIncomingFleetAlert:i,removeIncomingFleetAlertById:a,updateNPCGrowth:l,updateNPCBehavior:r=>{if(d+=r,d<5)return;if(n.npcs.length===0){d=0;return}let i=Date.now(),a=Object.values(t.planets);n.npcs.forEach(n=>{Se(n,e.player,a,t.debrisFields,i)}),d=0}}},Ui=(e,t,n,r,i)=>{let a=H();return{handleCancelBuild:o=>{n.value=e(`queue.cancelBuild`),r.value=e(`queue.confirmCancel`),i.value=()=>{if(!a.currentPlanet)return!1;let{item:e,index:t}=be(a.currentPlanet.buildQueue,o);if(!e)return!1;if(e.type===`building`){let t=ve(a.currentPlanet,e);M(a.currentPlanet.resources,t)}return a.currentPlanet.buildQueue.splice(t,1),!0},t.value=!0},handleCancelResearch:o=>{n.value=e(`queue.cancelResearch`),r.value=e(`queue.confirmCancel`),i.value=()=>{if(!a.currentPlanet)return!1;let{item:e,index:t}=be(a.player.researchQueue,o);if(!e)return!1;if(e.type===`technology`){let t=we(e);M(a.currentPlanet.resources,t)}return a.player.researchQueue.splice(t,1),!0},t.value=!0},getItemName:t=>{if(t.type===`building`||t.type===`demolish`){let n=e(`buildings.${t.itemType}`);return t.type===`demolish`?`${e(`buildingsView.demolish`)} - ${n}`:n}else if(t.type===`technology`)return e(`technologies.${t.itemType}`);else if(t.type===`ship`)return e(`ships.${t.itemType}`);else if(t.type===`defense`)return e(`defenses.${t.itemType}`);return e(`common.unknown`)},getRemainingTime:e=>{let t=Date.now();return Math.max(0,Math.floor((e.endTime-t)/1e3))},getQueueProgress:e=>{let t=Date.now(),n=e.endTime-e.startTime,r=t-e.startTime;return Math.min(100,Math.max(0,r/n*100))}}},Wi=(e,n,r,i,a,o)=>{let s=H(),c=Bi();return{updateGame:()=>{if(s.isPaused)return;let l=Date.now();s.gameTime=l,t(s.player.officers,l);let u=xe(s.player,l);s.player.researchQueue=u.updatedResearchQueue,s.player.fleetMissions.forEach(t=>{t.status===`outbound`&&l>=t.arrivalTime?e(t):t.status===`returning`&&t.returnTime&&l>=t.returnTime&&n(t)}),c.npcs.forEach(e=>{e.fleetMissions&&e.fleetMissions.forEach(t=>{t.status===`outbound`&&l>=t.arrivalTime?r(e,t):t.status===`returning`&&t.returnTime&&l>=t.returnTime&&i(e,t)})}),a(1),o(1)}}},Gi=()=>{try{let e=V.name,t=`${V.name}-universe`,n=localStorage.getItem(e);if(!n)return;let r;try{r=ln(n)}catch{try{r=JSON.parse(n)}catch{return}}if(!(r.universePlanets||r.debrisFields))return;let i={planets:{},debrisFields:{}};if(r.universePlanets){let e=r.universePlanets,t=r.player?.planets||[],n=new Set(t.map(e=>e.id));Object.entries(e).forEach(([e,t])=>{n.has(t.id)||(i.planets[e]=t)}),delete r.universePlanets}r.debrisFields&&(i.debrisFields=r.debrisFields,delete r.debrisFields),localStorage.setItem(t,cn(i)),localStorage.setItem(e,cn(r))}catch(e){console.error(e)}};var Ki={class:`flex items-center justify-center p-4 group-data-[collapsible=icon]:p-2`},qi={class:`text-xl font-bold ml-2 group-data-[collapsible=icon]:hidden`},Ji={class:`px-4 py-3 space-y-2 text-sm`},Yi={class:`font-semibold mb-1`},Xi={class:`text-muted-foreground text-xs`},Zi={class:`bg-muted/50 rounded-lg p-2`},Qi={class:`flex items-center justify-between`},$i={class:`text-xs text-muted-foreground`},ea={class:`text-sm font-bold text-primary`},ta={key:0,class:`flex gap-1`},na={class:`space-y-1`},ra={class:`flex flex-col h-full overflow-hidden`},ia={key:0,class:`bg-card border-b px-4 sm:px-6 py-6.5 shadow-md`},aa={class:`flex items-center justify-between gap-3 sm:gap-6`},oa={class:`lg:flex-1`},sa={class:`flex items-center gap-3 sm:gap-6 flex-1 lg:flex-none overflow-x-auto lg:justify-center`},ca={class:`min-w-0`},la={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},ua={class:`flex items-center gap-2 sm:gap-4 flex-shrink-0 lg:flex-1 lg:justify-end`},da={key:0,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},fa={class:`text-muted-foreground hidden sm:inline`},pa={key:1,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},ma={class:`text-muted-foreground hidden sm:inline`},ha={key:1,class:`bg-card border-b px-4 sm:px-6 py-4.5`},ga={class:`space-y-3`},_a={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},va={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},ya={class:`font-medium truncate`},ba={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},xa={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},Sa={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},Ca={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},wa={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Ta={class:`font-medium truncate`},Ea={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},Da={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},Oa={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},ka={class:`flex-1 overflow-y-auto`},Aa={class:`animate-fade-in`},ja=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(L({__name:`App`,setup(e){Gi();let t=H(),{isDark:r}=un(),{t:i}=dn(),a=_(!1),o=_(``),c=_(``),u=_(null),d=[`zh-CN`,`zh-TW`,`en`,`de`,`ru`,`ko`,`ja`],f=_(window.innerWidth>=1024),{initGame:ee}=zi(),{processMissionArrival:te,processMissionReturn:h}=Vi(i),{processNPCMissionArrival:ne,processNPCMissionReturn:re,updateNPCGrowth:v,updateNPCBehavior:ie}=Hi(),{handleCancelBuild:ae,handleCancelResearch:oe,getItemName:se,getRemainingTime:ce,getQueueProgress:le}=Ui(i,a,o,c,u),{updateGame:ue}=Wi(te,h,ne,re,v,ie),de=null;Ee(()=>{de&&clearInterval(de)}),ye(async()=>{t.player.planets.length===0&&(t.locale=Ge()),await ee(i(`common.playerName`),i(`planet.homePlanet`),i(`planet.planetPrefix`)),de=setInterval(()=>{ue()},1e3)});let b=g(()=>t.currentPlanet),fe=[{name:g(()=>i(`nav.overview`)),path:`/`,icon:Kt},{name:g(()=>i(`nav.buildings`)),path:`/buildings`,icon:Lt},{name:g(()=>i(`nav.research`)),path:`/research`,icon:It},{name:g(()=>i(`nav.shipyard`)),path:`/shipyard`,icon:Wt},{name:g(()=>i(`nav.defense`)),path:`/defense`,icon:Qt},{name:g(()=>i(`nav.fleet`)),path:`/fleet`,icon:Ht},{name:g(()=>i(`nav.officers`)),path:`/officers`,icon:$t},{name:g(()=>i(`nav.simulator`)),path:`/battle-simulator`,icon:Jt},{name:g(()=>i(`nav.galaxy`)),path:`/galaxy`,icon:Rt},{name:g(()=>i(`nav.messages`)),path:`/messages`,icon:Nt},{name:g(()=>i(`nav.settings`)),path:`/settings`,icon:Gt},...[]],pe=g(()=>{if(!b.value)return null;let e=Date.now(),n=s(t.player.officers,e);return Te(b.value,{resourceProductionBonus:n.resourceProductionBonus,darkMatterProductionBonus:n.darkMatterProductionBonus,energyProductionBonus:n.energyProductionBonus})}),me=g(()=>{if(!b.value)return null;let e=Date.now(),n=s(t.player.officers,e);return P(b.value,n.storageCapacityBonus)}),x=g(()=>t.player.battleReports.filter(e=>!e.read).length+t.player.spyReports.filter(e=>!e.read).length),he=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],E=g(()=>!b.value||b.value.isMoon?null:t.getMoonForPlanet(b.value.id)),D=g(()=>!!E.value),ge=()=>{E.value&&(t.currentPlanetId=E.value.id)},_e=()=>{b.value?.parentPlanetId&&(t.currentPlanetId=b.value.parentPlanetId)},k=()=>{f.value=!f.value},ve=()=>{u.value&&u.value(),a.value=!1};return(e,s)=>(N(),C(p(Kn),{open:f.value,"onUpdate:open":s[2]||=e=>f.value=e},{default:l(()=>[O(p(jn),{collapsible:`icon`},{default:l(()=>[O(p(Fn),{class:`border-b`},{default:l(()=>[w(`div`,Ki,[s[3]||=w(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10 group-data-[collapsible=icon]:w-8`},null,-1),w(`h1`,qi,S(p(V).title),1)])]),_:1}),O(p(Mn),null,{default:l(()=>[b.value?(N(),C(p(Pn),{key:0,class:`border-b group-data-[collapsible=icon]:hidden`},{default:l(()=>[w(`div`,Ji,[w(`div`,null,[w(`p`,Yi,[n(S(b.value.name)+` `,1),b.value.isMoon?(N(),C(p(pn),{key:0,variant:`secondary`,class:`ml-1 text-xs`},{default:l(()=>[n(S(p(i)(`planet.moon`)),1)]),_:1})):T(``,!0)]),w(`p`,Xi,` [`+S(b.value.position.galaxy)+`:`+S(b.value.position.system)+`:`+S(b.value.position.position)+`] `,1)]),w(`div`,Zi,[w(`div`,Qi,[w(`span`,$i,S(p(i)(`player.points`)),1),w(`span`,ea,S(p(fr)(p(t).player.points)),1)])]),D.value||b.value.isMoon?(N(),y(`div`,ta,[b.value.isMoon?(N(),C(p(G),{key:0,onClick:_e,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:l(()=>[n(S(p(i)(`planet.backToPlanet`)),1)]),_:1})):E.value?(N(),C(p(G),{key:1,onClick:ge,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:l(()=>[n(S(p(i)(`planet.switchToMoon`)),1)]),_:1})):T(``,!0)])):T(``,!0)])]),_:1})):T(``,!0),O(p(Pn),null,{default:l(()=>[O(p(Rn),null,{default:l(()=>[(N(),y(m,null,A(fe,t=>O(p(Gn),{key:t.path},{default:l(()=>[O(p(Wn),{"as-child":``,"is-active":e.$route.path===t.path,tooltip:t.name.value},{default:l(()=>[O(p(Ve),{to:t.path},{default:l(()=>[(N(),C(Ae(t.icon))),w(`span`,null,S(t.name.value),1),t.path===`/messages`&&x.value>0?(N(),C(p(zn),{key:0},{default:l(()=>[n(S(x.value),1)]),_:1})):T(``,!0)]),_:2},1032,[`to`])]),_:2},1032,[`is-active`,`tooltip`])]),_:2},1024)),64))]),_:1})]),_:1})]),_:1}),O(p(Nn),{class:`border-t`},{default:l(()=>[O(p(Rn),null,{default:l(()=>[O(p(Gn),null,{default:l(()=>[O(p(gn),null,{default:l(()=>[O(p(vn),{"as-child":``},{default:l(()=>[O(p(Wn),{tooltip:p(Ue)[p(t).locale]},{default:l(()=>[O(p(qt)),w(`span`,null,S(p(Ue)[p(t).locale]),1)]),_:1},8,[`tooltip`])]),_:1}),O(p(_n),{class:`w-48 p-2`,side:`right`,align:`end`},{default:l(()=>[w(`div`,na,[(N(),y(m,null,A(d,e=>O(p(G),{key:e,onClick:n=>p(t).locale=e,variant:p(t).locale===e?`secondary`:`ghost`,class:`w-full justify-start`,size:`sm`},{default:l(()=>[n(S(p(Ue)[e]),1)]),_:2},1032,[`onClick`,`variant`])),64))])]),_:1})]),_:1})]),_:1}),O(p(Gn),null,{default:l(()=>[O(p(Wn),{onClick:s[0]||=e=>r.value=!p(r),tooltip:p(r)?p(i)(`sidebar.lightMode`):p(i)(`sidebar.darkMode`)},{default:l(()=>[p(r)?(N(),C(p(tn),{key:0})):(N(),C(p(nn),{key:1})),w(`span`,null,S(p(r)?p(i)(`sidebar.lightMode`):p(i)(`sidebar.darkMode`)),1)]),_:1},8,[`tooltip`])]),_:1}),O(p(Gn),{class:`hidden sm:inline`},{default:l(()=>[O(p(Wn),{onClick:k,tooltip:f.value?p(i)(`sidebar.collapse`):p(i)(`sidebar.expand`)},{default:l(()=>[O(p(Ft),{class:`group-data-[state=collapsed]:rotate-180 transition-transform`}),w(`span`,null,S(p(i)(`sidebar.collapse`)),1)]),_:1},8,[`tooltip`])]),_:1})]),_:1})]),_:1})]),_:1}),O(p(Ln),null,{default:l(()=>[w(`div`,ra,[b.value?(N(),y(`header`,ia,[w(`div`,aa,[w(`div`,oa,[O(p(qn),{class:`lg:hidden`})]),w(`div`,sa,[(N(),y(m,null,A(he,e=>w(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2 flex-shrink-0`},[O(Yn,{type:e.key,size:`md`},null,8,[`type`]),w(`div`,ca,[w(`p`,{class:F([`text-xs sm:text-sm font-medium truncate`,p(pr)(b.value.resources[e.key],me.value?.[e.key]||1/0)])},S(p(fr)(b.value.resources[e.key]))+` / `+S(p(fr)(me.value?.[e.key]||0)),3),w(`p`,la,` +`+S(p(fr)(Math.round((pe.value?.[e.key]||0)/60)))+`/`+S(p(i)(`resources.perMinute`)),1)])])),64))]),w(`div`,ua,[b.value.buildQueue.length>0?(N(),y(`div`,da,[s[4]||=w(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse`},null,-1),w(`span`,fa,S(p(i)(`queue.building`)),1)])):T(``,!0),p(t).player.researchQueue.length>0?(N(),y(`div`,pa,[s[5]||=w(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse`},null,-1),w(`span`,ma,S(p(i)(`queue.researching`)),1)])):T(``,!0)])])])):T(``,!0),b.value&&(b.value.buildQueue.length>0||p(t).player.researchQueue.length>0)?(N(),y(`div`,ha,[w(`div`,ga,[(N(!0),y(m,null,A(b.value.buildQueue,e=>(N(),y(`div`,{key:e.id,class:`space-y-1.5`},[w(`div`,_a,[w(`div`,va,[s[6]||=w(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse flex-shrink-0`},null,-1),w(`span`,ya,S(p(se)(e)),1),w(`span`,ba,[e.type===`ship`||e.type===`defense`?(N(),y(m,{key:0},[n(` → `+S(p(i)(`queue.quantity`))+` `+S(e.quantity),1)],64)):(N(),y(m,{key:1},[n(`→ `+S(p(i)(`queue.level`))+` `+S(e.targetLevel),1)],64))])]),w(`div`,xa,[w(`span`,Sa,S(p(mr)(p(ce)(e))),1),O(p(G),{onClick:t=>p(ae)(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:l(()=>[n(S(p(i)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),O(p(hn),{"model-value":p(le)(e),class:`h-1.5`},null,8,[`model-value`])]))),128)),(N(!0),y(m,null,A(p(t).player.researchQueue,e=>(N(),y(`div`,{key:e.id,class:`space-y-1.5`},[w(`div`,Ca,[w(`div`,wa,[s[7]||=w(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse flex-shrink-0`},null,-1),w(`span`,Ta,S(p(se)(e)),1),w(`span`,Ea,` → `+S(p(i)(`queue.level`))+` `+S(e.targetLevel),1)]),w(`div`,Da,[w(`span`,Oa,S(p(mr)(p(ce)(e))),1),O(p(G),{onClick:t=>p(oe)(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:l(()=>[n(S(p(i)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),O(p(hn),{"model-value":p(le)(e),class:`h-1.5`},null,8,[`model-value`])]))),128))])])):T(``,!0),w(`main`,ka,[w(`div`,Aa,[O(p(ze))])])])]),_:1}),O(p(Ai),{open:a.value,"onUpdate:open":s[1]||=e=>a.value=e},{default:l(()=>[O(p(Ni),null,{default:l(()=>[O(p(Ii),null,{default:l(()=>[O(p(Li),null,{default:l(()=>[n(S(o.value),1)]),_:1}),O(p(Pi),null,{default:l(()=>[n(S(c.value),1)]),_:1})]),_:1}),O(p(Fi),null,{default:l(()=>[O(p(Mi),null,{default:l(()=>[n(S(p(i)(`common.cancel`)),1)]),_:1}),O(p(ji),{onClick:ve},{default:l(()=>[n(S(p(i)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),O(Oi),O(ki,{position:`top-center`})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-19955dd6`]]),Ma=`modulepreload`,Na=function(e,t){return new URL(e,t).href},Pa={};const $=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Na(t,n),t in Pa)return;Pa[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Ma,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var Fa=Be({history:Re(),routes:[{path:`/`,name:`overview`,component:()=>$(()=>import(`./OverviewView-DdvtPdf7.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url)},{path:`/buildings`,name:`buildings`,component:()=>$(()=>import(`./BuildingsView-4mX0ZiqE.js`),__vite__mapDeps([15,1,2,3,4,5,6,7,8,9,16,10,17,13,11,14]),import.meta.url)},{path:`/research`,name:`research`,component:()=>$(()=>import(`./ResearchView-BEvEoPdM.js`),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,16,10,19,17,13,20,11,14]),import.meta.url)},{path:`/shipyard`,name:`shipyard`,component:()=>$(()=>import(`./ShipyardView-C8y8F-rK.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,16,10,19,17,13,20,11,14]),import.meta.url)},{path:`/defense`,name:`defense`,component:()=>$(()=>import(`./DefenseView-BuYOjWBp.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,16,10,19,17,13,20,11,14]),import.meta.url)},{path:`/fleet`,name:`fleet`,component:()=>$(()=>import(`./FleetView-D6gRUTGU.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,16,10,19,20,11,13,12,14]),import.meta.url)},{path:`/officers`,name:`officers`,component:()=>$(()=>import(`./OfficersView-gOtt9blg.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11,13,14]),import.meta.url)},{path:`/battle-simulator`,name:`battle-simulator`,component:()=>$(()=>import(`./BattleSimulatorView-C7D7Sz5R.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,16,10,26,27,13,11,12,14]),import.meta.url)},{path:`/messages`,name:`messages`,component:()=>$(()=>import(`./MessagesView-Czwj26_i.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,9,16,10,26,27,13,11,12,14]),import.meta.url)},{path:`/galaxy`,name:`galaxy`,component:()=>$(()=>import(`./GalaxyView-Yqd2o_zC.js`),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,16,10,19,11,30,27,14]),import.meta.url)},{path:`/diplomacy`,name:`diplomacy`,component:()=>$(()=>import(`./DiplomacyView-Bz3CIKaK.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,16,10,19,11,12,14]),import.meta.url)},{path:`/settings`,name:`settings`,component:()=>$(()=>import(`./SettingsView-yJRibE1k.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,16,10,11,14]),import.meta.url)},{path:`/gm`,name:`gm`,component:()=>$(()=>import(`./GMView-DWcaM1NY.js`),__vite__mapDeps([33,1,2,3,4,5,6,7,8,9,16,10,11,30,13,14]),import.meta.url),beforeEnter:(e,t,n)=>{n(`/`)}}]}),Ia=Pe(ja),La=Fe();La.use(Le),Ia.use(La),Ia.use(Fa),Ia.mount(`#app`);export{$n as A,gn as B,lr as C,ar as D,sr as E,Vn as F,W as G,pn as H,Bn as I,V as J,dn as K,In as L,Xn as M,Yn as N,ir as O,Hn as P,vn as R,q as S,cr as T,fn as U,hn as V,G as W,Z as _,Fi as a,J as b,Mi as c,hr as d,fr as f,dr as g,gr as h,Ii as i,Qn as j,rr as k,ji as l,pr as m,Ri as n,Pi as o,mr as p,H as q,Li as r,Ni as s,Bi as t,Ai as u,X as v,K as w,ur as x,Y as y,_n as z}; \ No newline at end of file diff --git a/docs/assets/index-D0T1QtIu.css b/docs/assets/index-D0T1QtIu.css new file mode 100644 index 0000000..7482ce4 --- /dev/null +++ b/docs/assets/index-D0T1QtIu.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:#fef2f2;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-red-950:#460809;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-amber-50:#fffbeb;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-amber-700:#b75000;--color-amber-950:#461901;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c2;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-yellow-600:#cd8900;--color-yellow-950:#432004;--color-green-50:#f0fdf4;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-700:#008138;--color-green-950:#032e15;--color-emerald-600:#009767;--color-cyan-400:#00d2ef;--color-cyan-600:#0092b5;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-300:#90c5ff;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-blue-950:#162456;--color-indigo-400:#7d87ff;--color-indigo-600:#4f39f6;--color-indigo-900:#312c85;--color-purple-400:#c07eff;--color-purple-600:#9810fa;--color-slate-400:#90a1b9;--color-slate-600:#45556c;--color-gray-50:#f9fafb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-gray-950:#030712;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18511 1.52329);--color-red-300:lab(76.5514% 36.4219 15.5335);--color-red-400:lab(63.7053% 60.7449 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-950:lab(13.003% 29.04 16.7519);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-amber-50:lab(98.6252% -.635982 8.42309);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-amber-950:lab(15.8111% 20.9107 23.3752);--color-yellow-50:lab(98.6846% -1.79058 9.77662);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-yellow-600:lab(62.7799% 22.4198 86.1544);--color-yellow-950:lab(16.8146% 15.7422 23.1133);--color-green-50:lab(98.1563% -5.60117 2.75913);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8072);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-green-950:lab(15.6845% -20.4225 11.7249);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-cyan-400:lab(76.6045% -40.9406 -29.6231);--color-cyan-600:lab(55.1767% -26.7496 -30.5138);--color-blue-50:lab(96.492% -1.14647 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-400:lab(65.0361% -1.42062 -56.9803);--color-blue-500:lab(54.1736% 13.3368 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-blue-950:lab(15.6723% 8.86233 -32.2945);--color-indigo-400:lab(59.866% 22.4833 -64.4485);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-indigo-900:lab(23.3911% 24.6978 -50.4719);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-600:lab(35.5623% -1.74978 -15.4316);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17474);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-950:lab(1.90334% .278696 -5.48866)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}html{transition:background-color .3s,color .3s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{border-radius:var(--radius);background-color:var(--border)}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-1\/2{right:50%}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-6{left:calc(var(--spacing)*-6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[65px\]{height:65px}.h-\[85px\]{height:85px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--reka-select-trigger-height\)\]{height:var(--reka-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--reka-select-content-available-height\){max-height:var(--reka-select-content-available-height)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-20{width:calc(var(--spacing)*20)}.w-48{width:calc(var(--spacing)*48)}.w-72{width:calc(var(--spacing)*72)}.w-\[calc\(100vw-3rem\)\]{width:calc(100vw - 3rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--reka-select-trigger-width\)\]{min-width:var(--reka-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--reka-popover-content-transform-origin\){transform-origin:var(--reka-popover-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-300{border-color:var(--color-amber-300)}.border-background{border-color:var(--background)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-border{border-color:var(--border)}.border-destructive,.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-300{border-color:var(--color-green-300)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-red-300{border-color:var(--color-red-300)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-background,.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-400{--tw-gradient-from:var(--color-slate-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-900{--tw-gradient-to:var(--color-indigo-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-600{--tw-gradient-to:var(--color-slate-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-\[3px\]{padding:3px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-4\.5{padding-block:calc(var(--spacing)*4.5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-6\.5{padding-block:calc(var(--spacing)*6.5)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-600{color:var(--color-cyan-600)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-indigo-600{color:var(--color-indigo-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{color:var(--color-orange-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-yellow-400{--tw-ring-color:var(--color-yellow-400)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.zoom-in{--tw-enter-scale:0}.zoom-out{--tw-exit-scale:0}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:absolute:is(:where(.group)[data-collapsible=icon] *){position:absolute}.group-data-\[collapsible\=icon\]\:-top-1:is(:where(.group)[data-collapsible=icon] *){top:calc(var(--spacing)*-1)}.group-data-\[collapsible\=icon\]\:right-0:is(:where(.group)[data-collapsible=icon] *){right:calc(var(--spacing)*0)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:h-4:is(:where(.group)[data-collapsible=icon] *){height:calc(var(--spacing)*4)}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:min-w-4:is(:where(.group)[data-collapsible=icon] *){min-width:calc(var(--spacing)*4)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=collapsed\]\:rotate-180:is(:where(.group)[data-state=collapsed] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}@media (hover:hover){.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:border-border[data-state=active]{border-color:var(--border)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-md[data-state=active]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media (min-width:40rem){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:mb-2{margin-bottom:calc(var(--spacing)*2)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-3{height:calc(var(--spacing)*3)}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:h-6{height:calc(var(--spacing)*6)}.sm\:h-9{height:calc(var(--spacing)*9)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:w-12{width:calc(var(--spacing)*12)}.sm\:w-auto{width:auto}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-4xl{max-width:var(--container-4xl)}.sm\:max-w-\[90vw\]{max-width:90vw}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}:where(.sm\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-2{padding-inline:calc(var(--spacing)*2)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:pt-4{padding-top:calc(var(--spacing)*4)}.sm\:pt-6{padding-top:calc(var(--spacing)*6)}.sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.sm\:pb-4{padding-bottom:calc(var(--spacing)*4)}.sm\:pb-6{padding-bottom:calc(var(--spacing)*6)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:w-full{width:100%}.md\:max-w-3xl{max-width:var(--container-3xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:flex-1{flex:1}.lg\:flex-none{flex:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:justify-center{justify-content:center}.lg\:justify-end{justify-content:flex-end}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.dark\:border-amber-700:is(.dark *){border-color:var(--color-amber-700)}.dark\:border-blue-600:is(.dark *){border-color:var(--color-blue-600)}.dark\:border-blue-700:is(.dark *){border-color:var(--color-blue-700)}.dark\:border-gray-700:is(.dark *){border-color:var(--color-gray-700)}.dark\:border-green-700:is(.dark *){border-color:var(--color-green-700)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-red-700:is(.dark *){border-color:var(--color-red-700)}.dark\:border-yellow-600:is(.dark *){border-color:var(--color-yellow-600)}.dark\:bg-blue-950:is(.dark *){background-color:var(--color-blue-950)}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-blue-950\/50:is(.dark *){background-color:#16245680}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)50%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-gray-950:is(.dark *){background-color:var(--color-gray-950)}.dark\:bg-gray-950\/30:is(.dark *){background-color:#0307124d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-950)30%,transparent)}}.dark\:bg-green-600:is(.dark *){background-color:var(--color-green-600)}.dark\:bg-green-950:is(.dark *){background-color:var(--color-green-950)}.dark\:bg-green-950\/30:is(.dark *){background-color:#032e154d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)30%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-red-600:is(.dark *){background-color:var(--color-red-600)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:bg-red-950\/20:is(.dark *){background-color:#46080933}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:bg-red-950\/30:is(.dark *){background-color:#4608094d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)30%,transparent)}}.dark\:bg-yellow-950\/30:is(.dark *){background-color:#4320044d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-yellow-950)30%,transparent)}}.dark\:bg-yellow-950\/50:is(.dark *){background-color:#43200480}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-yellow-950)50%,transparent)}}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-cyan-400:is(.dark *){color:var(--color-cyan-400)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-indigo-400:is(.dark *){color:var(--color-indigo-400)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}.dark\:ring-yellow-500:is(.dark *){--tw-ring-color:var(--color-yellow-500)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-amber-950)30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-border:is(.dark *)[data-state=active]{border-color:var(--border)}.dark\:data-\[state\=active\]\:bg-background:is(.dark *)[data-state=active]{background-color:var(--background)}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=active\]\:shadow-lg:is(.dark *)[data-state=active]{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-4 svg:not([class*="'size-'"]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\\\'text-\\\'\]\)\]\:text-muted-foreground svg:not([class*="'text-'"]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#fcfcfc;--foreground:#020618;--card:#fff;--card-foreground:#020618;--popover:#fff;--popover-foreground:#020618;--primary:#0f172b;--primary-foreground:#f8fafc;--secondary:#f1f5f9;--secondary-foreground:#0f172b;--muted:#f1f5f9;--muted-foreground:#62748e;--accent:#f1f5f9;--accent-foreground:#0f172b;--destructive:#e40014;--border:#e2e8f0;--input:#e2e8f0;--ring:#90a1b9;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--sidebar:#f8fafc;--sidebar-foreground:#020618;--sidebar-primary:#0f172b;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#f1f5f9;--sidebar-accent-foreground:#0f172b;--sidebar-border:#e2e8f0;--sidebar-ring:#90a1b9}@supports (color:lab(0% 0 0)){:root{--background:lab(98.84% 0 0);--foreground:lab(1.76974% 1.32743 -9.28855);--card:lab(100% 0 0);--card-foreground:lab(1.76974% 1.32743 -9.28855);--popover:lab(100% 0 0);--popover-foreground:lab(1.76974% 1.32743 -9.28855);--primary:lab(7.78673% 1.82346 -15.0537);--primary-foreground:lab(98.1434% -.369549 -1.05968);--secondary:lab(96.286% -.852466 -2.46847);--secondary-foreground:lab(7.78673% 1.82346 -15.0537);--muted:lab(96.286% -.852466 -2.46847);--muted-foreground:lab(48.0876% -2.03595 -16.5814);--accent:lab(96.286% -.852466 -2.46847);--accent-foreground:lab(7.78673% 1.82346 -15.0537);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(91.7353% -.998765 -4.76968);--input:lab(91.7353% -.998765 -4.76968);--ring:lab(65.5349% -2.25151 -14.5072);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.1434% -.369549 -1.05968);--sidebar-foreground:lab(1.76974% 1.32743 -9.28855);--sidebar-primary:lab(7.78673% 1.82346 -15.0537);--sidebar-primary-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-accent:lab(96.286% -.852466 -2.46847);--sidebar-accent-foreground:lab(7.78673% 1.82346 -15.0537);--sidebar-border:lab(91.7353% -.998765 -4.76968);--sidebar-ring:lab(65.5349% -2.25151 -14.5072)}}.dark{--background:#020307;--foreground:#f8fafc;--card:#070b14;--card-foreground:#f8fafc;--popover:#070b14;--popover-foreground:#f8fafc;--primary:#76aaed;--primary-foreground:#f8fafc;--secondary:#1b222e;--secondary-foreground:#f8fafc;--muted:#1b222e;--muted-foreground:#72839a;--accent:#1b222e;--accent-foreground:#f8fafc;--destructive:#dc414a;--border:#1b222e;--input:#1b222e;--ring:#6a7282;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#070b14;--sidebar-foreground:#f8fafc;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#1b222e;--sidebar-accent-foreground:#f8fafc;--sidebar-border:#1b222e;--sidebar-ring:#6a7282}@supports (color:lab(0% 0 0)){.dark{--background:lab(.879473% .0693277 -1.61465);--foreground:lab(98.1434% -.369549 -1.05968);--card:lab(2.98047% .150263 -4.74351);--card-foreground:lab(98.1434% -.369549 -1.05968);--popover:lab(2.98047% .150263 -4.74351);--popover-foreground:lab(98.1434% -.369549 -1.05968);--primary:lab(68.0384% -3.53837 -39.6946);--primary-foreground:lab(98.1434% -.369549 -1.05968);--secondary:lab(12.8805% -.587493 -9.04602);--secondary-foreground:lab(98.1434% -.369549 -1.05968);--muted:lab(12.8805% -.587493 -9.04602);--muted-foreground:lab(53.9284% -2.13248 -14.4608);--accent:lab(12.8805% -.587493 -9.04602);--accent-foreground:lab(98.1434% -.369549 -1.05968);--destructive:lab(52.0859% 60.8796 32.2468);--border:lab(12.8805% -.587493 -9.04602);--input:lab(12.8805% -.587493 -9.04602);--ring:lab(47.7841% -.393212 -10.0268);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4329 31.4532);--sidebar:lab(2.98047% .150263 -4.74351);--sidebar-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-accent:lab(12.8805% -.587493 -9.04602);--sidebar-accent-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-border:lab(12.8805% -.587493 -9.04602);--sidebar-ring:lab(47.7841% -.393212 -10.0268)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out fade-in}aside nav a{transition:all .2s}aside nav a:hover button{transform:translate(4px)}@keyframes pulse-resource{0%,to{opacity:1}50%{opacity:.8}}.resource-pulse{animation:2s ease-in-out infinite pulse-resource}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}main[data-v-19955dd6]{scroll-behavior:smooth} diff --git a/docs/assets/index-DWmvUlvu.js b/docs/assets/index-DWmvUlvu.js deleted file mode 100644 index 698d625..0000000 --- a/docs/assets/index-DWmvUlvu.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./OverviewView-Eaupz5BG.js","./vendor-others-CUjrprN5.js","./game-logic-CfBcTF_c.js","./game-config-D-D7cMgJ.js","./rolldown-runtime-tX5UdD3f.js","./vendor-others-BMPyaZWq.css","./vendor-reka-ui-CZQh7FLl.js","./vendor-vueuse-C7EbLx--.js","./vendor-crypto-Ce_BCn-h.js","./vendor-utils-Dg-HLkEU.js","./vendor-pinia-DP9x75p8.js","./CardDescription-D2AN1hhX.js","./useGameConfig-B5wf1i8i.js","./game-i18n-DEf7ySVe.js","./BuildingsView-BQvU9Qow.js","./vendor-icons-W6Ny__75.js","./AlertDialog-CiXBEnQ0.js","./CardUnlockOverlay-BA1LyGjd.js","./ResearchView-B3XsR2nC.js","./vendor-vue-router-CWDMmE-U.js","./UnlockRequirement-c2kDZKZ0.js","./ShipyardView-CezaC9x_.js","./DefenseView-DuI03pUa.js","./FleetView-BBGER_SR.js","./OfficersView-Dfgf1DR0.js","./BattleSimulatorView-BDzc1XdU.js","./BattleReportDialog-CWBu6H63.js","./TooltipProvider-BAp4BAXy.js","./MessagesView-DpnWNQDD.js","./GalaxyView-TxzLJXed.js","./SelectValue-Cm2l40Fd.js","./SettingsView-C1jUcCe5.js","./GMView-Cql_sk5m.js"])))=>i.map(i=>d[i]); -import{o as e}from"./rolldown-runtime-tX5UdD3f.js";import{$ as t,A as n,At as r,B as i,Cn as a,Ct as o,D as s,Dn as c,Dt as l,En as u,Et as d,Ft as f,G as ee,Gt as te,H as ne,Jt as p,Kt as m,Mt as h,Nt as g,On as _,Ot as v,R as re,Tn as y,U as ie,Vt as b,W as ae,Wt as oe,X as se,Xt as ce,Y as le,Yt as x,_ as ue,_t as S,an as de,b as fe,bt as pe,ct as me,ft as he,g as ge,gt as _e,h as ve,hn as C,ht as w,in as T,jt as E,kt as D,l as ye,lt as O,mt as be,nt as xe,pt as Se,rt as Ce,tn as we,tt as Te,un as Ee,v as De,w as Oe,wt as ke,x as Ae,y as je,yt as k,z as Me}from"./game-logic-CfBcTF_c.js";import{n as Ne,r as A,t as Pe}from"./vendor-pinia-DP9x75p8.js";import{i as Fe,n as Ie,r as Le,t as Re}from"./vendor-vue-router-CWDMmE-U.js";import{t as ze}from"./vendor-crypto-Ce_BCn-h.js";import{n as Be,r as Ve,t as He}from"./game-i18n-DEf7ySVe.js";import{R as Ue,c as j,t as We,z as Ge}from"./vendor-others-CUjrprN5.js";import{B as Ke,C as qe,F as Je,H as M,I as Ye,L as Xe,P as Ze,R as Qe,S as $e,T as et,U as tt,V as nt,W as rt,a as it,b as at,i as ot,n as st,o as ct,r as lt,t as ut,w as dt,x as ft,y as pt,z as mt}from"./vendor-reka-ui-CZQh7FLl.js";import{n as ht}from"./vendor-utils-Dg-HLkEU.js";import{i as gt,n as _t,r as vt,t as yt}from"./vendor-vueuse-C7EbLx--.js";import{A as bt,B as xt,C as St,E as Ct,F as wt,G as Tt,N as Et,O as Dt,P as Ot,S as kt,V as At,_ as jt,c as Mt,f as Nt,h as Pt,j as Ft,k as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,t as Ut,u as Wt,w as Gt,x as Kt}from"./vendor-icons-W6Ny__75.js";import{c as qt,f as N,r as Jt}from"./game-config-D-D7cMgJ.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href;var P={name:`ogame-vue-ts`,title:`OGame-Vue-Ts`,qq:`920930589`,id:`2zBlHPUA6E`,author:{name:`setube`,email:`1962257451@qq.com`},private:!0,version:`1.1.0`,buildDate:`2025/12/14 13:13:07`,main:`dist-electron/main.js`,type:`module`,scripts:{dev:`vite --port 25121`,build:`vue-tsc -b && vite build && node update-build-date.js`,preview:`vite preview`,"build:server":`pnpm run build && go build`,"build:electron":`pnpm run build && electron-builder`},dependencies:{"@tailwindcss/vite":`^4.1.17`,"@tanstack/vue-table":`^8.21.3`,"@vueuse/core":`^14.1.0`,"class-variance-authority":`^0.7.1`,clsx:`^2.1.1`,"crypto-js":`^4.2.0`,"file-saver":`^2.0.5`,finalhandler:`^2.1.1`,"lucide-vue-next":`^0.556.0`,pinia:`^3.0.4`,"pinia-plugin-persistedstate":`^4.7.1`,"reka-ui":`^2.6.1`,"serve-static":`^2.2.0`,"tailwind-merge":`^3.4.0`,tailwindcss:`^4.1.17`,vue:`^3.5.24`,"vue-router":`4`,"vue-sonner":`^2.0.9`},devDependencies:{"@types/crypto-js":`^4.2.2`,"@types/file-saver":`^2.0.7`,"@types/node":`^24.10.2`,"@vitejs/plugin-vue":`^6.0.1`,"@vue/tsconfig":`^0.8.1`,electron:`^39.2.7`,"electron-builder":`^26.0.12`,"electron-vite":`^5.0.0`,"tw-animate-css":`^1.4.0`,typescript:`~5.9.3`,vite:`npm:rolldown-vite@7.2.5`,"vite-plugin-electron":`^0.29.0`,"vite-plugin-electron-renderer":`^0.14.6`,"vue-tsc":`^3.1.4`},pnpm:{overrides:{vite:`npm:rolldown-vite@7.2.5`},onlyBuiltDependencies:[`electron-winstaller`,`esbuild`,`vue-demi`]},packageManager:`pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad`,build:{appId:`games.wenzi.ogame`,productName:`OGame`,directories:{output:`pkg`},win:{target:`nsis`,icon:`public/favicon.ico`,verifyUpdateCodeSignature:!1,artifactName:"${productName}-Setup.${ext}"},mac:{target:[`dmg`,`zip`],artifactName:"${productName}-mac.${ext}"},linux:{target:[`AppImage`,`deb`],artifactName:"${productName}-linux.${ext}"}}},Yt=e(ze(),1);const Xt=e=>{try{let t=JSON.stringify(e);return Yt.default.AES.encrypt(t,P.name).toString()}catch(e){console.error(e)}return``},Zt=e=>{try{let t=Yt.default.AES.decrypt(e,P.name).toString(Yt.default.enc.Utf8);return JSON.parse(t)}catch(e){return console.error(e),{}}},Qt=A(`game`,{state:()=>({gameTime:Date.now(),isPaused:!1,player:{id:`player1`,name:``,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[]},currentPlanetId:``,isDark:``,locale:`zh-CN`}),getters:{currentPlanet(){return this.player.planets.find(e=>e.id===this.currentPlanetId)},getMoonForPlanet(){return e=>this.player.planets.find(t=>t.parentPlanetId===e&&t.isMoon)}},persist:{key:P.name,storage:localStorage,serializer:{serialize:e=>Xt(e),deserialize:e=>Zt(e)}}}),$t=A(`universe`,{state:()=>({planets:{},debrisFields:{}}),persist:{key:`${P.name}-universe`,storage:localStorage,serializer:{serialize:e=>Xt(e),deserialize:e=>Zt(e)}}});var F=C(!1);const en=()=>{let e=Qt();oe(()=>{e.isDark?F.value=e.isDark===`dark`:(F.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches,e.isDark=F.value?`dark`:`light`),t()}),we(F,()=>{t(),e.isDark=F.value?`dark`:`light`});let t=()=>{F.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)};return{isDark:F,toggleTheme:()=>{F.value=!F.value}}},I=()=>{let e=Qt(),t=d(()=>e.locale),n=d(()=>Ve[t.value]);return{t:e=>{let t=e.split(`.`),r=n.value;for(let n of t)if(r&&typeof r==`object`&&n in r)r=r[n];else return e;return typeof r==`string`?r:e},locale:t,setLocale:t=>{e.locale=t},messages:n}},L=(...e)=>ht(Ge(e));var R=g({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(m(),v(a(nt),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:y(a(L)(a(tn)({variant:e.variant,size:e.size}),t.class))},{default:T(()=>[x(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});const tn=Ue(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});var z=g({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(r,i)=>(m(),v(a(nt),b({"data-slot":`badge`,class:a(L)(a(nn)({variant:e.variant}),t.class)},a(n)),{default:T(()=>[x(r.$slots,`default`)]),_:3},16,[`class`]))}});const nn=Ue(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});var rn=g({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(at),b({"data-slot":`progress`},a(n),{class:a(L)(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,t.class)}),{default:T(()=>[h(a(pt),{"data-slot":`progress-indicator`,class:`bg-primary h-full w-full flex-1 transition-all`,style:c(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),an=g({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(et),b({"data-slot":`popover`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),on=g({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(e,t)=>(m(),v(a(qe),null,{default:T(()=>[h(a(dt),b({"data-slot":`popover-content`},{...e.$attrs,...a(i)},{class:a(L)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),sn=g({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(m(),v(a($e),b({"data-slot":`popover-trigger`},t),{default:T(()=>[x(e.$slots,`default`)]),_:3},16))}}),cn=g({__name:`Sheet`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(Ke),b({"data-slot":`sheet`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),ln=g({__name:`SheetOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ye),b({"data-slot":`sheet-overlay`,class:a(L)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),un=g({inheritAttrs:!1,__name:`SheetContent`,props:{class:{},side:{default:`right`},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`,`side`),r);return(t,r)=>(m(),v(a(Je),null,{default:T(()=>[h(ln),h(a(Qe),b({"data-slot":`sheet-content`,class:a(L)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,e.side===`right`&&`data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,e.side===`left`&&`data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,e.side===`top`&&`data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b`,e.side===`bottom`&&`data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t`,n.class)},{...t.$attrs,...a(i)}),{default:T(()=>[x(t.$slots,`default`),h(a(mt),{class:`ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none`},{default:T(()=>[h(a(zt),{class:`size-4`}),r[0]||=l(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),dn=g({__name:`SheetDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Xe),b({"data-slot":`sheet-description`,class:a(L)(`text-muted-foreground text-sm`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),fn=g({__name:`SheetHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sheet-header`,class:y(a(L)(`flex flex-col gap-1.5 p-4`,t.class))},[x(e.$slots,`default`)],2))}}),pn=g({__name:`SheetTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ze),b({"data-slot":`sheet-title`,class:a(L)(`text-foreground font-semibold`,t.class)},a(n)),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}});const mn=`sidebar_state`,[hn,gn]=rt(`Sidebar`);var _n={class:`flex h-full w-full flex-col`},vn=[`data-state`,`data-collapsible`,`data-variant`,`data-side`],yn={"data-sidebar":`sidebar`,class:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`},bn=g({inheritAttrs:!1,__name:`Sidebar`,props:{side:{default:`left`},variant:{default:`sidebar`},collapsible:{default:`offcanvas`},class:{}},setup(e){let t=e,{isMobile:n,state:i,openMobile:o,setOpenMobile:s}=hn();return(u,d)=>e.collapsible===`none`?(m(),r(`div`,b({key:0,"data-slot":`sidebar`,class:a(L)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,t.class)},u.$attrs),[x(u.$slots,`default`)],16)):a(n)?(m(),v(a(cn),b({key:1,open:a(o)},u.$attrs,{"onUpdate:open":a(s)}),{default:T(()=>[h(a(un),{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,side:e.side,class:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:c({"--sidebar-width":a(`18rem`)})},{default:T(()=>[h(fn,{class:`sr-only`},{default:T(()=>[h(pn,null,{default:T(()=>[...d[0]||=[E(`Sidebar`,-1)]]),_:1}),h(dn,null,{default:T(()=>[...d[1]||=[E(`Displays the mobile sidebar.`,-1)]]),_:1})]),_:1}),l(`div`,_n,[x(u.$slots,`default`)])]),_:3},8,[`side`,`style`])]),_:3},16,[`open`,`onUpdate:open`])):(m(),r(`div`,{key:2,class:`group peer text-sidebar-foreground hidden md:block`,"data-slot":`sidebar`,"data-state":a(i),"data-collapsible":a(i)===`collapsed`?e.collapsible:``,"data-variant":e.variant,"data-side":e.side},[l(`div`,{class:y(a(L)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,e.variant===`floating`||e.variant===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`))},null,2),l(`div`,b({class:a(L)(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e.side===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,e.variant===`floating`||e.variant===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,t.class)},u.$attrs),[l(`div`,yn,[x(u.$slots,`default`)])],16)],8,vn))}}),xn=g({__name:`SidebarContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,class:y(a(L)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t.class))},[x(e.$slots,`default`)],2))}}),Sn=g({__name:`SidebarFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,class:y(a(L)(`flex flex-col gap-2 p-2`,t.class))},[x(e.$slots,`default`)],2))}}),Cn=g({__name:`SidebarGroup`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,class:y(a(L)(`relative flex w-full min-w-0 flex-col p-2`,t.class))},[x(e.$slots,`default`)],2))}}),wn=g({__name:`SidebarHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,class:y(a(L)(`flex flex-col gap-2 p-2`,t.class))},[x(e.$slots,`default`)],2))}}),Tn=g({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=gt(n,`modelValue`,t,{passive:!0,defaultValue:n.defaultValue});return(e,t)=>de((m(),r(`input`,{"onUpdate:modelValue":t[0]||=e=>Ee(i)?i.value=e:null,"data-slot":`input`,class:y(a(L)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,n.class))},null,2)),[[pe,a(i)]])}}),En=g({__name:`SidebarInset`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`main`,{"data-slot":`sidebar-inset`,class:y(a(L)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,t.class))},[x(e.$slots,`default`)],2))}}),Dn=g({__name:`SidebarMenu`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,class:y(a(L)(`flex w-full min-w-0 flex-col gap-1`,t.class))},[x(e.$slots,`default`)],2))}}),On=g({__name:`SidebarMenuBadge`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,class:y(a(L)(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,t.class))},[x(e.$slots,`default`)],2))}}),kn=g({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(ot),b({"data-slot":`tooltip`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),An=g({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(e,t)=>(m(),v(a(st),null,{default:T(()=>[h(a(lt),b({"data-slot":`tooltip-content`},{...a(i),...e.$attrs},{class:a(L)(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance`,n.class)}),{default:T(()=>[x(e.$slots,`default`),h(a(ct),{class:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]),_:3},16,[`class`])]),_:3}))}}),jn=g({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(m(),v(a(ut),b({"data-slot":`tooltip-trigger`},t),{default:T(()=>[x(e.$slots,`default`)]),_:3},16))}}),Mn=g({__name:`SidebarMenuButtonChild`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(m(),v(a(nt),b({"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":e.size,"data-active":e.isActive,class:a(L)(a(Ln)({variant:e.variant,size:e.size}),t.class),as:e.as,"as-child":e.asChild},n.$attrs),{default:T(()=>[x(n.$slots,`default`)]),_:3},16,[`data-size`,`data-active`,`class`,`as`,`as-child`]))}}),Nn=g({inheritAttrs:!1,__name:`SidebarMenuButton`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`},tooltip:{}},setup(e){let t=e,{isMobile:n,state:i}=hn(),s=j(t,`tooltip`);return(t,c)=>e.tooltip?(m(),v(a(kn),{key:1},{default:T(()=>[h(a(jn),{"as-child":``},{default:T(()=>[h(Mn,u(f({...a(s),...t.$attrs})),{default:T(()=>[x(t.$slots,`default`)]),_:3},16)]),_:3}),h(a(An),{side:`right`,align:`center`,hidden:a(i)!==`collapsed`||a(n)},{default:T(()=>[typeof e.tooltip==`string`?(m(),r(o,{key:0},[E(_(e.tooltip),1)],64)):(m(),v(ce(e.tooltip),{key:1}))]),_:1},8,[`hidden`])]),_:3})):(m(),v(Mn,u(b({key:0},{...a(s),...t.$attrs})),{default:T(()=>[x(t.$slots,`default`)]),_:3},16))}}),Pn=g({__name:`SidebarMenuItem`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,class:y(a(L)(`group/menu-item relative`,t.class))},[x(e.$slots,`default`)],2))}}),Fn=g({__name:`SidebarProvider`,props:{defaultOpen:{type:Boolean,default:!yt?.cookie.includes(`${mn}=false`)},open:{type:Boolean,default:void 0},class:{}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=vt(`(max-width: 768px)`),o=C(!1),s=gt(n,`open`,r,{defaultValue:n.defaultOpen??!1,passive:n.open===void 0});function c(e){s.value=e,document.cookie=`${mn}=${s.value}; path=/; max-age=604800`}function u(e){o.value=e}function f(){return i.value?u(!o.value):c(!s.value)}return _t(`keydown`,e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())}),gn({state:d(()=>s.value?`expanded`:`collapsed`),open:s,setOpen:c,isMobile:i,openMobile:o,setOpenMobile:u,toggleSidebar:f}),(e,t)=>(m(),v(a(it),{"delay-duration":0},{default:T(()=>[l(`div`,b({"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":a(`16rem`),"--sidebar-width-icon":a(`3rem`)},class:a(L)(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,n.class)},e.$attrs),[x(e.$slots,`default`)],16)]),_:3}))}}),In=g({__name:`SidebarTrigger`,props:{class:{}},setup(e){let t=e,{toggleSidebar:n}=hn();return(e,r)=>(m(),v(a(R),{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,class:y(a(L)(`h-7 w-7`,t.class)),onClick:a(n)},{default:T(()=>[h(a(Kt)),r[0]||=l(`span`,{class:`sr-only`},`Toggle Sidebar`,-1)]),_:1},8,[`class`,`onClick`]))}});const Ln=Ue(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var Rn=g({__name:`ResourceIcon`,props:{type:{},size:{default:`md`}},setup(e){let t={metal:`bg-gradient-to-br from-slate-400 to-slate-600`,crystal:`bg-gradient-to-br from-cyan-400 to-blue-600`,deuterium:`bg-gradient-to-br from-green-400 to-emerald-600`,darkMatter:`bg-gradient-to-br from-purple-600 to-indigo-900`,energy:`bg-gradient-to-br from-yellow-400 to-orange-500`},n={sm:`w-3 h-3`,md:`w-4 h-4`,lg:`w-5 h-5`};return(i,a)=>(m(),r(`div`,{class:y([t[e.type],n[e.size],`rounded shadow-sm`])},null,2))}}),zn={key:0,class:`fixed inset-0 z-50 flex items-center justify-center`},Bn={class:`relative bg-card border rounded-lg shadow-lg p-6 max-w-md w-full mx-4 z-10`},Vn={class:`text-lg font-semibold mb-2`},Hn={class:`text-sm text-muted-foreground mb-6`},Un={class:`flex justify-end gap-3`},Wn=g({__name:`ConfirmDialog`,setup(e,{expose:t}){let{t:n}=I(),i=C(!1),o=C(null),s=e=>{o.value=e,i.value=!0},c=()=>{o.value&&o.value.onConfirm(),i.value=!1},u=()=>{i.value=!1};return t({show:s}),(e,t)=>(m(),v(ke,{to:`body`},[i.value?(m(),r(`div`,zn,[l(`div`,{class:`fixed inset-0 bg-black/50`,onClick:u}),l(`div`,Bn,[l(`h2`,Vn,_(o.value?.title),1),l(`p`,Hn,_(o.value?.message),1),l(`div`,Un,[h(a(R),{onClick:u,variant:`outline`},{default:T(()=>[E(_(a(n)(`common.cancel`)),1)]),_:1}),h(a(R),{onClick:c,variant:`default`},{default:T(()=>[E(_(a(n)(`common.confirm`)),1)]),_:1})])])])):D(``,!0)]))}}),Gn=g({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=M(e,t);return(e,t)=>(m(),v(a(Ke),b({"data-slot":`dialog`},a(n)),{default:T(t=>[x(e.$slots,`default`,u(f(t)))]),_:3},16))}}),Kn=g({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(Ye),b({"data-slot":`dialog-overlay`},a(n),{class:a(L)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),qn=g({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=M(j(n,`class`),r);return(t,r)=>(m(),v(a(Je),null,{default:T(()=>[h(Kn),h(a(Qe),b({"data-slot":`dialog-content`},{...t.$attrs,...a(i)},{class:a(L)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:T(()=>[x(t.$slots,`default`),e.showCloseButton?(m(),v(a(mt),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:T(()=>[h(a(zt)),r[0]||=l(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):D(``,!0)]),_:3},16,[`class`])]),_:3}))}}),B=g({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=tt(j(t,`class`));return(e,r)=>(m(),v(a(Xe),b({"data-slot":`dialog-description`},a(n),{class:a(L)(`text-muted-foreground text-sm`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),V=g({__name:`DialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`dialog-header`,class:y(a(L)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[x(e.$slots,`default`)],2))}}),H=g({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=tt(j(t,`class`));return(e,r)=>(m(),v(a(Ze),b({"data-slot":`dialog-title`},a(n),{class:a(L)(`text-lg leading-none font-semibold`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}});const Jn=A(`detailDialog`,{state:()=>({isOpen:!1,type:null,itemType:null,currentLevel:void 0}),actions:{openBuilding(e,t){this.isOpen=!0,this.type=`building`,this.itemType=e,this.currentLevel=t},openTechnology(e,t){this.isOpen=!0,this.type=`technology`,this.itemType=e,this.currentLevel=t},openShip(e){this.isOpen=!0,this.type=`ship`,this.itemType=e,this.currentLevel=void 0},openDefense(e){this.isOpen=!0,this.type=`defense`,this.itemType=e,this.currentLevel=void 0},close(){this.isOpen=!1,this.type=null,this.itemType=null,this.currentLevel=void 0}}});var Yn={"data-slot":`table-container`,class:`relative w-full overflow-auto`},Xn=g({__name:`Table`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,Yn,[l(`table`,{"data-slot":`table`,class:y(a(L)(`w-full caption-bottom text-sm`,t.class))},[x(e.$slots,`default`)],2)]))}}),Zn=g({__name:`TableBody`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`tbody`,{"data-slot":`table-body`,class:y(a(L)(`[&_tr:last-child]:border-0`,t.class))},[x(e.$slots,`default`)],2))}}),U=g({__name:`TableCell`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`td`,{"data-slot":`table-cell`,class:y(a(L)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[x(e.$slots,`default`)],2))}}),W=g({__name:`TableRow`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`tr`,{"data-slot":`table-row`,class:y(a(L)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[x(e.$slots,`default`)],2))}}),G=g({__name:`TableHead`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`th`,{"data-slot":`table-head`,class:y(a(L)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[x(e.$slots,`default`)],2))}}),Qn=g({__name:`TableHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`thead`,{"data-slot":`table-header`,class:y(a(L)(`[&_tr]:border-b`,t.class))},[x(e.$slots,`default`)],2))}}),K=g({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card`,class:y(a(L)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[x(e.$slots,`default`)],2))}}),q=g({__name:`CardContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card-content`,class:y(a(L)(`px-6`,t.class))},[x(e.$slots,`default`)],2))}}),J=g({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`div`,{"data-slot":`card-header`,class:y(a(L)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[x(e.$slots,`default`)],2))}}),Y=g({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(m(),r(`h3`,{"data-slot":`card-title`,class:y(a(L)(`leading-none font-semibold`,t.class))},[x(e.$slots,`default`)],2))}}),$n={class:`cursor-pointer underline decoration-dotted underline-offset-4 touch-manipulation`},er={class:`font-mono text-sm`},X=g({__name:`NumberWithTooltip`,props:{value:{}},setup(e){let t=e,n=d(()=>t.value.toLocaleString()),r=d(()=>{let e=t.value;if(e<1e3)return e.toString();if(e<1e6){let t=e/1e3;return t%1==0?`${t}K`:`${t.toFixed(1)}K`}if(e<1e9){let t=e/1e6;return t%1==0?`${t}M`:`${t.toFixed(1)}M`}let n=e/1e9;return n%1==0?`${n}B`:`${n.toFixed(1)}B`});return(e,t)=>(m(),v(a(an),null,{default:T(()=>[h(a(sn),{"as-child":``},{default:T(()=>[l(`span`,$n,_(r.value),1)]),_:1}),h(a(on),{class:`w-auto p-2`,side:`top`,align:`center`},{default:T(()=>[l(`p`,er,_(n.value),1)]),_:1})]),_:1}))}});const Z=(e,t=2)=>e>=1e9?(e/1e9).toFixed(t)+`B`:e>=1e6?(e/1e6).toFixed(t)+`M`:e>=1e3?(e/1e3).toFixed(t)+`K`:Math.floor(e).toString(),tr=(e,t)=>{let n=e/t;return n>=1?`text-red-600 dark:text-red-400`:n>=.7?`text-yellow-600 dark:text-yellow-400`:``},Q=e=>{let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=Math.floor(e%60);return t>0?`${t}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}:${i.toString().padStart(2,`0`)}`:`${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}:${i.toString().padStart(2,`0`)}`},nr=e=>new Date(e).toLocaleString(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),rr=(e,t)=>e{let e=n.currentLevel+10,t=[];for(let r=n.currentLevel;r<=e;r++)t.push(r);return t}),s=e=>{if(e===0)return{cost:{metal:0,crystal:0,deuterium:0},buildTime:0,production:0,consumption:0,points:0};let t=me(n.buildingType,e),r=O(n.buildingType,e),i=0,a=0;n.buildingType===`metalMine`?i=Math.floor(1500*e*1.5**e):n.buildingType===`crystalMine`?i=Math.floor(1e3*e*1.5**e):n.buildingType===`deuteriumSynthesizer`&&(i=Math.floor(500*e*1.5**e)),n.buildingType===`solarPlant`&&(i=Math.floor(50*e*1.1**e)),[`metalMine`,`crystalMine`,`deuteriumSynthesizer`].includes(n.buildingType)&&(a=Math.floor(10*e*1.1**e));let o=he(n.buildingType,e-1,e);return{cost:t,buildTime:r,production:i,consumption:a,points:o}},c=d(()=>{let e=0,t=0,n=0,r=0;for(let a of i.value){if(a===0)continue;let i=s(a);e+=i.cost.metal,t+=i.cost.crystal,n+=i.cost.deuterium,r+=i.points}return{metal:e,crystal:t,deuterium:n,points:r}});return(n,u)=>(m(),r(`div`,ir,[l(`div`,ar,[h(a(Xn),null,{default:T(()=>[h(a(Qn),null,{default:T(()=>[h(a(W),null,{default:T(()=>[h(a(G),{class:`w-20 text-center`},{default:T(()=>[E(_(a(t)(`buildings.levelRange`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.metal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.crystal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.deuterium`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.buildTime`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.production`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`buildings.consumption`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),h(a(Zn),null,{default:T(()=>[(m(!0),r(o,null,p(i.value,n=>(m(),v(a(W),{key:n,class:y({"bg-muted/50":n===e.currentLevel})},{default:T(()=>[h(a(U),{class:`text-center font-medium`},{default:T(()=>[n===e.currentLevel?(m(),v(a(z),{key:0,variant:`default`},{default:T(()=>[E(_(n),1)]),_:2},1024)):(m(),r(`span`,or,_(n),1))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.metal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.crystal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(n).cost.deuterium},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[E(_(a(Q)(s(n).buildTime)),1)]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[s(n).production>0?(m(),r(`span`,sr,[u[0]||=E(` + `,-1),h(X,{value:s(n).production},null,8,[`value`]),E(` /`+_(a(t)(`resources.perHour`)),1)])):(m(),r(`span`,cr,`-`))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[s(n).consumption>0?(m(),r(`span`,lr,[u[1]||=E(` - `,-1),h(X,{value:s(n).consumption},null,8,[`value`])])):(m(),r(`span`,ur,`-`))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[l(`span`,dr,[u[2]||=E(` + `,-1),h(X,{value:s(n).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,fr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`buildings.totalCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[l(`div`,pr,[l(`span`,mr,_(a(t)(`resources.metal`))+`:`,1),l(`span`,hr,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,gr,[l(`span`,_r,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,vr,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,yr,[l(`span`,br,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,xr,[h(X,{value:c.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`buildings.totalPoints`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Sr,[h(X,{value:c.value.points},null,8,[`value`])]),l(`p`,Cr,_(a(t)(`buildings.levelRange`))+`: `+_(Math.max(0,e.currentLevel-10))+` - `+_(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),Tr={class:`space-y-4`},Er={class:`border rounded-lg overflow-hidden`},Dr={key:1},Or={class:`text-primary font-medium`},kr={class:`grid grid-cols-2 gap-4`},Ar={class:`flex items-center justify-between text-sm`},jr={class:`text-muted-foreground`},Mr={class:`font-medium`},Nr={class:`flex items-center justify-between text-sm`},Pr={class:`text-muted-foreground`},Fr={class:`font-medium`},Ir={class:`flex items-center justify-between text-sm`},Lr={class:`text-muted-foreground`},Rr={class:`font-medium`},zr={class:`text-3xl font-bold text-primary`},Br={class:`text-xs text-muted-foreground mt-1`},Vr=g({__name:`TechnologyDetailView`,props:{technologyType:{},currentLevel:{}},setup(e){let{t}=I(),n=e,i=d(()=>{let e=n.currentLevel+10,t=[];for(let r=n.currentLevel;r<=e;r++)t.push(r);return t}),s=e=>e===0?{cost:{metal:0,crystal:0,deuterium:0},researchTime:0,points:0}:{cost:_e(n.technologyType,e),researchTime:S(n.technologyType,e-1),points:w(n.technologyType,e-1,e)},c=d(()=>{let e=0,t=0,n=0,r=0;for(let a of i.value){if(a===0)continue;let i=s(a);e+=i.cost.metal,t+=i.cost.crystal,n+=i.cost.deuterium,r+=i.points}return{metal:e,crystal:t,deuterium:n,points:r}});return(n,u)=>(m(),r(`div`,Tr,[l(`div`,Er,[h(a(Xn),null,{default:T(()=>[h(a(Qn),null,{default:T(()=>[h(a(W),null,{default:T(()=>[h(a(G),{class:`w-20 text-center`},{default:T(()=>[E(_(a(t)(`research.levelRange`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.metal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.crystal`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`resources.deuterium`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`research.researchTime`)),1)]),_:1}),h(a(G),{class:`text-center`},{default:T(()=>[E(_(a(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),h(a(Zn),null,{default:T(()=>[(m(!0),r(o,null,p(i.value,t=>(m(),v(a(W),{key:t,class:y({"bg-muted/50":t===e.currentLevel})},{default:T(()=>[h(a(U),{class:`text-center font-medium`},{default:T(()=>[t===e.currentLevel?(m(),v(a(z),{key:0,variant:`default`},{default:T(()=>[E(_(t),1)]),_:2},1024)):(m(),r(`span`,Dr,_(t),1))]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.metal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.crystal},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[h(X,{value:s(t).cost.deuterium},null,8,[`value`])]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[E(_(a(Q)(s(t).researchTime)),1)]),_:2},1024),h(a(U),{class:`text-center text-sm`},{default:T(()=>[l(`span`,Or,[u[0]||=E(` + `,-1),h(X,{value:s(t).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,kr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`research.totalCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[l(`div`,Ar,[l(`span`,jr,_(a(t)(`resources.metal`))+`:`,1),l(`span`,Mr,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,Nr,[l(`span`,Pr,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,Fr,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,Ir,[l(`span`,Lr,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Rr,[h(X,{value:c.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`research.totalPoints`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,zr,[h(X,{value:c.value.points},null,8,[`value`])]),l(`p`,Br,_(a(t)(`research.levelRange`))+`: `+_(Math.max(0,e.currentLevel-10))+` - `+_(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),Hr=g({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(m(),v(a(ft),b({"data-slot":`label`},a(n),{class:a(L)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:T(()=>[x(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ur={class:`space-y-4`},Wr={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Gr={class:`text-2xl font-bold`},Kr={class:`text-2xl font-bold`},qr={class:`text-2xl font-bold`},Jr={class:`text-2xl font-bold`},Yr={class:`text-2xl font-bold`},Xr={class:`text-2xl font-bold`},Zr={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Qr={key:0,class:`flex items-center justify-between text-sm`},$r={class:`text-muted-foreground`},ei={class:`font-medium`},ti={key:1,class:`flex items-center justify-between text-sm`},ni={class:`text-muted-foreground`},ri={class:`font-medium`},ii={key:2,class:`flex items-center justify-between text-sm`},ai={class:`text-muted-foreground`},oi={class:`font-medium`},si={class:`flex items-center justify-between text-sm pt-2 border-t`},ci={class:`text-muted-foreground`},li={class:`font-bold text-primary`},ui={class:`text-3xl font-bold`},di={class:`text-xs text-muted-foreground mt-2`},fi={class:`flex items-center gap-4`},pi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},mi={class:`space-y-2`},hi={class:`text-sm text-muted-foreground`},gi={class:`space-y-1 text-sm`},_i={class:`flex justify-between`},vi={class:`font-medium`},yi={class:`flex justify-between`},bi={class:`font-medium`},xi={class:`flex justify-between`},Si={class:`font-medium`},Ci={class:`space-y-2`},wi={class:`text-sm text-muted-foreground`},Ti={class:`text-xl font-bold`},Ei={class:`text-xs text-muted-foreground`},Di=g({__name:`ShipDetailView`,props:{shipType:{}},setup(e){let{t}=I(),n=e,i=d(()=>qt[n.shipType]),o=C(1),s=d(()=>be(n.shipType,1)),c=d(()=>({metal:i.value.cost.metal*o.value,crystal:i.value.cost.crystal*o.value,deuterium:i.value.cost.deuterium*o.value})),u=d(()=>be(n.shipType,o.value));return(e,n)=>(m(),r(`div`,Ur,[l(`div`,Wr,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Mt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.attack`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Gr,[h(X,{value:i.value.attack},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Vt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.shield`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Kr,[h(X,{value:i.value.shield},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Rt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.armor`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,qr,[h(X,{value:i.value.armor},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Ut),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.speed`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Jr,[h(X,{value:i.value.speed},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(kt),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.cargoCapacity`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Yr,[h(X,{value:i.value.cargoCapacity},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Ot),{class:`h-4 w-4`}),E(` `+_(a(t)(`shipyard.fuelConsumption`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Xr,[h(X,{value:i.value.fuelConsumption},null,8,[`value`])])]),_:1})]),_:1})]),l(`div`,Zr,[h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.buildCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[i.value.cost.metal>0?(m(),r(`div`,Qr,[l(`span`,$r,_(a(t)(`resources.metal`))+`:`,1),l(`span`,ei,[h(X,{value:i.value.cost.metal},null,8,[`value`])])])):D(``,!0),i.value.cost.crystal>0?(m(),r(`div`,ti,[l(`span`,ni,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,ri,[h(X,{value:i.value.cost.crystal},null,8,[`value`])])])):D(``,!0),i.value.cost.deuterium>0?(m(),r(`div`,ii,[l(`span`,ai,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,oi,[h(X,{value:i.value.cost.deuterium},null,8,[`value`])])])):D(``,!0),l(`div`,si,[l(`span`,ci,_(a(t)(`player.points`))+`:`,1),l(`span`,li,[h(X,{value:s.value},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.buildTime`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,ui,_(a(Q)(i.value.buildTime)),1),l(`p`,di,_(a(t)(`shipyard.perUnit`)),1)]),_:1})]),_:1})]),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`shipyard.batchCalculator`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-4`},{default:T(()=>[l(`div`,fi,[h(a(Hr),{class:`w-20`},{default:T(()=>[E(_(a(t)(`shipyard.quantity`))+`:`,1)]),_:1}),h(a(Tn),{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,pi,[l(`div`,mi,[l(`p`,hi,_(a(t)(`shipyard.totalCost`))+`:`,1),l(`div`,gi,[l(`div`,_i,[l(`span`,null,_(a(t)(`resources.metal`))+`:`,1),l(`span`,vi,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,yi,[l(`span`,null,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,bi,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,xi,[l(`span`,null,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Si,[h(X,{value:c.value.deuterium},null,8,[`value`])])])])]),l(`div`,Ci,[l(`p`,wi,_(a(t)(`shipyard.totalTime`))+`:`,1),l(`div`,Ti,_(a(Q)(i.value.buildTime*o.value)),1),l(`p`,Ei,[E(_(a(t)(`player.points`))+`: + `,1),h(X,{value:u.value},null,8,[`value`])])])])]),_:1})]),_:1})]))}}),Oi={class:`space-y-4`},ki={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Ai={class:`text-2xl font-bold`},ji={class:`text-2xl font-bold`},Mi={class:`text-2xl font-bold`},Ni={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Pi={key:0,class:`flex items-center justify-between text-sm`},Fi={class:`text-muted-foreground`},Ii={class:`font-medium`},Li={key:1,class:`flex items-center justify-between text-sm`},Ri={class:`text-muted-foreground`},zi={class:`font-medium`},Bi={key:2,class:`flex items-center justify-between text-sm`},Vi={class:`text-muted-foreground`},Hi={class:`font-medium`},Ui={class:`flex items-center justify-between text-sm pt-2 border-t`},Wi={class:`text-muted-foreground`},Gi={class:`font-bold text-primary`},Ki={class:`text-3xl font-bold`},qi={class:`text-xs text-muted-foreground mt-2`},Ji={class:`flex items-center gap-4`},Yi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},Xi={class:`space-y-2`},Zi={class:`text-sm text-muted-foreground`},Qi={class:`space-y-1 text-sm`},$i={class:`flex justify-between`},ea={class:`font-medium`},ta={class:`flex justify-between`},na={class:`font-medium`},ra={class:`flex justify-between`},ia={class:`font-medium`},aa={class:`space-y-2`},oa={class:`text-sm text-muted-foreground`},sa={class:`text-xl font-bold`},ca={class:`text-xs text-muted-foreground`},la=g({__name:`DefenseDetailView`,props:{defenseType:{}},setup(e){let{t}=I(),n=e,i=d(()=>Jt[n.defenseType]),o=C(1),s=d(()=>Se(n.defenseType,1)),c=d(()=>({metal:i.value.cost.metal*o.value,crystal:i.value.cost.crystal*o.value,deuterium:i.value.cost.deuterium*o.value})),u=d(()=>Se(n.defenseType,o.value));return(e,n)=>(m(),r(`div`,Oi,[l(`div`,ki,[h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Mt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.attack`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Ai,[h(X,{value:i.value.attack},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Vt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.shield`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,ji,[h(X,{value:i.value.shield},null,8,[`value`])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),{class:`pb-3`},{default:T(()=>[h(a(Y),{class:`text-sm flex items-center gap-2`},{default:T(()=>[h(a(Rt),{class:`h-4 w-4`}),E(` `+_(a(t)(`defense.armor`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Mi,[h(X,{value:i.value.armor},null,8,[`value`])])]),_:1})]),_:1})]),l(`div`,Ni,[h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.buildCost`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-2`},{default:T(()=>[i.value.cost.metal>0?(m(),r(`div`,Pi,[l(`span`,Fi,_(a(t)(`resources.metal`))+`:`,1),l(`span`,Ii,[h(X,{value:i.value.cost.metal},null,8,[`value`])])])):D(``,!0),i.value.cost.crystal>0?(m(),r(`div`,Li,[l(`span`,Ri,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,zi,[h(X,{value:i.value.cost.crystal},null,8,[`value`])])])):D(``,!0),i.value.cost.deuterium>0?(m(),r(`div`,Bi,[l(`span`,Vi,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,Hi,[h(X,{value:i.value.cost.deuterium},null,8,[`value`])])])):D(``,!0),l(`div`,Ui,[l(`span`,Wi,_(a(t)(`player.points`))+`:`,1),l(`span`,Gi,[h(X,{value:s.value},null,8,[`value`])])])]),_:1})]),_:1}),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.buildTime`)),1)]),_:1})]),_:1}),h(a(q),null,{default:T(()=>[l(`div`,Ki,_(a(Q)(i.value.buildTime)),1),l(`p`,qi,_(a(t)(`defense.perUnit`)),1)]),_:1})]),_:1})]),h(a(K),null,{default:T(()=>[h(a(J),null,{default:T(()=>[h(a(Y),{class:`text-sm`},{default:T(()=>[E(_(a(t)(`defense.batchCalculator`)),1)]),_:1})]),_:1}),h(a(q),{class:`space-y-4`},{default:T(()=>[l(`div`,Ji,[h(a(Hr),{class:`w-20`},{default:T(()=>[E(_(a(t)(`defense.quantity`))+`:`,1)]),_:1}),h(a(Tn),{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,Yi,[l(`div`,Xi,[l(`p`,Zi,_(a(t)(`defense.totalCost`))+`:`,1),l(`div`,Qi,[l(`div`,$i,[l(`span`,null,_(a(t)(`resources.metal`))+`:`,1),l(`span`,ea,[h(X,{value:c.value.metal},null,8,[`value`])])]),l(`div`,ta,[l(`span`,null,_(a(t)(`resources.crystal`))+`:`,1),l(`span`,na,[h(X,{value:c.value.crystal},null,8,[`value`])])]),l(`div`,ra,[l(`span`,null,_(a(t)(`resources.deuterium`))+`:`,1),l(`span`,ia,[h(X,{value:c.value.deuterium},null,8,[`value`])])])])]),l(`div`,aa,[l(`p`,oa,_(a(t)(`defense.totalTime`))+`:`,1),l(`div`,sa,_(a(Q)(i.value.buildTime*o.value)),1),l(`p`,ca,[E(_(a(t)(`player.points`))+`: + `,1),h(X,{value:u.value},null,8,[`value`])])])])]),_:1})]),_:1})]))}}),ua={class:`overflow-y-auto px-6 pb-6`},da={class:`overflow-y-auto px-6 pb-6`},fa={class:`overflow-y-auto px-6 pb-6`},pa={class:`overflow-y-auto px-6 pb-6`},ma=g({__name:`DetailDialog`,setup(e){let{t}=I(),n=Jn(),i=e=>{e||n.close()};return(e,s)=>(m(),v(a(Gn),{open:a(n).isOpen,"onUpdate:open":i},{default:T(()=>[h(a(qn),{class:`max-w-[calc(100%-1rem)] sm:max-w-[90vw] md:max-w-3xl lg:max-w-4xl max-h-[90vh] flex flex-col p-0`},{default:T(()=>[a(n).type===`building`&&a(n).itemType?(m(),r(o,{key:0},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),{class:`flex items-center gap-2`},{default:T(()=>[E(_(a(t)(`buildings.${a(n).itemType}`))+` `,1),h(a(z),{variant:`outline`},{default:T(()=>[E(_(a(t)(`common.currentLevel`))+` `+_(a(n).currentLevel||0),1)]),_:1})]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`buildingDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,ua,[h(wr,{buildingType:a(n).itemType,currentLevel:a(n).currentLevel||0},null,8,[`buildingType`,`currentLevel`])])],64)):a(n).type===`technology`&&a(n).itemType?(m(),r(o,{key:1},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),{class:`flex items-center gap-2`},{default:T(()=>[E(_(a(t)(`technologies.${a(n).itemType}`))+` `,1),h(a(z),{variant:`outline`},{default:T(()=>[E(_(a(t)(`common.currentLevel`))+` `+_(a(n).currentLevel||0),1)]),_:1})]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`technologyDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,da,[h(Vr,{technologyType:a(n).itemType,currentLevel:a(n).currentLevel||0},null,8,[`technologyType`,`currentLevel`])])],64)):a(n).type===`ship`&&a(n).itemType?(m(),r(o,{key:2},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),null,{default:T(()=>[E(_(a(t)(`ships.${a(n).itemType}`)),1)]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`shipDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,fa,[h(Di,{shipType:a(n).itemType},null,8,[`shipType`])])],64)):a(n).type===`defense`&&a(n).itemType?(m(),r(o,{key:3},[h(a(V),{class:`px-6 pt-6 pb-4 shrink-0`},{default:T(()=>[h(a(H),null,{default:T(()=>[E(_(a(t)(`defenses.${a(n).itemType}`)),1)]),_:1}),h(a(B),null,{default:T(()=>[E(_(a(t)(`defenseDescriptions.${a(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,pa,[h(la,{defenseType:a(n).itemType},null,8,[`defenseType`])])],64)):D(``,!0)]),_:1})]),_:1},8,[`open`]))}}),ha=g({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){let t=e;return(e,n)=>(m(),v(a(We),b({class:a(L)(`toaster group`,t.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},t),{"success-icon":T(()=>[h(a(xt),{class:`size-4`})]),"info-icon":T(()=>[h(a(bt),{class:`size-4`})]),"warning-icon":T(()=>[h(a(Bt),{class:`size-4`})]),"error-icon":T(()=>[h(a(St),{class:`size-4`})]),"loading-icon":T(()=>[l(`div`,null,[h(a(Dt),{class:`size-4 animate-spin`})])]),"close-icon":T(()=>[h(a(zt),{class:`size-4`})]),_:1},16,[`class`]))}});const ga=()=>{try{let e=P.name,t=`${P.name}-universe`,n=localStorage.getItem(e);if(!n)return;let r;try{r=Zt(n)}catch{try{r=JSON.parse(n)}catch{return}}if(!(r.universePlanets||r.debrisFields))return;let i={planets:{},debrisFields:{}};if(r.universePlanets){let e=r.universePlanets,t=r.player?.planets||[],n=new Set(t.map(e=>e.id));Object.entries(e).forEach(([e,t])=>{n.has(t.id)||(i.planets[e]=t)}),delete r.universePlanets}r.debrisFields&&(i.debrisFields=r.debrisFields,delete r.debrisFields),localStorage.setItem(t,Xt(i)),localStorage.setItem(e,Xt(r))}catch(e){console.error(e)}};var _a={class:`flex items-center justify-center p-4 group-data-[collapsible=icon]:p-2`},va={class:`text-xl font-bold ml-2 group-data-[collapsible=icon]:hidden`},ya={class:`px-4 py-3 space-y-2 text-sm`},ba={class:`font-semibold mb-1`},xa={class:`text-muted-foreground text-xs`},Sa={class:`bg-muted/50 rounded-lg p-2`},Ca={class:`flex items-center justify-between`},wa={class:`text-xs text-muted-foreground`},Ta={class:`text-sm font-bold text-primary`},Ea={key:0,class:`flex gap-1`},Da={class:`space-y-1`},Oa={class:`flex flex-col h-full overflow-hidden`},ka={key:0,class:`bg-card border-b px-4 sm:px-6 py-6.5 shadow-md`},Aa={class:`flex items-center justify-between gap-3 sm:gap-6`},ja={class:`lg:flex-1`},Ma={class:`flex items-center gap-3 sm:gap-6 flex-1 lg:flex-none overflow-x-auto lg:justify-center`},Na={class:`min-w-0`},Pa={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},Fa={class:`flex items-center gap-2 sm:gap-4 flex-shrink-0 lg:flex-1 lg:justify-end`},Ia={key:0,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},La={class:`text-muted-foreground hidden sm:inline`},Ra={key:1,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},za={class:`text-muted-foreground hidden sm:inline`},Ba={key:1,class:`bg-card border-b px-4 sm:px-6 py-4.5`},Va={class:`space-y-3`},Ha={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},Ua={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Wa={class:`font-medium truncate`},Ga={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},Ka={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},qa={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},Ja={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},Ya={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Xa={class:`font-medium truncate`},Za={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},Qa={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},$a={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},eo={class:`flex-1 overflow-y-auto`},to={class:`animate-fade-in`},no=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(g({__name:`App`,setup(e){ga();let c=Qt(),u=$t(),{isDark:f}=en(),{t:g}=I(),b=C(null),x=[`zh-CN`,`zh-TW`,`en`,`de`,`ru`,`ko`,`ja`],S=C(window.innerWidth>=1024),de=async()=>{if(!ae(c.player.planets)){let e=Date.now(),n=Ce(c.player.officers,e);c.player.planets.forEach(r=>{t(r,e,n)}),pe();return}c.player=ne(c.player.id,g(`common.playerName`));let e=Te(c.player.id,g(`planet.homePlanet`));c.player.planets=[e],c.currentPlanetId=e.id},pe=()=>{for(let e=0;e<200;e++){let t=i(),n=Me(t.galaxy,t.system,t.position);if(u.planets[n])continue;let r=xe(e,t,g(`planet.planetPrefix`));u.planets[n]=r}},me=()=>{if(c.isPaused)return;let e=Date.now();c.gameTime=e,re(c.player.officers,e);let t=ie(c.player,e);c.player.researchQueue=t.updatedResearchQueue,c.player.fleetMissions.forEach(t=>{t.status===`outbound`&&e>=t.arrivalTime?he(t):t.status===`returning`&&t.returnTime&&e>=t.returnTime&&_e(t)})},he=async e=>{let t=Me(e.targetPosition.galaxy,e.targetPosition.system,e.targetPosition.position),n=c.player.planets.find(t=>t.position.galaxy===e.targetPosition.galaxy&&t.position.system===e.targetPosition.system&&t.position.position===e.targetPosition.position)||u.planets[t];if(e.missionType===N.Transport)Ae(e,n);else if(e.missionType===N.Attack){let t=await ve(e,n,c.player,null,c.player.planets);t&&(c.player.battleReports.push(t.battleResult),t.moon&&c.player.planets.push(t.moon),t.debrisField&&(u.debrisFields[t.debrisField.id]=t.debrisField))}else if(e.missionType===N.Colonize){let t=ge(e,n,c.player.id,g(`planet.colonyPrefix`));t&&c.player.planets.push(t)}else if(e.missionType===N.Spy){let t=fe(e,n,c.player.id);t&&c.player.spyReports.push(t)}else if(e.missionType===N.Deploy){if(ue(e,n,c.player.id)){let t=c.player.fleetMissions.indexOf(e);t>-1&&c.player.fleetMissions.splice(t,1);return}}else if(e.missionType===N.Recycle){let t=`debris_${e.targetPosition.galaxy}_${e.targetPosition.system}_${e.targetPosition.position}`,n=u.debrisFields[t],r=je(e,n);r&&n&&(r.remainingDebris&&(r.remainingDebris.metal>0||r.remainingDebris.crystal>0)?u.debrisFields[t]={id:n.id,position:n.position,resources:r.remainingDebris,createdAt:n.createdAt,expiresAt:n.expiresAt}:delete u.debrisFields[t])}else if(e.missionType===N.Destroy){let r=De(e,n,c.player);if(r&&r.success&&r.planetId){let e=c.player.planets.findIndex(e=>e.id===r.planetId);e>-1?c.player.planets.splice(e,1):delete u.planets[t]}}},_e=e=>{let t=c.player.planets.find(t=>t.id===e.originPlanetId);if(!t)return;ye(t.fleet,e.fleet),ee(t.resources,e.cargo);let n=c.player.fleetMissions.indexOf(e);n>-1&&c.player.fleetMissions.splice(n,1)},w=null;te(()=>{w&&clearInterval(w)}),oe(async()=>{c.player.planets.length===0&&(c.locale=He()),await de(),w=setInterval(()=>{me()},1e3)});let O=d(()=>c.currentPlanet),be=[{name:d(()=>g(`nav.overview`)),path:`/`,icon:Ft},{name:d(()=>g(`nav.buildings`)),path:`/buildings`,icon:Tt},{name:d(()=>g(`nav.research`)),path:`/research`,icon:wt},{name:d(()=>g(`nav.shipyard`)),path:`/shipyard`,icon:Nt},{name:d(()=>g(`nav.defense`)),path:`/defense`,icon:Vt},{name:d(()=>g(`nav.fleet`)),path:`/fleet`,icon:jt},{name:d(()=>g(`nav.officers`)),path:`/officers`,icon:Ht},{name:d(()=>g(`nav.simulator`)),path:`/battle-simulator`,icon:Lt},{name:d(()=>g(`nav.galaxy`)),path:`/galaxy`,icon:Et},{name:d(()=>g(`nav.messages`)),path:`/messages`,icon:Ct},{name:d(()=>g(`nav.settings`)),path:`/settings`,icon:Pt},...[]],Se=d(()=>{if(!O.value)return null;let e=Date.now(),t=Ce(c.player.officers,e);return se(O.value,{resourceProductionBonus:t.resourceProductionBonus,darkMatterProductionBonus:t.darkMatterProductionBonus,energyProductionBonus:t.energyProductionBonus})}),we=d(()=>{if(!O.value)return null;let e=Date.now(),t=Ce(c.player.officers,e);return le(O.value,t.storageCapacityBonus)}),Ee=d(()=>c.player.battleReports.filter(e=>!e.read).length+c.player.spyReports.filter(e=>!e.read).length),ke=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],k=d(()=>!O.value||O.value.isMoon?null:c.getMoonForPlanet(O.value.id)),Ne=d(()=>!!k.value),A=()=>{k.value&&(c.currentPlanetId=k.value.id)},Pe=()=>{O.value?.parentPlanetId&&(c.currentPlanetId=O.value.parentPlanetId)},Fe=()=>{S.value=!S.value},Le=e=>{if(e.type===`building`||e.type===`demolish`){let t=g(`buildings.${e.itemType}`);return e.type===`demolish`?`${g(`buildingsView.demolish`)} - ${t}`:t}else if(e.type===`technology`)return g(`technologies.${e.itemType}`);else if(e.type===`ship`)return g(`ships.${e.itemType}`);else if(e.type===`defense`)return g(`defenses.${e.itemType}`);return e.itemType},ze=e=>{let t=Date.now();return Math.max(0,Math.floor((e.endTime-t)/1e3))},Ve=e=>{let t=Date.now(),n=e.endTime-e.startTime,r=t-e.startTime;return Math.min(100,Math.max(0,r/n*100))},Ue=e=>{b.value?.show({title:g(`queue.cancelBuild`),message:g(`queue.confirmCancel`),onConfirm:()=>{if(!c.currentPlanet)return!1;let{item:t,index:r}=n(c.currentPlanet.buildQueue,e);if(!t)return!1;if(t.type===`building`){let e=s(c.currentPlanet,t);ee(c.currentPlanet.resources,e)}return c.currentPlanet.buildQueue.splice(r,1),!0}})},j=e=>{b.value?.show({title:g(`queue.cancelResearch`),message:g(`queue.confirmCancel`),onConfirm:()=>{if(!c.currentPlanet)return!1;let{item:t,index:r}=n(c.player.researchQueue,e);if(!t)return!1;if(t.type===`technology`){let e=Oe(t);ee(c.currentPlanet.resources,e)}return c.player.researchQueue.splice(r,1),!0}})};return(e,t)=>(m(),v(a(Fn),{open:S.value,"onUpdate:open":t[1]||=e=>S.value=e},{default:T(()=>[h(a(bn),{collapsible:`icon`},{default:T(()=>[h(a(wn),{class:`border-b`},{default:T(()=>[l(`div`,_a,[t[2]||=l(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10 group-data-[collapsible=icon]:w-8`},null,-1),l(`h1`,va,_(a(P).title),1)])]),_:1}),h(a(xn),null,{default:T(()=>[O.value?(m(),v(a(Cn),{key:0,class:`border-b group-data-[collapsible=icon]:hidden`},{default:T(()=>[l(`div`,ya,[l(`div`,null,[l(`p`,ba,[E(_(O.value.name)+` `,1),O.value.isMoon?(m(),v(a(z),{key:0,variant:`secondary`,class:`ml-1 text-xs`},{default:T(()=>[E(_(a(g)(`planet.moon`)),1)]),_:1})):D(``,!0)]),l(`p`,xa,` [`+_(O.value.position.galaxy)+`:`+_(O.value.position.system)+`:`+_(O.value.position.position)+`] `,1)]),l(`div`,Sa,[l(`div`,Ca,[l(`span`,wa,_(a(g)(`player.points`)),1),l(`span`,Ta,_(a(Z)(a(c).player.points)),1)])]),Ne.value||O.value.isMoon?(m(),r(`div`,Ea,[O.value.isMoon?(m(),v(a(R),{key:0,onClick:Pe,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:T(()=>[E(_(a(g)(`planet.backToPlanet`)),1)]),_:1})):k.value?(m(),v(a(R),{key:1,onClick:A,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:T(()=>[E(_(a(g)(`planet.switchToMoon`)),1)]),_:1})):D(``,!0)])):D(``,!0)])]),_:1})):D(``,!0),h(a(Cn),null,{default:T(()=>[h(a(Dn),null,{default:T(()=>[(m(),r(o,null,p(be,t=>h(a(Pn),{key:t.path},{default:T(()=>[h(a(Nn),{"as-child":``,"is-active":e.$route.path===t.path,tooltip:t.name.value},{default:T(()=>[h(a(Re),{to:t.path},{default:T(()=>[(m(),v(ce(t.icon))),l(`span`,null,_(t.name.value),1),t.path===`/messages`&&Ee.value>0?(m(),v(a(On),{key:0},{default:T(()=>[E(_(Ee.value),1)]),_:1})):D(``,!0)]),_:2},1032,[`to`])]),_:2},1032,[`is-active`,`tooltip`])]),_:2},1024)),64))]),_:1})]),_:1})]),_:1}),h(a(Sn),{class:`border-t`},{default:T(()=>[h(a(Dn),null,{default:T(()=>[h(a(Pn),null,{default:T(()=>[h(a(an),null,{default:T(()=>[h(a(sn),{"as-child":``},{default:T(()=>[h(a(Nn),{tooltip:a(Be)[a(c).locale]},{default:T(()=>[h(a(It)),l(`span`,null,_(a(Be)[a(c).locale]),1)]),_:1},8,[`tooltip`])]),_:1}),h(a(on),{class:`w-48 p-2`,side:`right`,align:`end`},{default:T(()=>[l(`div`,Da,[(m(),r(o,null,p(x,e=>h(a(R),{key:e,onClick:t=>a(c).locale=e,variant:a(c).locale===e?`secondary`:`ghost`,class:`w-full justify-start`,size:`sm`},{default:T(()=>[E(_(a(Be)[e]),1)]),_:2},1032,[`onClick`,`variant`])),64))])]),_:1})]),_:1})]),_:1}),h(a(Pn),null,{default:T(()=>[h(a(Nn),{onClick:t[0]||=e=>f.value=!a(f),tooltip:a(f)?a(g)(`sidebar.lightMode`):a(g)(`sidebar.darkMode`)},{default:T(()=>[a(f)?(m(),v(a(Wt),{key:0})):(m(),v(a(Gt),{key:1})),l(`span`,null,_(a(f)?a(g)(`sidebar.lightMode`):a(g)(`sidebar.darkMode`)),1)]),_:1},8,[`tooltip`])]),_:1}),h(a(Pn),{class:`hidden sm:inline`},{default:T(()=>[h(a(Nn),{onClick:Fe,tooltip:S.value?a(g)(`sidebar.collapse`):a(g)(`sidebar.expand`)},{default:T(()=>[h(a(At),{class:`group-data-[state=collapsed]:rotate-180 transition-transform`}),l(`span`,null,_(a(g)(`sidebar.collapse`)),1)]),_:1},8,[`tooltip`])]),_:1})]),_:1})]),_:1})]),_:1}),h(a(En),null,{default:T(()=>[l(`div`,Oa,[O.value?(m(),r(`header`,ka,[l(`div`,Aa,[l(`div`,ja,[h(a(In),{class:`lg:hidden`})]),l(`div`,Ma,[(m(),r(o,null,p(ke,e=>l(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2 flex-shrink-0`},[h(Rn,{type:e.key,size:`md`},null,8,[`type`]),l(`div`,Na,[l(`p`,{class:y([`text-xs sm:text-sm font-medium truncate`,a(tr)(O.value.resources[e.key],we.value?.[e.key]||1/0)])},_(a(Z)(O.value.resources[e.key]))+` / `+_(a(Z)(we.value?.[e.key]||0)),3),l(`p`,Pa,` +`+_(a(Z)(Math.round((Se.value?.[e.key]||0)/60)))+`/`+_(a(g)(`resources.perMinute`)),1)])])),64))]),l(`div`,Fa,[O.value.buildQueue.length>0?(m(),r(`div`,Ia,[t[3]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse`},null,-1),l(`span`,La,_(a(g)(`queue.building`)),1)])):D(``,!0),a(c).player.researchQueue.length>0?(m(),r(`div`,Ra,[t[4]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse`},null,-1),l(`span`,za,_(a(g)(`queue.researching`)),1)])):D(``,!0)])])])):D(``,!0),O.value&&(O.value.buildQueue.length>0||a(c).player.researchQueue.length>0)?(m(),r(`div`,Ba,[l(`div`,Va,[(m(!0),r(o,null,p(O.value.buildQueue,e=>(m(),r(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,Ha,[l(`div`,Ua,[t[5]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,Wa,_(Le(e)),1),l(`span`,Ga,[e.type===`ship`||e.type===`defense`?(m(),r(o,{key:0},[E(` → `+_(a(g)(`queue.quantity`))+` `+_(e.quantity),1)],64)):(m(),r(o,{key:1},[E(`→ `+_(a(g)(`queue.level`))+` `+_(e.targetLevel),1)],64))])]),l(`div`,Ka,[l(`span`,qa,_(a(Q)(ze(e))),1),h(a(R),{onClick:t=>Ue(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:T(()=>[E(_(a(g)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),h(a(rn),{"model-value":Ve(e),class:`h-1.5`},null,8,[`model-value`])]))),128)),(m(!0),r(o,null,p(a(c).player.researchQueue,e=>(m(),r(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,Ja,[l(`div`,Ya,[t[6]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,Xa,_(Le(e)),1),l(`span`,Za,` → `+_(a(g)(`queue.level`))+` `+_(e.targetLevel),1)]),l(`div`,Qa,[l(`span`,$a,_(a(Q)(ze(e))),1),h(a(R),{onClick:t=>j(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:T(()=>[E(_(a(g)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),h(a(rn),{"model-value":Ve(e),class:`h-1.5`},null,8,[`model-value`])]))),128))])])):D(``,!0),l(`main`,eo,[l(`div`,to,[h(a(Ie))])])])]),_:1}),h(Wn,{ref_key:`confirmDialog`,ref:b},null,512),h(ma),h(ha,{position:`top-center`})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-784f12ab`]]),ro=`modulepreload`,io=function(e,t){return new URL(e,t).href},ao={};const $=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=io(t,n),t in ao)return;ao[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ro,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var oo=Le({history:Fe(),routes:[{path:`/`,name:`overview`,component:()=>$(()=>import(`./OverviewView-Eaupz5BG.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)},{path:`/buildings`,name:`buildings`,component:()=>$(()=>import(`./BuildingsView-BQvU9Qow.js`),__vite__mapDeps([14,1,2,3,4,5,6,7,8,9,15,10,16,17,12,11,13]),import.meta.url)},{path:`/research`,name:`research`,component:()=>$(()=>import(`./ResearchView-B3XsR2nC.js`),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/shipyard`,name:`shipyard`,component:()=>$(()=>import(`./ShipyardView-CezaC9x_.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/defense`,name:`defense`,component:()=>$(()=>import(`./DefenseView-DuI03pUa.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,15,10,19,16,17,12,20,11,13]),import.meta.url)},{path:`/fleet`,name:`fleet`,component:()=>$(()=>import(`./FleetView-BBGER_SR.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,15,10,19,16,20,11,12,13]),import.meta.url)},{path:`/officers`,name:`officers`,component:()=>$(()=>import(`./OfficersView-Dfgf1DR0.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,16,11,12,13]),import.meta.url)},{path:`/battle-simulator`,name:`battle-simulator`,component:()=>$(()=>import(`./BattleSimulatorView-BDzc1XdU.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,15,10,26,27,12,11,13]),import.meta.url)},{path:`/messages`,name:`messages`,component:()=>$(()=>import(`./MessagesView-DpnWNQDD.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,9,15,10,26,27,12,11,13]),import.meta.url)},{path:`/galaxy`,name:`galaxy`,component:()=>$(()=>import(`./GalaxyView-TxzLJXed.js`),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,15,10,19,16,11,30,27,13]),import.meta.url)},{path:`/settings`,name:`settings`,component:()=>$(()=>import(`./SettingsView-C1jUcCe5.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,15,10,11,13]),import.meta.url)},{path:`/gm`,name:`gm`,component:()=>$(()=>import(`./GMView-Cql_sk5m.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,15,10,11,30,12,13]),import.meta.url),beforeEnter:(e,t,n)=>{n(`/`)}}]}),so=k(no),co=Ne();co.use(Pe),so.use(co),so.use(oo),so.mount(`#app`);export{z as A,Wn as C,kn as D,An as E,$t as F,Qt as I,P as L,R as M,L as N,Tn as O,I as P,Gn as S,jn as T,Jn as _,tr as a,B as b,J as c,Qn as d,G as f,Xn as g,Zn as h,Q as i,tn as j,rn as k,q as l,U as m,nr as n,rr as o,W as p,Z as r,Y as s,Hr as t,K as u,H as v,Rn as w,qn as x,V as y}; \ No newline at end of file diff --git a/docs/assets/index-Woj5fYlK.css b/docs/assets/index-Woj5fYlK.css deleted file mode 100644 index 60eec93..0000000 --- a/docs/assets/index-Woj5fYlK.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:#fef2f2;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-600:#e40014;--color-red-700:#bf000f;--color-red-950:#460809;--color-orange-500:#fe6e00;--color-amber-50:#fffbeb;--color-amber-200:#fee685;--color-amber-400:#fcbb00;--color-amber-700:#b75000;--color-amber-800:#953d00;--color-amber-950:#461901;--color-yellow-400:#fac800;--color-yellow-600:#cd8900;--color-green-50:#f0fdf4;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-700:#008138;--color-green-950:#032e15;--color-emerald-600:#009767;--color-cyan-400:#00d2ef;--color-blue-50:#eff6ff;--color-blue-300:#90c5ff;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-blue-950:#162456;--color-indigo-900:#312c85;--color-purple-600:#9810fa;--color-slate-400:#90a1b9;--color-slate-600:#45556c;--color-gray-50:#f9fafb;--color-gray-300:#d1d5dc;--color-gray-700:#364153;--color-gray-950:#030712;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18511 1.52329);--color-red-300:lab(76.5514% 36.4219 15.5335);--color-red-400:lab(63.7053% 60.7449 31.3109);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-950:lab(13.003% 29.04 16.7519);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-amber-50:lab(98.6252% -.635982 8.42309);--color-amber-200:lab(91.7203% -.505269 49.9084);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-amber-800:lab(37.8823% 37.1699 52.2718);--color-amber-950:lab(15.8111% 20.9107 23.3752);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-600:lab(62.7799% 22.4198 86.1544);--color-green-50:lab(98.1563% -5.60117 2.75913);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8072);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-green-950:lab(15.6845% -20.4225 11.7249);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-cyan-400:lab(76.6045% -40.9406 -29.6231);--color-blue-50:lab(96.492% -1.14647 -5.11479);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-400:lab(65.0361% -1.42062 -56.9803);--color-blue-500:lab(54.1736% 13.3368 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-blue-950:lab(15.6723% 8.86233 -32.2945);--color-indigo-900:lab(23.3911% 24.6978 -50.4719);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-600:lab(35.5623% -1.74978 -15.4316);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-950:lab(1.90334% .278696 -5.48866)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}html{transition:background-color .3s,color .3s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{border-radius:var(--radius);background-color:var(--border)}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-6{left:calc(var(--spacing)*-6)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[var\(--reka-select-trigger-height\)\]{height:var(--reka-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--reka-select-content-available-height\){max-height:var(--reka-select-content-available-height)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-20{width:calc(var(--spacing)*20)}.w-48{width:calc(var(--spacing)*48)}.w-72{width:calc(var(--spacing)*72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[calc\(100\%-1rem\)\]{max-width:calc(100% - 1rem)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--reka-select-trigger-width\)\]{min-width:var(--reka-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--reka-popover-content-transform-origin\){transform-origin:var(--reka-popover-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-background{border-color:var(--background)}.border-blue-300{border-color:var(--color-blue-300)}.border-border{border-color:var(--border)}.border-destructive,.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background,.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-400{--tw-gradient-from:var(--color-slate-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-900{--tw-gradient-to:var(--color-indigo-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-600{--tw-gradient-to:var(--color-slate-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-4\.5{padding-block:calc(var(--spacing)*4.5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-6\.5{padding-block:calc(var(--spacing)*6.5)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.paused{animation-play-state:paused}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=collapsed\]\:rotate-180:is(:where(.group)[data-state=collapsed] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:mb-2{margin-bottom:calc(var(--spacing)*2)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:h-3{height:calc(var(--spacing)*3)}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:h-6{height:calc(var(--spacing)*6)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:w-12{width:calc(var(--spacing)*12)}.sm\:max-w-\[90vw\]{max-width:90vw}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}:where(.sm\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-2{padding-inline:calc(var(--spacing)*2)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:w-full{width:100%}.md\:max-w-3xl{max-width:var(--container-3xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:flex-1{flex:1}.lg\:flex-none{flex:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:justify-center{justify-content:center}.lg\:justify-end{justify-content:flex-end}}.dark\:border-amber-800:is(.dark *){border-color:var(--color-amber-800)}.dark\:border-blue-700:is(.dark *){border-color:var(--color-blue-700)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-amber-950\/30:is(.dark *){background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)30%,transparent)}}.dark\:bg-blue-950:is(.dark *){background-color:var(--color-blue-950)}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-gray-950:is(.dark *){background-color:var(--color-gray-950)}.dark\:bg-green-950:is(.dark *){background-color:var(--color-green-950)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:bg-red-950\/20:is(.dark *){background-color:#46080933}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]),.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-4 svg:not([class*="'size-'"]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\\\'text-\\\'\]\)\]\:text-muted-foreground svg:not([class*="'text-'"]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#fcfcfc;--foreground:#020618;--card:#fff;--card-foreground:#020618;--popover:#fff;--popover-foreground:#020618;--primary:#0f172b;--primary-foreground:#f8fafc;--secondary:#f1f5f9;--secondary-foreground:#0f172b;--muted:#f1f5f9;--muted-foreground:#62748e;--accent:#f1f5f9;--accent-foreground:#0f172b;--destructive:#e40014;--border:#e2e8f0;--input:#e2e8f0;--ring:#90a1b9;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--sidebar:#f8fafc;--sidebar-foreground:#020618;--sidebar-primary:#0f172b;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#f1f5f9;--sidebar-accent-foreground:#0f172b;--sidebar-border:#e2e8f0;--sidebar-ring:#90a1b9}@supports (color:lab(0% 0 0)){:root{--background:lab(98.84% 0 0);--foreground:lab(1.76974% 1.32743 -9.28855);--card:lab(100% 0 0);--card-foreground:lab(1.76974% 1.32743 -9.28855);--popover:lab(100% 0 0);--popover-foreground:lab(1.76974% 1.32743 -9.28855);--primary:lab(7.78673% 1.82346 -15.0537);--primary-foreground:lab(98.1434% -.369549 -1.05968);--secondary:lab(96.286% -.852466 -2.46847);--secondary-foreground:lab(7.78673% 1.82346 -15.0537);--muted:lab(96.286% -.852466 -2.46847);--muted-foreground:lab(48.0876% -2.03595 -16.5814);--accent:lab(96.286% -.852466 -2.46847);--accent-foreground:lab(7.78673% 1.82346 -15.0537);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(91.7353% -.998765 -4.76968);--input:lab(91.7353% -.998765 -4.76968);--ring:lab(65.5349% -2.25151 -14.5072);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.1434% -.369549 -1.05968);--sidebar-foreground:lab(1.76974% 1.32743 -9.28855);--sidebar-primary:lab(7.78673% 1.82346 -15.0537);--sidebar-primary-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-accent:lab(96.286% -.852466 -2.46847);--sidebar-accent-foreground:lab(7.78673% 1.82346 -15.0537);--sidebar-border:lab(91.7353% -.998765 -4.76968);--sidebar-ring:lab(65.5349% -2.25151 -14.5072)}}.dark{--background:#020307;--foreground:#f8fafc;--card:#070b14;--card-foreground:#f8fafc;--popover:#070b14;--popover-foreground:#f8fafc;--primary:#76aaed;--primary-foreground:#f8fafc;--secondary:#1b222e;--secondary-foreground:#f8fafc;--muted:#1b222e;--muted-foreground:#72839a;--accent:#1b222e;--accent-foreground:#f8fafc;--destructive:#dc414a;--border:#1b222e;--input:#1b222e;--ring:#6a7282;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#070b14;--sidebar-foreground:#f8fafc;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#1b222e;--sidebar-accent-foreground:#f8fafc;--sidebar-border:#1b222e;--sidebar-ring:#6a7282}@supports (color:lab(0% 0 0)){.dark{--background:lab(.879473% .0693277 -1.61465);--foreground:lab(98.1434% -.369549 -1.05968);--card:lab(2.98047% .150263 -4.74351);--card-foreground:lab(98.1434% -.369549 -1.05968);--popover:lab(2.98047% .150263 -4.74351);--popover-foreground:lab(98.1434% -.369549 -1.05968);--primary:lab(68.0384% -3.53837 -39.6946);--primary-foreground:lab(98.1434% -.369549 -1.05968);--secondary:lab(12.8805% -.587493 -9.04602);--secondary-foreground:lab(98.1434% -.369549 -1.05968);--muted:lab(12.8805% -.587493 -9.04602);--muted-foreground:lab(53.9284% -2.13248 -14.4608);--accent:lab(12.8805% -.587493 -9.04602);--accent-foreground:lab(98.1434% -.369549 -1.05968);--destructive:lab(52.0859% 60.8796 32.2468);--border:lab(12.8805% -.587493 -9.04602);--input:lab(12.8805% -.587493 -9.04602);--ring:lab(47.7841% -.393212 -10.0268);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4329 31.4532);--sidebar:lab(2.98047% .150263 -4.74351);--sidebar-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-accent:lab(12.8805% -.587493 -9.04602);--sidebar-accent-foreground:lab(98.1434% -.369549 -1.05968);--sidebar-border:lab(12.8805% -.587493 -9.04602);--sidebar-ring:lab(47.7841% -.393212 -10.0268)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out fade-in}aside nav a{transition:all .2s}aside nav a:hover button{transform:translate(4px)}@keyframes pulse-resource{0%,to{opacity:1}50%{opacity:.8}}.resource-pulse{animation:2s ease-in-out infinite pulse-resource}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}main[data-v-784f12ab]{scroll-behavior:smooth} diff --git a/docs/assets/rolldown-runtime-CIDIeb-o.js b/docs/assets/rolldown-runtime-CIDIeb-o.js new file mode 100644 index 0000000..b2c99eb --- /dev/null +++ b/docs/assets/rolldown-runtime-CIDIeb-o.js @@ -0,0 +1 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=e=>{let n={};for(var r in e)t(n,r,{get:e[r],enumerable:!0});return n},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function.")});export{l as i,s as n,u as r,o as t}; \ No newline at end of file diff --git a/docs/assets/rolldown-runtime-tX5UdD3f.js b/docs/assets/rolldown-runtime-tX5UdD3f.js deleted file mode 100644 index d493c23..0000000 --- a/docs/assets/rolldown-runtime-tX5UdD3f.js +++ /dev/null @@ -1 +0,0 @@ -var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=e=>{let n={};for(var r in e)t(n,r,{get:e[r],enumerable:!0});return n},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>l(t({},`__esModule`,{value:!0}),e),f=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function.")});export{d as a,f as i,o as n,u as o,c as r,s as t}; \ No newline at end of file diff --git a/docs/assets/useGameConfig-B5wf1i8i.js b/docs/assets/useGameConfig-B5wf1i8i.js deleted file mode 100644 index addfd0d..0000000 --- a/docs/assets/useGameConfig-B5wf1i8i.js +++ /dev/null @@ -1 +0,0 @@ -import{Et as e}from"./game-logic-CfBcTF_c.js";import{c as t,d as n,h as r,l as i,m as a,n as o,o as s,p as c,r as l,u}from"./game-config-D-D7cMgJ.js";import{P as d}from"./index-DWmvUlvu.js";const f=()=>{let{t:f}=d(),p={[u.MetalMine]:`metalMine`,[u.CrystalMine]:`crystalMine`,[u.DeuteriumSynthesizer]:`deuteriumSynthesizer`,[u.SolarPlant]:`solarPlant`,[u.RoboticsFactory]:`roboticsFactory`,[u.NaniteFactory]:`naniteFactory`,[u.Shipyard]:`shipyard`,[u.ResearchLab]:`researchLab`,[u.MetalStorage]:`metalStorage`,[u.CrystalStorage]:`crystalStorage`,[u.DeuteriumTank]:`deuteriumTank`,[u.DarkMatterCollector]:`darkMatterCollector`,[u.Terraformer]:`terraformer`,[u.LunarBase]:`lunarBase`,[u.SensorPhalanx]:`sensorPhalanx`,[u.JumpGate]:`jumpGate`,[u.PlanetDestroyerFactory]:`planetDestroyerFactory`},m={[a.LightFighter]:`lightFighter`,[a.HeavyFighter]:`heavyFighter`,[a.Cruiser]:`cruiser`,[a.Battleship]:`battleship`,[a.SmallCargo]:`smallCargo`,[a.LargeCargo]:`largeCargo`,[a.ColonyShip]:`colonyShip`,[a.Recycler]:`recycler`,[a.EspionageProbe]:`espionageProbe`,[a.DarkMatterHarvester]:`darkMatterHarvester`,[a.Deathstar]:`deathstar`},h={[n.RocketLauncher]:`rocketLauncher`,[n.LightLaser]:`lightLaser`,[n.HeavyLaser]:`heavyLaser`,[n.GaussCannon]:`gaussCannon`,[n.IonCannon]:`ionCannon`,[n.PlasmaTurret]:`plasmaTurret`,[n.SmallShieldDome]:`smallShieldDome`,[n.LargeShieldDome]:`largeShieldDome`,[n.PlanetaryShield]:`planetaryShield`},g={[r.EnergyTechnology]:`energyTechnology`,[r.LaserTechnology]:`laserTechnology`,[r.IonTechnology]:`ionTechnology`,[r.HyperspaceTechnology]:`hyperspaceTechnology`,[r.PlasmaTechnology]:`plasmaTechnology`,[r.ComputerTechnology]:`computerTechnology`,[r.CombustionDrive]:`combustionDrive`,[r.ImpulseDrive]:`impulseDrive`,[r.HyperspaceDrive]:`hyperspaceDrive`,[r.DarkMatterTechnology]:`darkMatterTechnology`,[r.TerraformingTechnology]:`terraformingTechnology`,[r.PlanetDestructionTech]:`planetDestructionTech`},_={[c.Commander]:`commander`,[c.Admiral]:`admiral`,[c.Engineer]:`engineer`,[c.Geologist]:`geologist`,[c.Technocrat]:`technocrat`,[c.DarkMatterSpecialist]:`darkMatterSpecialist`};return{BUILDINGS:e(()=>{let e={};for(let[t,n]of Object.entries(o)){let r=t,i=p[r];e[r]={...n,name:f(`buildings.${i}`),description:f(`buildingDescriptions.${i}`)}}return e}),SHIPS:e(()=>{let e={};for(let[n,r]of Object.entries(t)){let t=n,i=m[t];e[t]={...r,name:f(`ships.${i}`),description:f(`shipDescriptions.${i}`)}}return e}),DEFENSES:e(()=>{let e={};for(let[t,n]of Object.entries(l)){let r=t,i=h[r];e[r]={...n,name:f(`defenses.${i}`),description:f(`defenseDescriptions.${i}`)}}return e}),TECHNOLOGIES:e(()=>{let e={};for(let[t,n]of Object.entries(i)){let r=t,i=g[r];e[r]={...n,name:f(`technologies.${i}`),description:f(`technologyDescriptions.${i}`)}}return e}),OFFICERS:e(()=>{let e={};for(let[t,n]of Object.entries(s)){let r=t,i=_[r];e[r]={...n,name:f(`officers.${i}`),description:f(`officerDescriptions.${i}`)}}return e})}};export{f as t}; \ No newline at end of file diff --git a/docs/assets/useGameConfig-b98LOtBY.js b/docs/assets/useGameConfig-b98LOtBY.js new file mode 100644 index 0000000..f328614 --- /dev/null +++ b/docs/assets/useGameConfig-b98LOtBY.js @@ -0,0 +1 @@ +import{Jt as e}from"./game-logic-Bi1l7y4K.js";import{_ as t,d as n,f as r,h as i,l as a,n as o,r as s,s as c,u as l,v as u}from"./game-config-CG6z6nnH.js";import{K as d}from"./index-BT5w6et-.js";const f=()=>{let{t:f}=d(),p={[n.MetalMine]:`metalMine`,[n.CrystalMine]:`crystalMine`,[n.DeuteriumSynthesizer]:`deuteriumSynthesizer`,[n.SolarPlant]:`solarPlant`,[n.FusionReactor]:`fusionReactor`,[n.RoboticsFactory]:`roboticsFactory`,[n.NaniteFactory]:`naniteFactory`,[n.Shipyard]:`shipyard`,[n.ResearchLab]:`researchLab`,[n.MetalStorage]:`metalStorage`,[n.CrystalStorage]:`crystalStorage`,[n.DeuteriumTank]:`deuteriumTank`,[n.DarkMatterCollector]:`darkMatterCollector`,[n.DarkMatterTank]:`darkMatterTank`,[n.MissileSilo]:`missileSilo`,[n.Terraformer]:`terraformer`,[n.LunarBase]:`lunarBase`,[n.SensorPhalanx]:`sensorPhalanx`,[n.JumpGate]:`jumpGate`,[n.PlanetDestroyerFactory]:`planetDestroyerFactory`},m={[t.LightFighter]:`lightFighter`,[t.HeavyFighter]:`heavyFighter`,[t.Cruiser]:`cruiser`,[t.Battleship]:`battleship`,[t.Battlecruiser]:`battlecruiser`,[t.Bomber]:`bomber`,[t.Destroyer]:`destroyer`,[t.SmallCargo]:`smallCargo`,[t.LargeCargo]:`largeCargo`,[t.ColonyShip]:`colonyShip`,[t.Recycler]:`recycler`,[t.EspionageProbe]:`espionageProbe`,[t.SolarSatellite]:`solarSatellite`,[t.DarkMatterHarvester]:`darkMatterHarvester`,[t.Deathstar]:`deathstar`},h={[r.RocketLauncher]:`rocketLauncher`,[r.LightLaser]:`lightLaser`,[r.HeavyLaser]:`heavyLaser`,[r.GaussCannon]:`gaussCannon`,[r.IonCannon]:`ionCannon`,[r.PlasmaTurret]:`plasmaTurret`,[r.SmallShieldDome]:`smallShieldDome`,[r.LargeShieldDome]:`largeShieldDome`,[r.AntiBallisticMissile]:`antiBallisticMissile`,[r.InterplanetaryMissile]:`interplanetaryMissile`,[r.PlanetaryShield]:`planetaryShield`},g={[u.EnergyTechnology]:`energyTechnology`,[u.LaserTechnology]:`laserTechnology`,[u.IonTechnology]:`ionTechnology`,[u.HyperspaceTechnology]:`hyperspaceTechnology`,[u.PlasmaTechnology]:`plasmaTechnology`,[u.ComputerTechnology]:`computerTechnology`,[u.EspionageTechnology]:`espionageTechnology`,[u.WeaponsTechnology]:`weaponsTechnology`,[u.ShieldingTechnology]:`shieldingTechnology`,[u.ArmourTechnology]:`armourTechnology`,[u.Astrophysics]:`astrophysics`,[u.GravitonTechnology]:`gravitonTechnology`,[u.CombustionDrive]:`combustionDrive`,[u.ImpulseDrive]:`impulseDrive`,[u.HyperspaceDrive]:`hyperspaceDrive`,[u.DarkMatterTechnology]:`darkMatterTechnology`,[u.TerraformingTechnology]:`terraformingTechnology`,[u.PlanetDestructionTech]:`planetDestructionTech`},_={[i.Commander]:`commander`,[i.Admiral]:`admiral`,[i.Engineer]:`engineer`,[i.Geologist]:`geologist`,[i.Technocrat]:`technocrat`,[i.DarkMatterSpecialist]:`darkMatterSpecialist`};return{BUILDINGS:e(()=>{let e={};for(let[t,n]of Object.entries(o)){let r=t,i=p[r];e[r]={...n,name:f(`buildings.${i}`),description:f(`buildingDescriptions.${i}`)}}return e}),SHIPS:e(()=>{let e={};for(let[t,n]of Object.entries(a)){let r=t,i=m[r];e[r]={...n,name:f(`ships.${i}`),description:f(`shipDescriptions.${i}`)}}return e}),DEFENSES:e(()=>{let e={};for(let[t,n]of Object.entries(s)){let r=t,i=h[r];e[r]={...n,name:f(`defenses.${i}`),description:f(`defenseDescriptions.${i}`)}}return e}),TECHNOLOGIES:e(()=>{let e={};for(let[t,n]of Object.entries(l)){let r=t,i=g[r];e[r]={...n,name:f(`technologies.${i}`),description:f(`technologyDescriptions.${i}`)}}return e}),OFFICERS:e(()=>{let e={};for(let[t,n]of Object.entries(c)){let r=t,i=_[r];e[r]={...n,name:f(`officers.${i}`),description:f(`officerDescriptions.${i}`)}}return e})}};export{f as t}; \ No newline at end of file diff --git a/docs/assets/vendor-crypto-CQM8pryk.js b/docs/assets/vendor-crypto-CQM8pryk.js new file mode 100644 index 0000000..f4dff2e --- /dev/null +++ b/docs/assets/vendor-crypto-CQM8pryk.js @@ -0,0 +1 @@ +import{r as e,t}from"./rolldown-runtime-CIDIeb-o.js";var n=t(((e,t)=>{t.exports={}})),r=t(((t,r)=>{(function(e,n){typeof t==`object`?r.exports=t=n():typeof define==`function`&&define.amd?define([],n):e.CryptoJS=n()})(t,function(){var t=t||function(t,r){var i;if(typeof window<`u`&&window.crypto&&(i=window.crypto),typeof self<`u`&&self.crypto&&(i=self.crypto),typeof globalThis<`u`&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<`u`&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<`u`&&global.crypto&&(i=global.crypto),!i&&typeof e==`function`)try{i=n()}catch{}var a=function(){if(i){if(typeof i.getRandomValues==`function`)try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes==`function`)try{return i.randomBytes(4).readInt32LE()}catch{}}throw Error(`Native crypto module could not be used to get secure random number.`)},o=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},c=s.lib={},l=c.Base=function(){return{extend:function(e){var t=o(this);return e&&t.mixIn(e),(!t.hasOwnProperty(`init`)||this.init===t.init)&&(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(`toString`)&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),u=c.WordArray=l.extend({init:function(e,t){e=this.words=e||[],t==r?this.sigBytes=e.length*4:this.sigBytes=t},toString:function(e){return(e||f).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a>>2]>>>24-a%4*8&255;t[r+a>>>2]|=o<<24-(r+a)%4*8}else for(var s=0;s>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-i%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new u.init(n,t/2)}},p=d.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new u.init(n,t)}},m=d.Utf8={stringify:function(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch{throw Error(`Malformed UTF-8 data`)}},parse:function(e){return p.parse(unescape(encodeURIComponent(e)))}},h=c.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){typeof e==`string`&&(e=m.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var n,r=this._data,i=r.words,a=r.sigBytes,o=this.blockSize,s=a/(o*4);s=e?t.ceil(s):t.max((s|0)-this._minBufferSize,0);var c=s*o,l=t.min(c*4,a);if(c){for(var d=0;d{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=n.x64={};o.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,n){e=this.words=e||[],n==t?this.sigBytes=e.length*8:this.sigBytes=n},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(){if(typeof ArrayBuffer==`function`){var t=e.lib.WordArray,n=t.init,r=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||typeof Uint8ClampedArray<`u`&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],i=0;i>>2]|=e[i]<<24-i%4*8;n.call(this,r,t)}else n.apply(this,arguments)};r.prototype=t}})(),e.lib.WordArray})})),o=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return n.create(r,t*2)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],a=0;a>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(o))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],a=0;a>>1]|=i(e.charCodeAt(a)<<16-a%2*16);return n.create(r,t*2)}};function i(e){return e<<8&4278255360|e>>>8&16711935}})(),e.enc.Utf16})})),s=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],a=0;a>>2]>>>24-a%4*8&255,s=t[a+1>>>2]>>>24-(a+1)%4*8&255,c=t[a+2>>>2]>>>24-(a+2)%4*8&255,l=o<<16|s<<8|c,u=0;u<4&&a+u*.75>>6*(3-u)&63));var d=r.charAt(64);if(d)for(;i.length%4;)i.push(d);return i.join(``)},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64})})),c=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64url={stringify:function(e,t){t===void 0&&(t=!0);var n=e.words,r=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o>>2]>>>24-o%4*8&255,c=n[o+1>>>2]>>>24-(o+1)%4*8&255,l=n[o+2>>>2]>>>24-(o+2)%4*8&255,u=s<<16|c<<8|l,d=0;d<4&&o+d*.75>>6*(3-d)&63));var f=i.charAt(64);if(f)for(;a.length%4;)a.push(f);return a.join(``)},parse:function(e,t){t===void 0&&(t=!0);var n=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64url})})),l=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[];(function(){for(var e=0;e<64;e++)s[e]=t.abs(t.sin(e+1))*4294967296|0})();var c=o.MD5=a.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var a=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],m=e[t+3],h=e[t+4],g=e[t+5],_=e[t+6],v=e[t+7],y=e[t+8],b=e[t+9],x=e[t+10],S=e[t+11],C=e[t+12],w=e[t+13],T=e[t+14],E=e[t+15],D=a[0],O=a[1],k=a[2],A=a[3];D=l(D,O,k,A,o,7,s[0]),A=l(A,D,O,k,c,12,s[1]),k=l(k,A,D,O,p,17,s[2]),O=l(O,k,A,D,m,22,s[3]),D=l(D,O,k,A,h,7,s[4]),A=l(A,D,O,k,g,12,s[5]),k=l(k,A,D,O,_,17,s[6]),O=l(O,k,A,D,v,22,s[7]),D=l(D,O,k,A,y,7,s[8]),A=l(A,D,O,k,b,12,s[9]),k=l(k,A,D,O,x,17,s[10]),O=l(O,k,A,D,S,22,s[11]),D=l(D,O,k,A,C,7,s[12]),A=l(A,D,O,k,w,12,s[13]),k=l(k,A,D,O,T,17,s[14]),O=l(O,k,A,D,E,22,s[15]),D=u(D,O,k,A,c,5,s[16]),A=u(A,D,O,k,_,9,s[17]),k=u(k,A,D,O,S,14,s[18]),O=u(O,k,A,D,o,20,s[19]),D=u(D,O,k,A,g,5,s[20]),A=u(A,D,O,k,x,9,s[21]),k=u(k,A,D,O,E,14,s[22]),O=u(O,k,A,D,h,20,s[23]),D=u(D,O,k,A,b,5,s[24]),A=u(A,D,O,k,T,9,s[25]),k=u(k,A,D,O,m,14,s[26]),O=u(O,k,A,D,y,20,s[27]),D=u(D,O,k,A,w,5,s[28]),A=u(A,D,O,k,p,9,s[29]),k=u(k,A,D,O,v,14,s[30]),O=u(O,k,A,D,C,20,s[31]),D=d(D,O,k,A,g,4,s[32]),A=d(A,D,O,k,y,11,s[33]),k=d(k,A,D,O,S,16,s[34]),O=d(O,k,A,D,T,23,s[35]),D=d(D,O,k,A,c,4,s[36]),A=d(A,D,O,k,h,11,s[37]),k=d(k,A,D,O,v,16,s[38]),O=d(O,k,A,D,x,23,s[39]),D=d(D,O,k,A,w,4,s[40]),A=d(A,D,O,k,o,11,s[41]),k=d(k,A,D,O,m,16,s[42]),O=d(O,k,A,D,_,23,s[43]),D=d(D,O,k,A,b,4,s[44]),A=d(A,D,O,k,C,11,s[45]),k=d(k,A,D,O,E,16,s[46]),O=d(O,k,A,D,p,23,s[47]),D=f(D,O,k,A,o,6,s[48]),A=f(A,D,O,k,v,10,s[49]),k=f(k,A,D,O,T,15,s[50]),O=f(O,k,A,D,g,21,s[51]),D=f(D,O,k,A,C,6,s[52]),A=f(A,D,O,k,m,10,s[53]),k=f(k,A,D,O,x,15,s[54]),O=f(O,k,A,D,c,21,s[55]),D=f(D,O,k,A,y,6,s[56]),A=f(A,D,O,k,E,10,s[57]),k=f(k,A,D,O,_,15,s[58]),O=f(O,k,A,D,w,21,s[59]),D=f(D,O,k,A,h,6,s[60]),A=f(A,D,O,k,S,10,s[61]),k=f(k,A,D,O,p,15,s[62]),O=f(O,k,A,D,b,21,s[63]),a[0]=a[0]+D|0,a[1]=a[1]+O|0,a[2]=a[2]+k|0,a[3]=a[3]+A|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;n[i>>>5]|=128<<24-i%32;var a=t.floor(r/4294967296),o=r;n[(i+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,n[(i+64>>>9<<4)+14]=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,e.sigBytes=(n.length+1)*4,this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=(u<<8|u>>>24)&16711935|(u<<24|u>>>8)&4278255360}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+i+o;return(s<>>32-a)+t}function u(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+i+o;return(s<>>32-a)+t}function d(e,t,n,r,i,a,o){var s=e+(t^n^r)+i+o;return(s<>>32-a)+t}function f(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+i+o;return(s<>>32-a)+t}n.MD5=a._createHelper(c),n.HmacMD5=a._createHmacHelper(c)})(Math),e.MD5})})),u=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.Hasher,a=t.algo,o=[],s=a.SHA1=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],c=n[4],l=0;l<80;l++){if(l<16)o[l]=e[t+l]|0;else{var u=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=u<<1|u>>>31}var d=(r<<5|r>>>27)+c+o[l];l<20?d+=(i&a|~i&s)+1518500249:l<40?d+=(i^a^s)+1859775393:l<60?d+=(i&a|i&s|a&s)-1894007588:d+=(i^a^s)-899497514,c=s,s=a,a=i<<30|i>>>2,i=r,r=d}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,e.sigBytes=t.length*4,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(s),t.HmacSHA1=i._createHmacHelper(s)})(),e.SHA1})})),d=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[],c=[];(function(){function e(e){for(var n=t.sqrt(e),r=2;r<=n;r++)if(!(e%r))return!1;return!0}function n(e){return(e-(e|0))*4294967296|0}for(var r=2,i=0;i<64;)e(r)&&(i<8&&(s[i]=n(t.pow(r,1/2))),c[i]=n(t.pow(r,1/3)),i++),r++})();var l=[],u=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=e[t+p]|0;else{var m=l[p-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=l[p-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[p]=h+l[p-7]+_+l[p-16]}var v=s&u^~s&d,y=r&i^r&a^i&a,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),x=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),S=f+x+v+c[p]+l[p],C=b+y;f=d,d=u,u=s,s=o+S|0,o=a,a=i,i=r,r=S+C|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=t.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,e.sigBytes=n.length*4,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=a._createHelper(u),n.HmacSHA256=a._createHmacHelper(u)})(Math),e.SHA256})})),f=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),d()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.algo,i=r.SHA256,a=r.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=i._doFinalize.call(this);return e.sigBytes-=4,e}});t.SHA224=i._createHelper(a),t.HmacSHA224=i._createHmacHelper(a)})(),e.SHA224})})),p=t(((e,t)=>{(function(n,a,o){typeof e==`object`?t.exports=e=a(r(),i()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],a):a(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.Hasher,r=t.x64,i=r.Word,a=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];(function(){for(var e=0;e<80;e++)l[e]=s()})();var u=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=r.high,m=r.low,h=i.high,g=i.low,_=a.high,v=a.low,y=o.high,b=o.low,x=s.high,S=s.low,C=u.high,w=u.low,T=d.high,E=d.low,D=f.high,O=f.low,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I=b,L=x,R=S,z=C,B=w,V=T,H=E,ee=D,U=O,W=0;W<80;W++){var G,K,q=l[W];if(W<16)K=q.high=e[t+W*2]|0,G=q.low=e[t+W*2+1]|0;else{var te=l[W-15],J=te.high,Y=te.low,ne=(J>>>1|Y<<31)^(J>>>8|Y<<24)^J>>>7,re=(Y>>>1|J<<31)^(Y>>>8|J<<24)^(Y>>>7|J<<25),ie=l[W-2],X=ie.high,Z=ie.low,ae=(X>>>19|Z<<13)^(X<<3|Z>>>29)^X>>>6,oe=(Z>>>19|X<<13)^(Z<<3|X>>>29)^(Z>>>6|X<<26),se=l[W-7],ce=se.high,le=se.low,ue=l[W-16],de=ue.high,fe=ue.low;G=re+le,K=ne+ce+(G>>>0>>0?1:0),G+=oe,K=K+ae+(G>>>0>>0?1:0),G+=fe,K=K+de+(G>>>0>>0?1:0),q.high=K,q.low=G}var pe=L&z^~L&V,me=R&B^~R&H,he=k&j^k&N^j&N,ge=A&M^A&P^M&P,_e=(k>>>28|A<<4)^(k<<30|A>>>2)^(k<<25|A>>>7),ve=(A>>>28|k<<4)^(A<<30|k>>>2)^(A<<25|k>>>7),ye=(L>>>14|R<<18)^(L>>>18|R<<14)^(L<<23|R>>>9),be=(R>>>14|L<<18)^(R>>>18|L<<14)^(R<<23|L>>>9),xe=c[W],Se=xe.high,Ce=xe.low,Q=U+be,$=ee+ye+(Q>>>0>>0?1:0),Q=Q+me,$=$+pe+(Q>>>0>>0?1:0),Q=Q+Ce,$=$+Se+(Q>>>0>>0?1:0),Q=Q+G,$=$+K+(Q>>>0>>0?1:0),we=ve+ge,Te=_e+he+(we>>>0>>0?1:0);ee=V,U=H,V=z,H=B,z=L,B=R,R=I+Q|0,L=F+$+(R>>>0>>0?1:0)|0,F=N,I=P,N=j,P=M,j=k,M=A,A=Q+we|0,k=$+Te+(A>>>0>>0?1:0)|0}m=r.low=m+A,r.high=p+k+(m>>>0>>0?1:0),g=i.low=g+M,i.high=h+j+(g>>>0>>0?1:0),v=a.low=v+P,a.high=_+N+(v>>>0

>>0?1:0),b=o.low=b+I,o.high=y+F+(b>>>0>>0?1:0),S=s.low=S+R,s.high=x+L+(S>>>0>>0?1:0),w=u.low=w+B,u.high=C+z+(w>>>0>>0?1:0),E=d.low=E+H,d.high=T+V+(E>>>0>>0?1:0),O=f.low=O+U,f.high=D+ee+(O>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+128>>>10<<5)+30]=Math.floor(n/4294967296),t[(r+128>>>10<<5)+31]=n,e.sigBytes=t.length*4,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:1024/32});t.SHA512=n._createHelper(u),t.HmacSHA512=n._createHmacHelper(u)})(),e.SHA512})})),m=t(((e,t)=>{(function(n,a,o){typeof e==`object`?t.exports=e=a(r(),i(),p()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`,`./sha512`],a):a(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.x64,r=n.Word,i=n.WordArray,a=t.algo,o=a.SHA512,s=a.SHA384=o.extend({_doReset:function(){this._hash=new i.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=o._createHelper(s),t.HmacSHA384=o._createHmacHelper(s)})(),e.SHA384})})),h=t(((e,t)=>{(function(n,a,o){typeof e==`object`?t.exports=e=a(r(),i()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],a):a(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.x64.Word,s=n.algo,c=[],l=[],u=[];(function(){for(var e=1,t=0,n=0;n<24;n++){c[e+5*t]=(n+1)*(n+2)/2%64;var r=t%5,i=(2*e+3*t)%5;e=r,t=i}for(var e=0;e<5;e++)for(var t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var a=1,s=0;s<24;s++){for(var d=0,f=0,p=0;p<7;p++){if(a&1){var m=(1<>>24)&16711935|(a<<24|a>>>8)&4278255360,o=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360;var s=n[i];s.high^=o,s.low^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,h=0,g=0;g<5;g++){var s=n[p+5*g];m^=s.high,h^=s.low}var _=d[p];_.high=m,_.low=h}for(var p=0;p<5;p++)for(var v=d[(p+4)%5],y=d[(p+1)%5],b=y.high,x=y.low,m=v.high^(b<<1|x>>>31),h=v.low^(x<<1|b>>>31),g=0;g<5;g++){var s=n[p+5*g];s.high^=m,s.low^=h}for(var S=1;S<25;S++){var m,h,s=n[S],C=s.high,w=s.low,T=c[S];T<32?(m=C<>>32-T,h=w<>>32-T):(m=w<>>64-T,h=C<>>64-T);var E=d[l[S]];E.high=m,E.low=h}var D=d[0],O=n[0];D.high=O.high,D.low=O.low;for(var p=0;p<5;p++)for(var g=0;g<5;g++){var S=p+5*g,s=n[S],k=d[S],A=d[(p+1)%5+5*g],j=d[(p+2)%5+5*g];s.high=k.high^~A.high&j.high,s.low=k.low^~A.low&j.low}var s=n[0],M=u[f];s.high^=M.high,s.low^=M.low}},_doFinalize:function(){var e=this._data,n=e.words;this._nDataBytes*8;var r=e.sigBytes*8,a=this.blockSize*32;n[r>>>5]|=1<<24-r%32,n[(t.ceil((r+1)/a)*a>>>5)-1]|=128,e.sigBytes=n.length*4,this._process();for(var o=this._state,s=this.cfg.outputLength/8,c=s/8,l=[],u=0;u>>24)&16711935|(f<<24|f>>>8)&4278255360,p=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,l.push(p),l.push(f)}return new i.init(l,s)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});n.SHA3=a._createHelper(f),n.HmacSHA3=a._createHmacHelper(f)})(Math),e.SHA3})})),g=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=i.create([0,1518500249,1859775393,2400959708,2840853838]),f=i.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}for(var a=this._hash.words,o=d.words,p=f.words,b=s.words,x=c.words,S=l.words,C=u.words,w,T,E,D,O,k=w=a[0],A=T=a[1],j=E=a[2],M=D=a[3],N=O=a[4],P,n=0;n<80;n+=1)P=w+e[t+b[n]]|0,n<16?P+=m(T,E,D)+o[0]:n<32?P+=h(T,E,D)+o[1]:n<48?P+=g(T,E,D)+o[2]:n<64?P+=_(T,E,D)+o[3]:P+=v(T,E,D)+o[4],P|=0,P=y(P,S[n]),P=P+O|0,w=O,O=D,D=y(E,10),E=T,T=P,P=k+e[t+x[n]]|0,n<16?P+=v(A,j,M)+p[0]:n<32?P+=_(A,j,M)+p[1]:n<48?P+=g(A,j,M)+p[2]:n<64?P+=h(A,j,M)+p[3]:P+=m(A,j,M)+p[4],P|=0,P=y(P,C[n]),P=P+N|0,k=N,N=M,M=y(j,10),j=A,A=P;P=a[1]+E+M|0,a[1]=a[2]+D+N|0,a[2]=a[3]+O+k|0,a[3]=a[4]+w+A|0,a[4]=a[0]+T+j|0,a[0]=P},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360,e.sigBytes=(t.length+1)*4,this._process();for(var i=this._hash,a=i.words,o=0;o<5;o++){var s=a[o];a[o]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360}return i},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,n){return e^t^n}function h(e,t,n){return e&t|~e&n}function g(e,t,n){return(e|~t)^n}function _(e,t,n){return e&n|t&~n}function v(e,t,n){return e^(t|~n)}function y(e,t){return e<>>32-t}n.RIPEMD160=a._createHelper(p),n.HmacRIPEMD160=a._createHmacHelper(p)})(Math),e.RIPEMD160})})),_=t(((e,t)=>{(function(n,i){typeof e==`object`?t.exports=e=i(r()):typeof define==`function`&&define.amd?define([`./core`],i):i(n.CryptoJS)})(e,function(e){(function(){var t=e,n=t.lib.Base,r=t.enc.Utf8,i=t.algo;i.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,typeof t==`string`&&(t=r.parse(t));var n=e.blockSize,i=n*4;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,l=0;l{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),d(),_()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`,`./hmac`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.SHA256,s=a.HMAC,c=a.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=s.create(n.hasher,e),a=i.create(),o=i.create([1]),c=a.words,l=o.words,u=n.keySize,d=n.iterations;c.length{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),u(),_()):typeof define==`function`&&define.amd?define([`./core`,`./sha1`,`./hmac`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.MD5,s=a.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n,r=this.cfg,a=r.hasher.create(),o=i.create(),s=o.words,c=r.keySize,l=r.iterations;s.length{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),y()):typeof define==`function`&&define.amd?define([`./core`,`./evpkdf`],i):i(n.CryptoJS)})(e,function(e){e.lib.Cipher||function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=r.BufferedBlockAlgorithm,s=n.enc;s.Utf8;var c=s.Base64,l=n.algo.EvpKDF,u=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return typeof e==`string`?S:y}return function(t){return{encrypt:function(n,r,i){return e(r).encrypt(t,n,r,i)},decrypt:function(n,r,i){return e(r).decrypt(t,n,r,i)}}}}()});r.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var d=n.mode={},f=r.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),p=d.CBC=function(){var e=f.extend();e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),e.Decryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);r.decryptBlock(e,t),n.call(this,e,t,i),this._prevBlock=a}});function n(e,n,r){var i,a=this._iv;a?(i=a,this._iv=t):i=this._prevBlock;for(var o=0;o>>2]&255;e.sigBytes-=t}};r.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:h}),reset:function(){var e;u.reset.call(this);var t=this.cfg,n=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,n&&n.words):(this._mode=e.call(r,this,n&&n.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:128/32});var g=r.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=n.format={},v=_.OpenSSL={stringify:function(e){var t,n=e.ciphertext,r=e.salt;return t=r?a.create([1398893684,1701076831]).concat(r).concat(n):n,t.toString(c)},parse:function(e){var t,n=c.parse(e),r=n.words;return r[0]==1398893684&&r[1]==1701076831&&(t=a.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),g.create({ciphertext:n,salt:t})}},y=r.SerializableCipher=i.extend({cfg:i.extend({format:v}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),a=i.finalize(t),o=i.cfg;return g.create({ciphertext:a,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return typeof e==`string`?t.parse(e,this):e}}),b=n.kdf={},x=b.OpenSSL={execute:function(e,t,n,r,i){if(r||=a.random(64/8),i)var o=l.create({keySize:t+n,hasher:i}).compute(e,r);else var o=l.create({keySize:t+n}).compute(e,r);var s=a.create(o.words.slice(t),n*4);return o.sigBytes=t*4,g.create({key:o,iv:s,salt:r})}},S=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:x}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=r.kdf.execute(n,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=i.iv;var a=y.encrypt.call(this,e,t,i.key,r);return a.mixIn(i),a},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=i.iv,y.decrypt.call(this,e,t,i.key,r)}})}()})})),x=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.mode.CFB=function(){var t=e.lib.BlockCipherMode.extend();t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i,r),this._prevBlock=e.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);n.call(this,e,t,i,r),this._prevBlock=a}});function n(e,t,n,r){var i,a=this._iv;a?(i=a.slice(0),this._iv=void 0):i=this._prevBlock,r.encryptBlock(i,0);for(var o=0;o{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.mode.CTR=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._counter;i&&(a=this._counter=i.slice(0),this._iv=void 0);var o=a.slice(0);n.encryptBlock(o,0),a[r-1]=a[r-1]+1|0;for(var s=0;s{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function n(e){if((e>>24&255)==255){var t=e>>16&255,n=e>>8&255,r=e&255;t===255?(t=0,n===255?(n=0,r===255?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}function r(e){return(e[0]=n(e[0]))===0&&(e[1]=n(e[1])),e}return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),r(o);var s=o.slice(0);n.encryptBlock(s,0);for(var c=0;c{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.mode.OFB=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._keystream;i&&(a=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(a,0);for(var o=0;o{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.mode.ECB=function(){var t=e.lib.BlockCipherMode.extend();return t.Encryptor=t.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),t.Decryptor=t.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),t}(),e.mode.ECB})})),E=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=t*4,i=r-n%r,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Ansix923})})),D=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.pad.Iso10126={pad:function(t,n){var r=n*4,i=r-t.sigBytes%r;t.concat(e.lib.WordArray.random(i-1)).concat(e.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Iso10126})})),O=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.pad.Iso97971={pad:function(t,n){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,n)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971})})),k=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.pad.ZeroPadding={pad:function(e,t){var n=t*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(t[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},e.pad.ZeroPadding})})),A=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding})})),j=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),b()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib.CipherParams,i=n.enc.Hex,a=n.format;a.Hex={stringify:function(e){return e.ciphertext.toString(i)},parse:function(e){var t=i.parse(e);return r.create({ciphertext:t})}}})(),e.format.Hex})})),M=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo,i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[];(function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,r=0,t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^m&255^99,i[n]=m,a[m]=n;var h=e[n],g=e[h],_=e[g],v=e[m]*257^m*16843008;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,c[n]=v<<8|v>>>24,l[n]=v;var v=_*16843009^g*65537^h*257^n*16843008;u[m]=v<<24|v>>>8,d[m]=v<<16|v>>>16,f[m]=v<<8|v>>>24,p[m]=v,n?(n=h^e[e[e[_^h]]],r^=e[e[r]]):n=r=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],h=r.AES=n.extend({_doReset:function(){var e;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var t=this._keyPriorReset=this._key,n=t.words,r=t.sigBytes/4,a=((this._nRounds=r+6)+1)*4,o=this._keySchedule=[],s=0;s6&&s%r==4&&(e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255]):(e=e<<8|e>>>24,e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255],e^=m[s/r|0]<<24),o[s]=o[s-r]^e);for(var c=this._invKeySchedule=[],l=0;l>>24]]^d[i[e>>>16&255]]^f[i[e>>>8&255]]^p[i[e&255]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,c,l,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,u,d,f,p,a);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var c=this._nRounds,l=e[t]^n[0],u=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,m=1;m>>24]^i[u>>>16&255]^a[d>>>8&255]^o[f&255]^n[p++],g=r[u>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[l&255]^n[p++],_=r[d>>>24]^i[f>>>16&255]^a[l>>>8&255]^o[u&255]^n[p++],v=r[f>>>24]^i[l>>>16&255]^a[u>>>8&255]^o[d&255]^n[p++];l=h,u=g,d=_,f=v}var h=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[f&255])^n[p++],g=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[l&255])^n[p++],_=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[u&255])^n[p++],v=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[d&255])^n[p++];e[t]=h,e[t+1]=g,e[t+2]=_,e[t+3]=v},keySize:256/32});t.AES=n._createHelper(h)})(),e.AES})})),N=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.BlockCipher,a=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=a.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=o[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],a=0;a<16;a++){for(var l=i[a]=[],u=c[a],n=0;n<24;n++)l[n/6|0]|=t[(s[n]-1+u)%28]<<31-n%6,l[4+(n/6|0)]|=t[28+(s[n+24]-1+u)%28]<<31-n%6;l[0]=l[0]<<1|l[0]>>>31;for(var n=1;n<7;n++)l[n]=l[n]>>>(n-1)*4+3;l[7]=l[7]<<5|l[7]>>>27}for(var d=this._invSubKeys=[],n=0;n<16;n++)d[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],a=this._lBlock,o=this._rBlock,s=0,c=0;c<8;c++)s|=l[c][((o^i[c])&u[c])>>>0];this._lBlock=o,this._rBlock=a^s}var d=this._lBlock;this._lBlock=this._rBlock,this._rBlock=d,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<192.`);var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=d.createEncryptor(r.create(t)),this._des2=d.createEncryptor(r.create(n)),this._des3=d.createEncryptor(r.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:192/32,ivSize:64/32,blockSize:64/32});t.TripleDES=i._createHelper(m)})(),e.TripleDES})})),P=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=r.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;for(var i=0,a=0;i<256;i++){var o=i%n,s=t[o>>>2]>>>24-o%4*8&255;a=(a+r[i]+s)%256;var c=r[i];r[i]=r[a],r[a]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){t=(t+1)%256,n=(n+e[t])%256;var a=e[t];e[t]=e[n],e[n]=a,r|=e[(e[t]+e[n])%256]<<24-i*8}return this._i=t,this._j=n,r}t.RC4=n._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});t.RC4Drop=n._createHelper(o)})(),e.RC4})})),F=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.Rabbit=n.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=(e[n]<<8|e[n]>>>24)&16711935|(e[n]<<24|e[n]>>>8)&4278255360;var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;i[0]^=l,i[1]^=d,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=d,i[6]^=u,i[7]^=f;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.Rabbit=n._createHelper(s)})(),e.Rabbit})})),I=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.RabbitLegacy=n.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var i=0;i<4;i++)c.call(this);for(var i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;r[0]^=l,r[1]^=d,r[2]^=u,r[3]^=f,r[4]^=l,r[5]^=d,r[6]^=u,r[7]^=f;for(var i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.RabbitLegacy=n._createHelper(s)})(),e.RabbitLegacy})})),L=t(((e,t)=>{(function(n,i,a){typeof e==`object`?t.exports=e=i(r(),s(),l(),y(),b()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],i):i(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo;let i=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function s(e,t){let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=t&255,o=e.sbox[0][n]+e.sbox[1][r];return o^=e.sbox[2][i],o+=e.sbox[3][a],o}function c(e,t,n){let r=t,i=n,a;for(let t=0;t<16;++t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[16],r^=e.pbox[17],{left:r,right:i}}function l(e,t,n){let r=t,i=n,a;for(let t=17;t>1;--t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[1],r^=e.pbox[0],{left:r,right:i}}function u(e,t,n){for(let t=0;t<4;t++){e.sbox[t]=[];for(let n=0;n<256;n++)e.sbox[t][n]=a[t][n]}let r=0;for(let a=0;a<18;a++)e.pbox[a]=i[a]^t[r],r++,r>=n&&(r=0);let o=0,s=0,l=0;for(let t=0;t<18;t+=2)l=c(e,o,s),o=l.left,s=l.right,e.pbox[t]=o,e.pbox[t+1]=s;for(let t=0;t<4;t++)for(let n=0;n<256;n+=2)l=c(e,o,s),o=l.left,s=l.right,e.sbox[t][n]=o,e.sbox[t][n+1]=s;return!0}var d=r.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var e=this._keyPriorReset=this._key,t=e.words;u(o,t,e.sigBytes/4)}},encryptBlock:function(e,t){var n=c(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},decryptBlock:function(e,t){var n=l(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},blockSize:64/32,keySize:128/32,ivSize:64/32});t.Blowfish=n._createHelper(d)})(),e.Blowfish})})),R=t(((e,t)=>{(function(n,R,z){typeof e==`object`?t.exports=e=R(r(),i(),a(),o(),s(),c(),l(),u(),d(),f(),p(),m(),h(),g(),_(),v(),y(),b(),x(),S(),C(),w(),T(),E(),D(),O(),k(),A(),j(),M(),N(),P(),F(),I(),L()):typeof define==`function`&&define.amd?define(`./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish`.split(`,`),R):n.CryptoJS=R(n.CryptoJS)})(e,function(e){return e})}));export{R as t}; \ No newline at end of file diff --git a/docs/assets/vendor-crypto-Ce_BCn-h.js b/docs/assets/vendor-crypto-Ce_BCn-h.js deleted file mode 100644 index 4b02ccf..0000000 --- a/docs/assets/vendor-crypto-Ce_BCn-h.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-tX5UdD3f.js";var a=r({Certificate:()=>G,Cipher:()=>K,Cipheriv:()=>ue,Decipher:()=>de,Decipheriv:()=>fe,DiffieHellman:()=>pe,DiffieHellmanGroup:()=>me,ECDH:()=>he,Hash:()=>ge,Hmac:()=>_e,KeyObject:()=>ve,Sign:()=>ye,Verify:()=>be,X509Certificate:()=>xe,checkPrime:()=>s,checkPrimeSync:()=>c,constants:()=>we,createCipheriv:()=>l,createDecipheriv:()=>u,createDiffieHellman:()=>d,createDiffieHellmanGroup:()=>f,createECDH:()=>p,createHash:()=>m,createHmac:()=>h,createPrivateKey:()=>g,createPublicKey:()=>_,createSecretKey:()=>v,createSign:()=>y,createVerify:()=>b,default:()=>ke,diffieHellman:()=>x,fips:()=>Ce,generateKey:()=>ee,generateKeyPair:()=>N,generateKeyPairSync:()=>P,generateKeySync:()=>te,generatePrime:()=>S,generatePrimeSync:()=>C,getCipherInfo:()=>T,getCiphers:()=>w,getCurves:()=>E,getDiffieHellman:()=>D,getFips:()=>W,getHashes:()=>O,getRandomValues:()=>De,hash:()=>le,hkdf:()=>k,hkdfSync:()=>A,pbkdf2:()=>j,pbkdf2Sync:()=>M,privateDecrypt:()=>F,privateEncrypt:()=>I,prng:()=>Oe,pseudoRandomBytes:()=>q,publicDecrypt:()=>ne,publicEncrypt:()=>L,randomBytes:()=>re,randomFill:()=>R,randomFillSync:()=>ie,randomInt:()=>z,randomUUID:()=>B,rng:()=>J,scrypt:()=>V,scryptSync:()=>H,secureHeapUsed:()=>Se,setEngine:()=>oe,setFips:()=>se,sign:()=>ae,subtle:()=>Ee,timingSafeEqual:()=>U,verify:()=>ce,webcrypto:()=>Te}),o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,ee,te,F,I,ne,L,re,R,ie,z,B,V,H,ae,oe,U,W,se,ce,le,G,K,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,q,J,ke,Ae=n((()=>{o=(Ae(),e(a)),s=o.checkPrime,c=o.checkPrimeSync,l=o.createCipheriv,u=o.createDecipheriv,d=o.createDiffieHellman,f=o.createDiffieHellmanGroup,p=o.createECDH,m=o.createHash,h=o.createHmac,g=o.createPrivateKey,_=o.createPublicKey,v=o.createSecretKey,y=o.createSign,b=o.createVerify,x=o.diffieHellman,S=o.generatePrime,C=o.generatePrimeSync,w=o.getCiphers,T=o.getCipherInfo,E=o.getCurves,D=o.getDiffieHellman,O=o.getHashes,k=o.hkdf,A=o.hkdfSync,j=o.pbkdf2,M=o.pbkdf2Sync,N=o.generateKeyPair,P=o.generateKeyPairSync,ee=o.generateKey,te=o.generateKeySync,F=o.privateDecrypt,I=o.privateEncrypt,ne=o.publicDecrypt,L=o.publicEncrypt,re=o.randomBytes,R=o.randomFill,ie=o.randomFillSync,z=o.randomInt,B=o.randomUUID,V=o.scrypt,H=o.scryptSync,ae=o.sign,oe=o.setEngine,U=o.timingSafeEqual,W=o.getFips,se=o.setFips,ce=o.verify,le=o.hash,G=o.Certificate,K=o.Cipher,ue=o.Cipheriv,de=o.Decipher,fe=o.Decipheriv,pe=o.DiffieHellman,me=o.DiffieHellmanGroup,he=o.ECDH,ge=o.Hash,_e=o.Hmac,ve=o.KeyObject,ye=o.Sign,be=o.Verify,xe=o.X509Certificate,Se=o.secureHeapUsed,Ce=o.fips,we=o.constants,Te=o.webcrypto,Ee=o.subtle,De=o.getRandomValues,Oe=o.prng,q=o.pseudoRandomBytes,J=o.rng,ke=o.default||o})),Y=i(((n,r)=>{(function(e,t){typeof n==`object`?r.exports=n=t():typeof define==`function`&&define.amd?define([],t):e.CryptoJS=t()})(n,function(){var n=n||function(n,r){var i;if(typeof window<`u`&&window.crypto&&(i=window.crypto),typeof self<`u`&&self.crypto&&(i=self.crypto),typeof globalThis<`u`&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<`u`&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<`u`&&global.crypto&&(i=global.crypto),!i&&typeof t==`function`)try{i=(Ae(),e(a))}catch{}var o=function(){if(i){if(typeof i.getRandomValues==`function`)try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes==`function`)try{return i.randomBytes(4).readInt32LE()}catch{}}throw Error(`Native crypto module could not be used to get secure random number.`)},s=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),c={},l=c.lib={},u=l.Base=function(){return{extend:function(e){var t=s(this);return e&&t.mixIn(e),(!t.hasOwnProperty(`init`)||this.init===t.init)&&(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(`toString`)&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=l.WordArray=u.extend({init:function(e,t){e=this.words=e||[],t==r?this.sigBytes=e.length*4:this.sigBytes=t},toString:function(e){return(e||p).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a>>2]>>>24-a%4*8&255;t[r+a>>>2]|=o<<24-(r+a)%4*8}else for(var s=0;s>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=n.ceil(t/4)},clone:function(){var e=u.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-i%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new d.init(n,t/2)}},m=f.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new d.init(n,t)}},h=f.Utf8={stringify:function(e){try{return decodeURIComponent(escape(m.stringify(e)))}catch{throw Error(`Malformed UTF-8 data`)}},parse:function(e){return m.parse(unescape(encodeURIComponent(e)))}},g=l.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(e){typeof e==`string`&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t,r=this._data,i=r.words,a=r.sigBytes,o=this.blockSize,s=a/(o*4);s=e?n.ceil(s):n.max((s|0)-this._minBufferSize,0);var c=s*o,l=n.min(c*4,a);if(c){for(var u=0;u{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=n.x64={};o.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,n){e=this.words=e||[],n==t?this.sigBytes=e.length*8:this.sigBytes=n},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){if(typeof ArrayBuffer==`function`){var t=e.lib.WordArray,n=t.init,r=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||typeof Uint8ClampedArray<`u`&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],i=0;i>>2]|=e[i]<<24-i%4*8;n.call(this,r,t)}else n.apply(this,arguments)};r.prototype=t}})(),e.lib.WordArray})})),Ne=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return n.create(r,t*2)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],a=0;a>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(o))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],a=0;a>>1]|=i(e.charCodeAt(a)<<16-a%2*16);return n.create(r,t*2)}};function i(e){return e<<8&4278255360|e>>>8&16711935}})(),e.enc.Utf16})})),X=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],a=0;a>>2]>>>24-a%4*8&255,s=t[a+1>>>2]>>>24-(a+1)%4*8&255,c=t[a+2>>>2]>>>24-(a+2)%4*8&255,l=o<<16|s<<8|c,u=0;u<4&&a+u*.75>>6*(3-u)&63));var d=r.charAt(64);if(d)for(;i.length%4;)i.push(d);return i.join(``)},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64})})),Pe=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64url={stringify:function(e,t){t===void 0&&(t=!0);var n=e.words,r=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o>>2]>>>24-o%4*8&255,c=n[o+1>>>2]>>>24-(o+1)%4*8&255,l=n[o+2>>>2]>>>24-(o+2)%4*8&255,u=s<<16|c<<8|l,d=0;d<4&&o+d*.75>>6*(3-d)&63));var f=i.charAt(64);if(f)for(;a.length%4;)a.push(f);return a.join(``)},parse:function(e,t){t===void 0&&(t=!0);var n=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64url})})),Z=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[];(function(){for(var e=0;e<64;e++)s[e]=t.abs(t.sin(e+1))*4294967296|0})();var c=o.MD5=a.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var a=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],m=e[t+3],h=e[t+4],g=e[t+5],_=e[t+6],v=e[t+7],y=e[t+8],b=e[t+9],x=e[t+10],S=e[t+11],C=e[t+12],w=e[t+13],T=e[t+14],E=e[t+15],D=a[0],O=a[1],k=a[2],A=a[3];D=l(D,O,k,A,o,7,s[0]),A=l(A,D,O,k,c,12,s[1]),k=l(k,A,D,O,p,17,s[2]),O=l(O,k,A,D,m,22,s[3]),D=l(D,O,k,A,h,7,s[4]),A=l(A,D,O,k,g,12,s[5]),k=l(k,A,D,O,_,17,s[6]),O=l(O,k,A,D,v,22,s[7]),D=l(D,O,k,A,y,7,s[8]),A=l(A,D,O,k,b,12,s[9]),k=l(k,A,D,O,x,17,s[10]),O=l(O,k,A,D,S,22,s[11]),D=l(D,O,k,A,C,7,s[12]),A=l(A,D,O,k,w,12,s[13]),k=l(k,A,D,O,T,17,s[14]),O=l(O,k,A,D,E,22,s[15]),D=u(D,O,k,A,c,5,s[16]),A=u(A,D,O,k,_,9,s[17]),k=u(k,A,D,O,S,14,s[18]),O=u(O,k,A,D,o,20,s[19]),D=u(D,O,k,A,g,5,s[20]),A=u(A,D,O,k,x,9,s[21]),k=u(k,A,D,O,E,14,s[22]),O=u(O,k,A,D,h,20,s[23]),D=u(D,O,k,A,b,5,s[24]),A=u(A,D,O,k,T,9,s[25]),k=u(k,A,D,O,m,14,s[26]),O=u(O,k,A,D,y,20,s[27]),D=u(D,O,k,A,w,5,s[28]),A=u(A,D,O,k,p,9,s[29]),k=u(k,A,D,O,v,14,s[30]),O=u(O,k,A,D,C,20,s[31]),D=d(D,O,k,A,g,4,s[32]),A=d(A,D,O,k,y,11,s[33]),k=d(k,A,D,O,S,16,s[34]),O=d(O,k,A,D,T,23,s[35]),D=d(D,O,k,A,c,4,s[36]),A=d(A,D,O,k,h,11,s[37]),k=d(k,A,D,O,v,16,s[38]),O=d(O,k,A,D,x,23,s[39]),D=d(D,O,k,A,w,4,s[40]),A=d(A,D,O,k,o,11,s[41]),k=d(k,A,D,O,m,16,s[42]),O=d(O,k,A,D,_,23,s[43]),D=d(D,O,k,A,b,4,s[44]),A=d(A,D,O,k,C,11,s[45]),k=d(k,A,D,O,E,16,s[46]),O=d(O,k,A,D,p,23,s[47]),D=f(D,O,k,A,o,6,s[48]),A=f(A,D,O,k,v,10,s[49]),k=f(k,A,D,O,T,15,s[50]),O=f(O,k,A,D,g,21,s[51]),D=f(D,O,k,A,C,6,s[52]),A=f(A,D,O,k,m,10,s[53]),k=f(k,A,D,O,x,15,s[54]),O=f(O,k,A,D,c,21,s[55]),D=f(D,O,k,A,y,6,s[56]),A=f(A,D,O,k,E,10,s[57]),k=f(k,A,D,O,_,15,s[58]),O=f(O,k,A,D,w,21,s[59]),D=f(D,O,k,A,h,6,s[60]),A=f(A,D,O,k,S,10,s[61]),k=f(k,A,D,O,p,15,s[62]),O=f(O,k,A,D,b,21,s[63]),a[0]=a[0]+D|0,a[1]=a[1]+O|0,a[2]=a[2]+k|0,a[3]=a[3]+A|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;n[i>>>5]|=128<<24-i%32;var a=t.floor(r/4294967296),o=r;n[(i+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,n[(i+64>>>9<<4)+14]=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,e.sigBytes=(n.length+1)*4,this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=(u<<8|u>>>24)&16711935|(u<<24|u>>>8)&4278255360}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+i+o;return(s<>>32-a)+t}function u(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+i+o;return(s<>>32-a)+t}function d(e,t,n,r,i,a,o){var s=e+(t^n^r)+i+o;return(s<>>32-a)+t}function f(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+i+o;return(s<>>32-a)+t}n.MD5=a._createHelper(c),n.HmacMD5=a._createHmacHelper(c)})(Math),e.MD5})})),Fe=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.Hasher,a=t.algo,o=[],s=a.SHA1=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],c=n[4],l=0;l<80;l++){if(l<16)o[l]=e[t+l]|0;else{var u=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=u<<1|u>>>31}var d=(r<<5|r>>>27)+c+o[l];l<20?d+=(i&a|~i&s)+1518500249:l<40?d+=(i^a^s)+1859775393:l<60?d+=(i&a|i&s|a&s)-1894007588:d+=(i^a^s)-899497514,c=s,s=a,a=i<<30|i>>>2,i=r,r=d}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,e.sigBytes=t.length*4,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(s),t.HmacSHA1=i._createHmacHelper(s)})(),e.SHA1})})),Ie=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[],c=[];(function(){function e(e){for(var n=t.sqrt(e),r=2;r<=n;r++)if(!(e%r))return!1;return!0}function n(e){return(e-(e|0))*4294967296|0}for(var r=2,i=0;i<64;)e(r)&&(i<8&&(s[i]=n(t.pow(r,1/2))),c[i]=n(t.pow(r,1/3)),i++),r++})();var l=[],u=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=e[t+p]|0;else{var m=l[p-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=l[p-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[p]=h+l[p-7]+_+l[p-16]}var v=s&u^~s&d,y=r&i^r&a^i&a,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),x=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),S=f+x+v+c[p]+l[p],C=b+y;f=d,d=u,u=s,s=o+S|0,o=a,a=i,i=r,r=S+C|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=t.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,e.sigBytes=n.length*4,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=a._createHelper(u),n.HmacSHA256=a._createHmacHelper(u)})(Math),e.SHA256})})),Le=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),Ie()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.algo,i=r.SHA256,a=r.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=i._doFinalize.call(this);return e.sigBytes-=4,e}});t.SHA224=i._createHelper(a),t.HmacSHA224=i._createHmacHelper(a)})(),e.SHA224})})),Re=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),je()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.Hasher,r=t.x64,i=r.Word,a=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];(function(){for(var e=0;e<80;e++)l[e]=s()})();var u=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=r.high,m=r.low,h=i.high,g=i.low,_=a.high,v=a.low,y=o.high,b=o.low,x=s.high,S=s.low,C=u.high,w=u.low,T=d.high,E=d.low,D=f.high,O=f.low,k=p,A=m,j=h,M=g,N=_,P=v,ee=y,te=b,F=x,I=S,ne=C,L=w,re=T,R=E,ie=D,z=O,B=0;B<80;B++){var V,H,ae=l[B];if(B<16)H=ae.high=e[t+B*2]|0,V=ae.low=e[t+B*2+1]|0;else{var oe=l[B-15],U=oe.high,W=oe.low,se=(U>>>1|W<<31)^(U>>>8|W<<24)^U>>>7,ce=(W>>>1|U<<31)^(W>>>8|U<<24)^(W>>>7|U<<25),le=l[B-2],G=le.high,K=le.low,ue=(G>>>19|K<<13)^(G<<3|K>>>29)^G>>>6,de=(K>>>19|G<<13)^(K<<3|G>>>29)^(K>>>6|G<<26),fe=l[B-7],pe=fe.high,me=fe.low,he=l[B-16],ge=he.high,_e=he.low;V=ce+me,H=se+pe+(V>>>0>>0?1:0),V+=de,H=H+ue+(V>>>0>>0?1:0),V+=_e,H=H+ge+(V>>>0<_e>>>0?1:0),ae.high=H,ae.low=V}var ve=F&ne^~F&re,ye=I&L^~I&R,be=k&j^k&N^j&N,xe=A&M^A&P^M&P,Se=(k>>>28|A<<4)^(k<<30|A>>>2)^(k<<25|A>>>7),Ce=(A>>>28|k<<4)^(A<<30|k>>>2)^(A<<25|k>>>7),we=(F>>>14|I<<18)^(F>>>18|I<<14)^(F<<23|I>>>9),Te=(I>>>14|F<<18)^(I>>>18|F<<14)^(I<<23|F>>>9),Ee=c[B],De=Ee.high,Oe=Ee.low,q=z+Te,J=ie+we+(q>>>0>>0?1:0),q=q+ye,J=J+ve+(q>>>0>>0?1:0),q=q+Oe,J=J+De+(q>>>0>>0?1:0),q=q+V,J=J+H+(q>>>0>>0?1:0),ke=Ce+xe,Ae=Se+be+(ke>>>0>>0?1:0);ie=re,z=R,re=ne,R=L,ne=F,L=I,I=te+q|0,F=ee+J+(I>>>0>>0?1:0)|0,ee=N,te=P,N=j,P=M,j=k,M=A,A=q+ke|0,k=J+Ae+(A>>>0>>0?1:0)|0}m=r.low=m+A,r.high=p+k+(m>>>0>>0?1:0),g=i.low=g+M,i.high=h+j+(g>>>0>>0?1:0),v=a.low=v+P,a.high=_+N+(v>>>0

>>0?1:0),b=o.low=b+te,o.high=y+ee+(b>>>0>>0?1:0),S=s.low=S+I,s.high=x+F+(S>>>0>>0?1:0),w=u.low=w+L,u.high=C+ne+(w>>>0>>0?1:0),E=d.low=E+R,d.high=T+re+(E>>>0>>0?1:0),O=f.low=O+z,f.high=D+ie+(O>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+128>>>10<<5)+30]=Math.floor(n/4294967296),t[(r+128>>>10<<5)+31]=n,e.sigBytes=t.length*4,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:1024/32});t.SHA512=n._createHelper(u),t.HmacSHA512=n._createHmacHelper(u)})(),e.SHA512})})),ze=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),je(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`,`./sha512`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.x64,r=n.Word,i=n.WordArray,a=t.algo,o=a.SHA512,s=a.SHA384=o.extend({_doReset:function(){this._hash=new i.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=o._createHelper(s),t.HmacSHA384=o._createHmacHelper(s)})(),e.SHA384})})),Be=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),je()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.x64.Word,s=n.algo,c=[],l=[],u=[];(function(){for(var e=1,t=0,n=0;n<24;n++){c[e+5*t]=(n+1)*(n+2)/2%64;var r=t%5,i=(2*e+3*t)%5;e=r,t=i}for(var e=0;e<5;e++)for(var t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var a=1,s=0;s<24;s++){for(var d=0,f=0,p=0;p<7;p++){if(a&1){var m=(1<>>24)&16711935|(a<<24|a>>>8)&4278255360,o=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360;var s=n[i];s.high^=o,s.low^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,h=0,g=0;g<5;g++){var s=n[p+5*g];m^=s.high,h^=s.low}var _=d[p];_.high=m,_.low=h}for(var p=0;p<5;p++)for(var v=d[(p+4)%5],y=d[(p+1)%5],b=y.high,x=y.low,m=v.high^(b<<1|x>>>31),h=v.low^(x<<1|b>>>31),g=0;g<5;g++){var s=n[p+5*g];s.high^=m,s.low^=h}for(var S=1;S<25;S++){var m,h,s=n[S],C=s.high,w=s.low,T=c[S];T<32?(m=C<>>32-T,h=w<>>32-T):(m=w<>>64-T,h=C<>>64-T);var E=d[l[S]];E.high=m,E.low=h}var D=d[0],O=n[0];D.high=O.high,D.low=O.low;for(var p=0;p<5;p++)for(var g=0;g<5;g++){var S=p+5*g,s=n[S],k=d[S],A=d[(p+1)%5+5*g],j=d[(p+2)%5+5*g];s.high=k.high^~A.high&j.high,s.low=k.low^~A.low&j.low}var s=n[0],M=u[f];s.high^=M.high,s.low^=M.low}},_doFinalize:function(){var e=this._data,n=e.words;this._nDataBytes*8;var r=e.sigBytes*8,a=this.blockSize*32;n[r>>>5]|=1<<24-r%32,n[(t.ceil((r+1)/a)*a>>>5)-1]|=128,e.sigBytes=n.length*4,this._process();for(var o=this._state,s=this.cfg.outputLength/8,c=s/8,l=[],u=0;u>>24)&16711935|(f<<24|f>>>8)&4278255360,p=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,l.push(p),l.push(f)}return new i.init(l,s)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});n.SHA3=a._createHelper(f),n.HmacSHA3=a._createHmacHelper(f)})(Math),e.SHA3})})),Ve=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=i.create([0,1518500249,1859775393,2400959708,2840853838]),f=i.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}for(var a=this._hash.words,o=d.words,p=f.words,b=s.words,x=c.words,S=l.words,C=u.words,w,T,E,D,O,k=w=a[0],A=T=a[1],j=E=a[2],M=D=a[3],N=O=a[4],P,n=0;n<80;n+=1)P=w+e[t+b[n]]|0,n<16?P+=m(T,E,D)+o[0]:n<32?P+=h(T,E,D)+o[1]:n<48?P+=g(T,E,D)+o[2]:n<64?P+=_(T,E,D)+o[3]:P+=v(T,E,D)+o[4],P|=0,P=y(P,S[n]),P=P+O|0,w=O,O=D,D=y(E,10),E=T,T=P,P=k+e[t+x[n]]|0,n<16?P+=v(A,j,M)+p[0]:n<32?P+=_(A,j,M)+p[1]:n<48?P+=g(A,j,M)+p[2]:n<64?P+=h(A,j,M)+p[3]:P+=m(A,j,M)+p[4],P|=0,P=y(P,C[n]),P=P+N|0,k=N,N=M,M=y(j,10),j=A,A=P;P=a[1]+E+M|0,a[1]=a[2]+D+N|0,a[2]=a[3]+O+k|0,a[3]=a[4]+w+A|0,a[4]=a[0]+T+j|0,a[0]=P},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360,e.sigBytes=(t.length+1)*4,this._process();for(var i=this._hash,a=i.words,o=0;o<5;o++){var s=a[o];a[o]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360}return i},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,n){return e^t^n}function h(e,t,n){return e&t|~e&n}function g(e,t,n){return(e|~t)^n}function _(e,t,n){return e&n|t&~n}function v(e,t,n){return e^(t|~n)}function y(e,t){return e<>>32-t}n.RIPEMD160=a._createHelper(p),n.HmacRIPEMD160=a._createHmacHelper(p)})(Math),e.RIPEMD160})})),He=i(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(Y()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){(function(){var t=e,n=t.lib.Base,r=t.enc.Utf8,i=t.algo;i.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,typeof t==`string`&&(t=r.parse(t));var n=e.blockSize,i=n*4;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,l=0;l{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),Ie(),He()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.SHA256,s=a.HMAC,c=a.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=s.create(n.hasher,e),a=i.create(),o=i.create([1]),c=a.words,l=o.words,u=n.keySize,d=n.iterations;c.length{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),Fe(),He()):typeof define==`function`&&define.amd?define([`./core`,`./sha1`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.MD5,s=a.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n,r=this.cfg,a=r.hasher.create(),o=i.create(),s=o.words,c=r.keySize,l=r.iterations;s.length{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),Q()):typeof define==`function`&&define.amd?define([`./core`,`./evpkdf`],r):r(n.CryptoJS)})(e,function(e){e.lib.Cipher||function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=r.BufferedBlockAlgorithm,s=n.enc;s.Utf8;var c=s.Base64,l=n.algo.EvpKDF,u=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return typeof e==`string`?S:y}return function(t){return{encrypt:function(n,r,i){return e(r).encrypt(t,n,r,i)},decrypt:function(n,r,i){return e(r).decrypt(t,n,r,i)}}}}()});r.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var d=n.mode={},f=r.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),p=d.CBC=function(){var e=f.extend();e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),e.Decryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);r.decryptBlock(e,t),n.call(this,e,t,i),this._prevBlock=a}});function n(e,n,r){var i,a=this._iv;a?(i=a,this._iv=t):i=this._prevBlock;for(var o=0;o>>2]&255;e.sigBytes-=t}};r.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:h}),reset:function(){var e;u.reset.call(this);var t=this.cfg,n=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,n&&n.words):(this._mode=e.call(r,this,n&&n.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:128/32});var g=r.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=n.format={},v=_.OpenSSL={stringify:function(e){var t,n=e.ciphertext,r=e.salt;return t=r?a.create([1398893684,1701076831]).concat(r).concat(n):n,t.toString(c)},parse:function(e){var t,n=c.parse(e),r=n.words;return r[0]==1398893684&&r[1]==1701076831&&(t=a.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),g.create({ciphertext:n,salt:t})}},y=r.SerializableCipher=i.extend({cfg:i.extend({format:v}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),a=i.finalize(t),o=i.cfg;return g.create({ciphertext:a,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return typeof e==`string`?t.parse(e,this):e}}),b=n.kdf={},x=b.OpenSSL={execute:function(e,t,n,r,i){if(r||=a.random(64/8),i)var o=l.create({keySize:t+n,hasher:i}).compute(e,r);else var o=l.create({keySize:t+n}).compute(e,r);var s=a.create(o.words.slice(t),n*4);return o.sigBytes=t*4,g.create({key:o,iv:s,salt:r})}},S=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:x}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=r.kdf.execute(n,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=i.iv;var a=y.encrypt.call(this,e,t,i.key,r);return a.mixIn(i),a},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=i.iv,y.decrypt.call(this,e,t,i.key,r)}})}()})})),We=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CFB=function(){var t=e.lib.BlockCipherMode.extend();t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i,r),this._prevBlock=e.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);n.call(this,e,t,i,r),this._prevBlock=a}});function n(e,t,n,r){var i,a=this._iv;a?(i=a.slice(0),this._iv=void 0):i=this._prevBlock,r.encryptBlock(i,0);for(var o=0;o{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTR=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._counter;i&&(a=this._counter=i.slice(0),this._iv=void 0);var o=a.slice(0);n.encryptBlock(o,0),a[r-1]=a[r-1]+1|0;for(var s=0;s{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function n(e){if((e>>24&255)==255){var t=e>>16&255,n=e>>8&255,r=e&255;t===255?(t=0,n===255?(n=0,r===255?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}function r(e){return(e[0]=n(e[0]))===0&&(e[1]=n(e[1])),e}return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),r(o);var s=o.slice(0);n.encryptBlock(s,0);for(var c=0;c{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.OFB=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._keystream;i&&(a=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(a,0);for(var o=0;o{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.ECB=function(){var t=e.lib.BlockCipherMode.extend();return t.Encryptor=t.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),t.Decryptor=t.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),t}(),e.mode.ECB})})),Ye=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=t*4,i=r-n%r,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Ansix923})})),Xe=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso10126={pad:function(t,n){var r=n*4,i=r-t.sigBytes%r;t.concat(e.lib.WordArray.random(i-1)).concat(e.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Iso10126})})),Ze=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso97971={pad:function(t,n){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,n)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971})})),Qe=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.ZeroPadding={pad:function(e,t){var n=t*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(t[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},e.pad.ZeroPadding})})),$e=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding})})),et=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),$()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib.CipherParams,i=n.enc.Hex,a=n.format;a.Hex={stringify:function(e){return e.ciphertext.toString(i)},parse:function(e){var t=i.parse(e);return r.create({ciphertext:t})}}})(),e.format.Hex})})),tt=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo,i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[];(function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,r=0,t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^m&255^99,i[n]=m,a[m]=n;var h=e[n],g=e[h],_=e[g],v=e[m]*257^m*16843008;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,c[n]=v<<8|v>>>24,l[n]=v;var v=_*16843009^g*65537^h*257^n*16843008;u[m]=v<<24|v>>>8,d[m]=v<<16|v>>>16,f[m]=v<<8|v>>>24,p[m]=v,n?(n=h^e[e[e[_^h]]],r^=e[e[r]]):n=r=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],h=r.AES=n.extend({_doReset:function(){var e;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var t=this._keyPriorReset=this._key,n=t.words,r=t.sigBytes/4,a=((this._nRounds=r+6)+1)*4,o=this._keySchedule=[],s=0;s6&&s%r==4&&(e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255]):(e=e<<8|e>>>24,e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255],e^=m[s/r|0]<<24),o[s]=o[s-r]^e);for(var c=this._invKeySchedule=[],l=0;l>>24]]^d[i[e>>>16&255]]^f[i[e>>>8&255]]^p[i[e&255]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,c,l,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,u,d,f,p,a);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var c=this._nRounds,l=e[t]^n[0],u=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,m=1;m>>24]^i[u>>>16&255]^a[d>>>8&255]^o[f&255]^n[p++],g=r[u>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[l&255]^n[p++],_=r[d>>>24]^i[f>>>16&255]^a[l>>>8&255]^o[u&255]^n[p++],v=r[f>>>24]^i[l>>>16&255]^a[u>>>8&255]^o[d&255]^n[p++];l=h,u=g,d=_,f=v}var h=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[f&255])^n[p++],g=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[l&255])^n[p++],_=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[u&255])^n[p++],v=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[d&255])^n[p++];e[t]=h,e[t+1]=g,e[t+2]=_,e[t+3]=v},keySize:256/32});t.AES=n._createHelper(h)})(),e.AES})})),nt=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.BlockCipher,a=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=a.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=o[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],a=0;a<16;a++){for(var l=i[a]=[],u=c[a],n=0;n<24;n++)l[n/6|0]|=t[(s[n]-1+u)%28]<<31-n%6,l[4+(n/6|0)]|=t[28+(s[n+24]-1+u)%28]<<31-n%6;l[0]=l[0]<<1|l[0]>>>31;for(var n=1;n<7;n++)l[n]=l[n]>>>(n-1)*4+3;l[7]=l[7]<<5|l[7]>>>27}for(var d=this._invSubKeys=[],n=0;n<16;n++)d[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],a=this._lBlock,o=this._rBlock,s=0,c=0;c<8;c++)s|=l[c][((o^i[c])&u[c])>>>0];this._lBlock=o,this._rBlock=a^s}var d=this._lBlock;this._lBlock=this._rBlock,this._rBlock=d,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<192.`);var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=d.createEncryptor(r.create(t)),this._des2=d.createEncryptor(r.create(n)),this._des3=d.createEncryptor(r.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:192/32,ivSize:64/32,blockSize:64/32});t.TripleDES=i._createHelper(m)})(),e.TripleDES})})),rt=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=r.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;for(var i=0,a=0;i<256;i++){var o=i%n,s=t[o>>>2]>>>24-o%4*8&255;a=(a+r[i]+s)%256;var c=r[i];r[i]=r[a],r[a]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){t=(t+1)%256,n=(n+e[t])%256;var a=e[t];e[t]=e[n],e[n]=a,r|=e[(e[t]+e[n])%256]<<24-i*8}return this._i=t,this._j=n,r}t.RC4=n._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});t.RC4Drop=n._createHelper(o)})(),e.RC4})})),it=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.Rabbit=n.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=(e[n]<<8|e[n]>>>24)&16711935|(e[n]<<24|e[n]>>>8)&4278255360;var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;i[0]^=l,i[1]^=d,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=d,i[6]^=u,i[7]^=f;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.Rabbit=n._createHelper(s)})(),e.Rabbit})})),at=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.RabbitLegacy=n.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var i=0;i<4;i++)c.call(this);for(var i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;r[0]^=l,r[1]^=d,r[2]^=u,r[3]^=f,r[4]^=l,r[5]^=d,r[6]^=u,r[7]^=f;for(var i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.RabbitLegacy=n._createHelper(s)})(),e.RabbitLegacy})})),ot=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),X(),Z(),Q(),$()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo;let i=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function s(e,t){let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=t&255,o=e.sbox[0][n]+e.sbox[1][r];return o^=e.sbox[2][i],o+=e.sbox[3][a],o}function c(e,t,n){let r=t,i=n,a;for(let t=0;t<16;++t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[16],r^=e.pbox[17],{left:r,right:i}}function l(e,t,n){let r=t,i=n,a;for(let t=17;t>1;--t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[1],r^=e.pbox[0],{left:r,right:i}}function u(e,t,n){for(let t=0;t<4;t++){e.sbox[t]=[];for(let n=0;n<256;n++)e.sbox[t][n]=a[t][n]}let r=0;for(let a=0;a<18;a++)e.pbox[a]=i[a]^t[r],r++,r>=n&&(r=0);let o=0,s=0,l=0;for(let t=0;t<18;t+=2)l=c(e,o,s),o=l.left,s=l.right,e.pbox[t]=o,e.pbox[t+1]=s;for(let t=0;t<4;t++)for(let n=0;n<256;n+=2)l=c(e,o,s),o=l.left,s=l.right,e.sbox[t][n]=o,e.sbox[t][n+1]=s;return!0}var d=r.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var e=this._keyPriorReset=this._key,t=e.words;u(o,t,e.sigBytes/4)}},encryptBlock:function(e,t){var n=c(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},decryptBlock:function(e,t){var n=l(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},blockSize:64/32,keySize:128/32,ivSize:64/32});t.Blowfish=n._createHelper(d)})(),e.Blowfish})})),st=i(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(Y(),je(),Me(),Ne(),X(),Pe(),Z(),Fe(),Ie(),Le(),Re(),ze(),Be(),Ve(),He(),Ue(),Q(),$(),We(),Ge(),Ke(),qe(),Je(),Ye(),Xe(),Ze(),Qe(),$e(),et(),tt(),nt(),rt(),it(),at(),ot()):typeof define==`function`&&define.amd?define(`./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish`.split(`,`),r):n.CryptoJS=r(n.CryptoJS)})(e,function(e){return e})}));export{st as t}; \ No newline at end of file diff --git a/docs/assets/vendor-icons-W6Ny__75.js b/docs/assets/vendor-icons-W6Ny__75.js deleted file mode 100644 index f3b34ec..0000000 --- a/docs/assets/vendor-icons-W6Ny__75.js +++ /dev/null @@ -1 +0,0 @@ -import{It as e}from"./game-logic-CfBcTF_c.js";var t=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),r=e=>{let t=n(e);return t.charAt(0).toUpperCase()+t.slice(1)},i=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),a=e=>e===``,o={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},s=({name:n,iconNode:s,absoluteStrokeWidth:c,"absolute-stroke-width":l,strokeWidth:u,"stroke-width":d,size:f=o.width,color:p=o.stroke,...m},{slots:h})=>e(`svg`,{...o,...m,width:f,height:f,stroke:p,"stroke-width":a(c)||a(l)||c===!0||l===!0?Number(u||d||o[`stroke-width`])*24/Number(f):u||d||o[`stroke-width`],class:i(`lucide`,m.class,...n?[`lucide-${t(r(n))}-icon`,`lucide-${t(n)}`]:[`lucide-icon`])},[...s.map(t=>e(...t)),...h.default?[h.default()]:[]]),c=(t,n)=>(r,{slots:i,attrs:a})=>e(s,{...a,...r,iconNode:n,name:t},i),l=c(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),u=c(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),d=c(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),f=c(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),p=c(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),m=c(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),h=c(`clock`,[[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),g=c(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),_=c(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),v=c(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),y=c(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),b=c(`fuel`,[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`,key:`1wtuz0`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`,key:`e09ifn`}],[`path`,{d:`M2 21h13`,key:`1x0fut`}],[`path`,{d:`M3 9h11`,key:`1p7c0w`}]]),x=c(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),S=c(`grid-3x3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M3 15h18`,key:`5xshup`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),C=c(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),w=c(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),T=c(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),E=c(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),D=c(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),O=c(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),k=c(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),A=c(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),j=c(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),M=c(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),N=c(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),P=c(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),F=c(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),I=c(`recycle`,[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`,key:`x6z5xu`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`,key:`1x4zh5`}],[`path`,{d:`m14 16-3 3 3 3`,key:`f6jyew`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`,key:`wf1obh`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`,key:`9tzpgr`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`,key:`1oe83g`}]]),L=c(`rocket`,[[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z`,key:`m3kijz`}],[`path`,{d:`m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z`,key:`1fmvmk`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0`,key:`1f8sc4`}],[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}]]),R=c(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),z=c(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),B=c(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),V=c(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),H=c(`ship`,[[`path`,{d:`M12 10.189V14`,key:`1p8cqu`}],[`path`,{d:`M12 2v3`,key:`qbqxhf`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`,key:`qpkstq`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`,key:`7tigtc`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`1924j5`}]]),U=c(`skull`,[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`,key:`3me087`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`,key:`1o5pge`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}]]),W=c(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),G=c(`swords`,[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`,key:`1hfsw2`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`,key:`1vrmhu`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`,key:`1bron3`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`,key:`13pww6`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`,key:`hbey2j`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`,key:`1hf58s`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`,key:`pidxm4`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`,key:`1pehsh`}]]),K=c(`sword`,[[`path`,{d:`m11 19-6-6`,key:`s7kpr`}],[`path`,{d:`m5 21-2-2`,key:`1kw20b`}],[`path`,{d:`m8 16-4 4`,key:`1oqv8h`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`,key:`pkxemp`}]]),q=c(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),J=c(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Y=c(`trophy`,[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`,key:`1n3hpd`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`,key:`rfe1zi`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`,key:`7xy6bh`}],[`path`,{d:`M4 22h16`,key:`57wxv0`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`,key:`1mhfuq`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`,key:`tex48p`}]]),X=c(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),Z=c(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Q=c(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),$=c(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{w as A,m as B,j as C,D,O as E,y as F,l as G,f as H,v as I,_ as L,S as M,x as N,E as O,b as P,g as R,M as S,k as T,d as U,p as V,u as W,L as _,Y as a,P as b,K as c,U as d,H as f,R as g,z as h,X as i,C as j,T as k,G as l,B as m,Q as n,J as o,V as p,Z as r,q as s,$ as t,W as u,I as v,A as w,N as x,F as y,h as z}; \ No newline at end of file diff --git a/docs/assets/vendor-icons-z9V6Jdbh.js b/docs/assets/vendor-icons-z9V6Jdbh.js new file mode 100644 index 0000000..a3f9ab7 --- /dev/null +++ b/docs/assets/vendor-icons-z9V6Jdbh.js @@ -0,0 +1 @@ +import{in as e}from"./game-logic-Bi1l7y4K.js";var t=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),r=e=>{let t=n(e);return t.charAt(0).toUpperCase()+t.slice(1)},i=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),a=e=>e===``,o={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},s=({name:n,iconNode:s,absoluteStrokeWidth:c,"absolute-stroke-width":l,strokeWidth:u,"stroke-width":d,size:f=o.width,color:p=o.stroke,...m},{slots:h})=>e(`svg`,{...o,...m,width:f,height:f,stroke:p,"stroke-width":a(c)||a(l)||c===!0||l===!0?Number(u||d||o[`stroke-width`])*24/Number(f):u||d||o[`stroke-width`],class:i(`lucide`,m.class,...n?[`lucide-${t(r(n))}-icon`,`lucide-${t(n)}`]:[`lucide-icon`])},[...s.map(t=>e(...t)),...h.default?[h.default()]:[]]),c=(t,n)=>(r,{slots:i,attrs:a})=>e(s,{...a,...r,iconNode:n,name:t},i),l=c(`ban`,[[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),u=c(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),d=c(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),f=c(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),p=c(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),m=c(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),h=c(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),g=c(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),_=c(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),v=c(`clock`,[[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),y=c(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),b=c(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),x=c(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),S=c(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),C=c(`fuel`,[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`,key:`1wtuz0`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`,key:`e09ifn`}],[`path`,{d:`M2 21h13`,key:`1x0fut`}],[`path`,{d:`M3 9h11`,key:`1p7c0w`}]]),w=c(`gift`,[[`rect`,{x:`3`,y:`8`,width:`18`,height:`4`,rx:`1`,key:`bkv52`}],[`path`,{d:`M12 8v13`,key:`1c76mn`}],[`path`,{d:`M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7`,key:`6wjy6b`}],[`path`,{d:`M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5`,key:`1ihvrl`}]]),T=c(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),E=c(`grid-3x3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M3 15h18`,key:`5xshup`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),D=c(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),O=c(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),k=c(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),A=c(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),j=c(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),M=c(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),N=c(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),P=c(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),F=c(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),I=c(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),ee=c(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),L=c(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),R=c(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),z=c(`recycle`,[[`path`,{d:`M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5`,key:`x6z5xu`}],[`path`,{d:`M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12`,key:`1x4zh5`}],[`path`,{d:`m14 16-3 3 3 3`,key:`f6jyew`}],[`path`,{d:`M8.293 13.596 7.196 9.5 3.1 10.598`,key:`wf1obh`}],[`path`,{d:`m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843`,key:`9tzpgr`}],[`path`,{d:`m13.378 9.633 4.096 1.098 1.097-4.096`,key:`1oe83g`}]]),B=c(`rocket`,[[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z`,key:`m3kijz`}],[`path`,{d:`m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z`,key:`1fmvmk`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0`,key:`1f8sc4`}],[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}]]),V=c(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),H=c(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),U=c(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),W=c(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),G=c(`ship`,[[`path`,{d:`M12 10.189V14`,key:`1p8cqu`}],[`path`,{d:`M12 2v3`,key:`qbqxhf`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`,key:`qpkstq`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`,key:`7tigtc`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`1924j5`}]]),K=c(`skull`,[[`path`,{d:`m12.5 17-.5-1-.5 1h1z`,key:`3me087`}],[`path`,{d:`M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z`,key:`1o5pge`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}]]),q=c(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),J=c(`swords`,[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`,key:`1hfsw2`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`,key:`1vrmhu`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`,key:`1bron3`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`,key:`13pww6`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`,key:`hbey2j`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`,key:`1hf58s`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`,key:`pidxm4`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`,key:`1pehsh`}]]),Y=c(`sword`,[[`path`,{d:`m11 19-6-6`,key:`s7kpr`}],[`path`,{d:`m5 21-2-2`,key:`1kw20b`}],[`path`,{d:`m8 16-4 4`,key:`1oqv8h`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`,key:`pkxemp`}]]),X=c(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Z=c(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Q=c(`trophy`,[[`path`,{d:`M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978`,key:`1n3hpd`}],[`path`,{d:`M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978`,key:`rfe1zi`}],[`path`,{d:`M18 9h1.5a1 1 0 0 0 0-5H18`,key:`7xy6bh`}],[`path`,{d:`M4 22h16`,key:`57wxv0`}],[`path`,{d:`M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z`,key:`1mhfuq`}],[`path`,{d:`M6 9H4.5a1 1 0 0 1 0-5H6`,key:`tex48p`}]]),$=c(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),te=c(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),ne=c(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),re=c(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{O as A,v as B,F as C,j as D,M as E,C as F,p as G,g as H,S as I,u as J,f as K,x as L,E as M,T as N,A as O,w as P,b as R,I as S,N as T,h as U,_ as V,m as W,l as Y,B as _,Q as a,L as b,Y as c,K as d,G as f,V as g,H as h,$ as i,D as j,k,J as l,U as m,ne as n,Z as o,W as p,d as q,te as r,X as s,re as t,q as u,z as v,P as w,ee as x,R as y,y as z}; \ No newline at end of file diff --git a/docs/assets/vendor-others-CUjrprN5.js b/docs/assets/vendor-others-CUjrprN5.js deleted file mode 100644 index e9bcd4d..0000000 --- a/docs/assets/vendor-others-CUjrprN5.js +++ /dev/null @@ -1 +0,0 @@ -import{At as e,Cn as t,Ct as n,Dn as r,Dt as i,En as a,Et as o,Ht as s,Jt as c,Kt as l,Lt as u,Mt as d,Nt as f,On as p,Ot as m,Pt as h,Qt as g,Rt as _,Sn as v,Tn as y,Ut as b,Vt as x,Wt as S,Xt as C,Yt as w,_n as T,cn as E,fn as D,hn as O,in as k,jt as A,kt as j,mn as M,nn as N,on as ee,pn as te,sn as P,tn as ne,un as F,vn as re,xn as I,zt as L}from"./game-logic-CfBcTF_c.js";function ie(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;ttypeof e==`boolean`?`${e}`:e===0?`0`:e;const se=ae,ce=(e,t)=>n=>{if(t?.variants==null)return se(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=oe(t)||oe(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return se(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function le(e){return typeof e==`string`?`'${e}'`:new ue().serialize(e)}var ue=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function de(e,t){return e===t||le(e)===le(t)}function fe(e,t){let n=re();return N(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),M(n)}function R(e){return E()?(D(e),!0):!1}function pe(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return R(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function me(e){let t=!1,n,r=P(!0);return(...i)=>(t||=(n=r.run(()=>e(...i)),!0),n)}function he(e){let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return(...a)=>(t+=1,r||(r=P(!0),n=r.run(()=>e(...a))),R(i),n)}function ge(e){return F(e)?te(new Proxy({},{get(n,r,i){return t(Reflect.get(e.value,r,i))},set(t,n,r){return F(e.value[n])&&!F(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):te(e)}function _e(e){return ge(o(e))}function ve(e,...t){let n=t.flat(),r=n[0];return _e(()=>typeof r==`function`?Object.fromEntries(Object.entries(I(e)).filter(([e,t])=>!r(v(t),e))):Object.fromEntries(Object.entries(I(e)).filter(e=>!n.includes(e[0]))))}var ye=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var z=e=>e!==void 0,be=Object.prototype.toString,xe=e=>be.call(e)===`[object Object]`,Se=Ce();function Ce(){return ye&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function we(e){return e||h()}function Te(e){return Array.isArray(e)?e:[e]}function Ee(e,t=1e4){return ee((n,r)=>{let i=v(e),a,o=()=>setTimeout(()=>{i=v(e),r()},v(t));return R(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function De(e,t){we(t)&&b(e,t)}function Oe(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=re(!1),o=null;function s(){o&&=(clearTimeout(o),null)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=null,e(...n)},v(t))}return r&&(a.value=!0,ye&&l()),R(c),{isPending:M(a),start:l,stop:c}}function ke(e,t,n){return ne(e,t,{...n,immediate:!0})}function Ae(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function je(e,t,n=`.`,r){if(!Ae(t))return je(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ae(a)&&Ae(i[t])?i[t]=je(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Me(e){return(...t)=>t.reduce((t,n)=>je(t,n,``,e),{})}var Ne=Me(),Pe=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Fe=new WeakMap,Ie=new WeakMap,Le={},Re=0,ze=function(e){return e&&(e.host||ze(e.parentNode))},Be=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ze(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ve=function(e,t,n,r){var i=Be(t,Array.isArray(e)?e:[e]);Le[n]||(Le[n]=new WeakMap);var a=Le[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Fe.get(e)||0)+1,l=(a.get(e)||0)+1;Fe.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ie.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Re++,function(){o.forEach(function(e){var t=Fe.get(e)-1,i=a.get(e)-1;Fe.set(e,t),a.set(e,i),t||(Ie.has(e)||e.removeAttribute(r),Ie.delete(e)),i||e.removeAttribute(n)}),Re--,Re||(Fe=new WeakMap,Fe=new WeakMap,Ie=new WeakMap,Le={})}},He=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Pe(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ve(r,i,n,`aria-hidden`)):function(){return null}},Ue=[`top`,`right`,`bottom`,`left`],B=Math.min,V=Math.max,We=Math.round,Ge=Math.floor,H=e=>({x:e,y:e}),Ke={left:`right`,right:`left`,bottom:`top`,top:`bottom`},qe={start:`end`,end:`start`};function Je(e,t,n){return V(e,B(t,n))}function U(e,t){return typeof e==`function`?e(t):e}function W(e){return e.split(`-`)[0]}function Ye(e){return e.split(`-`)[1]}function Xe(e){return e===`x`?`y`:`x`}function Ze(e){return e===`y`?`height`:`width`}var Qe=new Set([`top`,`bottom`]);function G(e){return Qe.has(W(e))?`y`:`x`}function $e(e){return Xe(G(e))}function et(e,t,n){n===void 0&&(n=!1);let r=Ye(e),i=$e(e),a=Ze(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=lt(o)),[o,lt(o)]}function tt(e){let t=lt(e);return[nt(e),t,nt(t)]}function nt(e){return e.replace(/start|end/g,e=>qe[e])}var rt=[`left`,`right`],it=[`right`,`left`],at=[`top`,`bottom`],ot=[`bottom`,`top`];function st(e,t,n){switch(e){case`top`:case`bottom`:return n?t?it:rt:t?rt:it;case`left`:case`right`:return t?at:ot;default:return[]}}function ct(e,t,n,r){let i=Ye(e),a=st(W(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(nt)))),a}function lt(e){return e.replace(/left|right|bottom|top/g,e=>Ke[e])}function ut(e){return{top:0,right:0,bottom:0,left:0,...e}}function dt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ut(e)}function ft(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function pt(e,t,n){let{reference:r,floating:i}=e,a=G(t),o=$e(t),s=Ze(o),c=W(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ye(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}var mt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=pt(l,r,c),f=r,p={},m=0;for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=U(e,t)||{};if(l==null)return{};let d=dt(u),f={x:n,y:r},p=$e(i),m=Ze(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=B(d[_],T),D=B(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Je(O,A,k),M=!c.arrow&&Ye(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==G(t))||T.every(e=>G(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=G(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function vt(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function yt(e){return Ue.some(t=>e[t]>=0)}var bt=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n}=t,{strategy:r=`referenceHidden`,...i}=U(e,t);switch(r){case`referenceHidden`:{let e=vt(await ht(t,{...i,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:yt(e)}}}case`escaped`:{let e=vt(await ht(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:yt(e)}}}default:return{}}}}},xt=new Set([`left`,`top`]);async function St(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=W(n),s=Ye(n),c=G(n)===`y`,l=xt.has(o)?-1:1,u=a&&c?-1:1,d=U(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ct=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await St(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},wt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=U(e,t),l={x:n,y:r},u=await ht(t,c),d=G(W(i)),f=Xe(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=Je(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=Je(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},Tt=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=U(e,t),u={x:n,y:r},d=G(i),f=Xe(d),p=u[f],m=u[d],h=U(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=xt.has(W(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Et=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=U(e,t),u=await ht(t,l),d=W(i),f=Ye(i),p=G(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=B(h-u[g],v),x=B(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=V(u.left,0),t=V(u.right,0),n=V(u.top,0),r=V(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:V(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:V(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Dt(){return typeof window<`u`}function Ot(e){return kt(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){return((kt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function kt(e){return Dt()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return Dt()?e instanceof Element||e instanceof K(e).Element:!1}function Y(e){return Dt()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function At(e){return!Dt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}var jt=new Set([`inline`,`contents`]);function Mt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=X(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!jt.has(i)}var Nt=new Set([`table`,`td`,`th`]);function Pt(e){return Nt.has(Ot(e))}var Ft=[`:popover-open`,`:modal`];function It(e){return Ft.some(t=>{try{return e.matches(t)}catch{return!1}})}var Lt=[`transform`,`translate`,`scale`,`rotate`,`perspective`],Rt=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],zt=[`paint`,`layout`,`strict`,`content`];function Bt(e){let t=Ht(),n=J(e)?X(e):e;return Lt.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||Rt.some(e=>(n.willChange||``).includes(e))||zt.some(e=>(n.contain||``).includes(e))}function Vt(e){let t=Z(e);for(;Y(t)&&!Wt(t);){if(Bt(t))return t;if(It(t))return null;t=Z(t)}return null}function Ht(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var Ut=new Set([`html`,`body`,`#document`]);function Wt(e){return Ut.has(Ot(e))}function X(e){return K(e).getComputedStyle(e)}function Gt(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Z(e){if(Ot(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||At(e)&&e.host||q(e);return At(t)?t.host:t}function Kt(e){let t=Z(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Y(t)&&Mt(t)?t:Kt(t)}function qt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Kt(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Jt(a);return t.concat(a,a.visualViewport||[],Mt(r)?r:[],e&&n?qt(e):[])}return t.concat(r,qt(r,[],n))}function Jt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yt(e){let t=X(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Y(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=We(n)!==a||We(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Xt(e){return J(e)?e:e.contextElement}function Zt(e){let t=Xt(e);if(!Y(t))return H(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Yt(t),o=(a?We(n.width):n.width)/r,s=(a?We(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Qt=H(0);function $t(e){let t=K(e);return!Ht()||!t.visualViewport?Qt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function en(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function tn(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Xt(e),o=H(1);t&&(r?J(r)&&(o=Zt(r)):o=Zt(e));let s=en(a,n,r)?$t(a):H(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&J(r)?K(r):r,n=e,i=Jt(n);for(;i&&r&&t!==n;){let e=Zt(i),t=i.getBoundingClientRect(),r=X(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=Jt(n)}}return ft({width:u,height:d,x:c,y:l})}function nn(e,t){let n=Gt(e).scrollLeft;return t?t.left+n:tn(q(e)).left+n}function rn(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-nn(e,n),y:n.top+t.scrollTop}}function an(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=q(r),s=t?It(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=H(1),u=H(0),d=Y(r);if((d||!d&&!a)&&((Ot(r)!==`body`||Mt(o))&&(c=Gt(r)),Y(r))){let e=tn(r);l=Zt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?rn(o,c):H(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function on(e){return Array.from(e.getClientRects())}function sn(e){let t=q(e),n=Gt(e),r=e.ownerDocument.body,i=V(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=V(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+nn(e),s=-n.scrollTop;return X(r).direction===`rtl`&&(o+=V(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var cn=25;function ln(e,t){let n=K(e),r=q(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ht();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=nn(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=cn&&(a-=o)}else l<=cn&&(a+=l);return{width:a,height:o,x:s,y:c}}var un=new Set([`absolute`,`fixed`]);function dn(e,t){let n=tn(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Y(e)?Zt(e):H(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function fn(e,t,n){let r;if(t===`viewport`)r=ln(e,n);else if(t===`document`)r=sn(q(e));else if(J(t))r=dn(t,n);else{let n=$t(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ft(r)}function pn(e,t){let n=Z(e);return n===t||!J(n)||Wt(n)?!1:X(n).position===`fixed`||pn(n,t)}function mn(e,t){let n=t.get(e);if(n)return n;let r=qt(e,[],!1).filter(e=>J(e)&&Ot(e)!==`body`),i=null,a=X(e).position===`fixed`,o=a?Z(e):e;for(;J(o)&&!Wt(o);){let t=X(o),n=Bt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&un.has(i.position)||Mt(o)&&!n&&pn(e,o))?r=r.filter(e=>e!==o):i=t,o=Z(o)}return t.set(e,r),r}function hn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?It(t)?[]:mn(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=fn(t,n,i);return e.top=V(r.top,e.top),e.right=B(r.right,e.right),e.bottom=B(r.bottom,e.bottom),e.left=V(r.left,e.left),e},fn(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function gn(e){let{width:t,height:n}=Yt(e);return{width:t,height:n}}function _n(e,t,n){let r=Y(t),i=q(t),a=n===`fixed`,o=tn(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=H(0);function l(){c.x=nn(i)}if(r||!r&&!a)if((Ot(t)!==`body`||Mt(i))&&(s=Gt(t)),r){let e=tn(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?rn(i,s):H(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function vn(e){return X(e).position===`static`}function yn(e,t){if(!Y(e)||X(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return q(e)===n&&(n=n.ownerDocument.body),n}function bn(e,t){let n=K(e);if(It(e))return n;if(!Y(e)){let t=Z(e);for(;t&&!Wt(t);){if(J(t)&&!vn(t))return t;t=Z(t)}return n}let r=yn(e,t);for(;r&&Pt(r)&&vn(r);)r=yn(r,t);return r&&Wt(r)&&vn(r)&&!Bt(r)?n:r||Vt(e)||n}var xn=async function(e){let t=this.getOffsetParent||bn,n=this.getDimensions,r=await n(e.floating);return{reference:_n(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Sn(e){return X(e).direction===`rtl`}var Cn={convertOffsetParentRelativeRectToViewportRelativeRect:an,getDocumentElement:q,getClippingRect:hn,getOffsetParent:bn,getElementRects:xn,getClientRects:on,getDimensions:gn,getScale:Zt,isElement:J,isRTL:Sn};function wn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Tn(e,t){let n=null,r,i=q(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ge(d),h=Ge(i.clientWidth-(u+f)),g=Ge(i.clientHeight-(d+p)),_=Ge(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:V(0,B(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!wn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function En(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Xt(e),u=i||a?[...l?qt(l):[],...qt(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Tn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?tn(e):null;c&&g();function g(){let t=tn(e);h&&!wn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Dn=Ct,On=wt,kn=_t,An=Et,jn=bt,Mn=gt,Nn=Tt,Pn=(e,t,n)=>{let r=new Map,i={platform:Cn,...n},a={...i.platform,_c:r};return mt(e,t,{...i,platform:a})};function Fn(e){return typeof e==`object`&&!!e&&`$el`in e}function In(e){if(Fn(e)){let t=e.$el;return kt(t)&&Ot(t)===`#comment`?null:t}return e}function Ln(e){return typeof e==`function`?e():t(e)}function Rn(e){return{name:`arrow`,options:e,fn(t){let n=In(Ln(e.element));return n==null?{}:Mn({element:n,padding:e.padding}).fn(t)}}}function zn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Bn(e,t){let n=zn(e);return Math.round(t*n)/n}function Vn(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=o(()=>Ln(n.open)??!0),a=o(()=>Ln(n.middleware)),s=o(()=>Ln(n.placement)??`bottom`),c=o(()=>Ln(n.strategy)??`absolute`),l=o(()=>Ln(n.transform)??!0),u=o(()=>In(e.value)),d=o(()=>In(t.value)),f=O(0),p=O(0),m=O(c.value),h=O(s.value),g=re({}),_=O(!1),v=o(()=>{let e={position:m.value,left:`0`,top:`0`};if(!d.value)return e;let t=Bn(d.value,f.value),n=Bn(d.value,p.value);return l.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...zn(d.value)>=1.5&&{willChange:`transform`}}:{position:m.value,left:t+`px`,top:n+`px`}}),y;function b(){if(u.value==null||d.value==null)return;let e=i.value;Pn(u.value,d.value,{middleware:a.value,placement:s.value,strategy:c.value}).then(t=>{f.value=t.x,p.value=t.y,m.value=t.strategy,h.value=t.placement,g.value=t.middlewareData,_.value=e!==!1})}function x(){typeof y==`function`&&(y(),y=void 0)}function S(){if(x(),r===void 0){b();return}if(u.value!=null&&d.value!=null){y=r(u.value,d.value,b);return}}function C(){i.value||(_.value=!1)}return ne([a,s,c,i],b,{flush:`sync`}),ne([u,d],S,{flush:`sync`}),ne(i,C,{flush:`sync`}),E()&&D(x),{x:T(f),y:T(p),strategy:T(m),placement:T(h),middlewareData:T(g),isPositioned:T(_),floatingStyles:v,update:b}}var Hn=new WeakMap,Un=(...e)=>{let t=e[0],n=h()?.proxy??E();if(n==null&&!u())throw Error(`injectLocal must be called in setup`);return n&&Hn.has(n)&&t in Hn.get(n)?Hn.get(n)[t]:_(...e)},Wn=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Gn=e=>e!==void 0,Kn=Object.prototype.toString,qn=e=>Kn.call(e)===`[object Object]`;function Jn(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function Yn(e){return Array.isArray(e)?e:[e]}function Xn(e){return F(e)?te(new Proxy({},{get(n,r,i){return t(Reflect.get(e.value,r,i))},set(t,n,r){return F(e.value[n])&&!F(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):te(e)}function Zn(e){return Xn(o(e))}function Qn(e,...t){let n=t.flat(),r=n[0];return Zn(()=>typeof r==`function`?Object.fromEntries(Object.entries(I(e)).filter(([e,t])=>!r(v(t),e))):Object.fromEntries(Object.entries(I(e)).filter(e=>!n.includes(e[0]))))}function $n(e,t,n){return ne(e,t,{...n,immediate:!0})}var er=1,Q=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:er++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],L(e))i=!1,this.create({id:n,type:`default`,message:e});else if(nr(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!L(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!L(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!L(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!L(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||er++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function tr(e,t){let n=t?.id||er++;return Q.create({message:e,id:n,type:`default`,...t}),n}var nr=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,rr=tr,ir=Object.assign(rr,{success:Q.success,info:Q.info,warning:Q.warning,error:Q.error,custom:Q.custom,message:Q.message,promise:Q.promise,dismiss:Q.dismiss,loading:Q.loading},{getHistory:()=>Q.toasts,getToasts:()=>Q.getActiveToasts()});function ar(e){return e.label!==void 0}var or=3,sr=`24px`,cr=`16px`,lr=4e3,ur=356,dr=14,fr=45,pr=200;function mr(){let e=O(!1);return N(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function $(...e){return e.filter(Boolean).join(` `)}function hr(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function gr(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?cr:sr;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var _r=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],vr=[`aria-label`,`data-disabled`,`data-close-button-position`],yr=f({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(c,{emit:u}){let d=c,f=u,h=O(null),g=O(null),_=O(!1),v=O(!1),T=O(!1),E=O(!1),D=O(!1),k=O(0),M=O(0),ee=O(d.toast.duration||d.duration||lr),te=O(null),P=O(null),F=o(()=>d.index===0),re=o(()=>d.index+1<=d.visibleToasts),I=o(()=>d.toast.type),L=o(()=>d.toast.dismissible!==!1),ie=o(()=>d.toast.class||``),ae=o(()=>d.descriptionClass||``),oe=o(()=>{let e=d.toast.position||d.position,t=d.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===d.toast.id);return t>=0?t:0}),se=o(()=>{let e=d.toast.position||d.position;return d.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=oe.value?e:e+t.height,0)}),ce=o(()=>oe.value*d.gap+se.value||0),le=o(()=>d.toast.closeButton??d.closeButton),ue=o(()=>d.toast.duration||d.duration||lr),de=O(0),fe=O(0),R=O(null),pe=o(()=>d.position.split(`-`)),me=o(()=>pe.value[0]),he=o(()=>pe.value[1]),ge=o(()=>typeof d.toast.title!=`string`),_e=o(()=>typeof d.toast.description!=`string`),{isDocumentHidden:ve}=mr(),ye=o(()=>I.value&&I.value===`loading`);S(()=>{_.value=!0,ee.value=ue.value}),N(async()=>{if(!_.value||!P.value)return;await s();let e=P.value,t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,M.value=n,f(`update:height`,{toastId:d.toast.id,height:n,position:d.toast.position||d.position})});function z(){v.value=!0,k.value=ce.value,setTimeout(()=>{f(`removeToast`,d.toast)},pr)}function be(){if(ye.value||!L.value)return{};z(),d.toast.onDismiss?.(d.toast)}function xe(e){e.button!==2&&(ye.value||!L.value||(te.value=new Date,k.value=ce.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(T.value=!0,R.value={x:e.clientX,y:e.clientY})))}function Se(){if(E.value||!L.value)return;R.value=null;let e=Number(P.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(P.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(te.value?.getTime()||0),r=h.value===`x`?e:t,i=Math.abs(r)/n;if(Math.abs(r)>=fr||i>.11){k.value=ce.value,d.toast.onDismiss?.(d.toast),h.value===`x`?g.value=e>0?`right`:`left`:g.value=t>0?`down`:`up`,z(),E.value=!0;return}else P.value?.style.setProperty(`--swipe-amount-x`,`0px`),P.value?.style.setProperty(`--swipe-amount-y`,`0px`);D.value=!1,T.value=!1,h.value=null}function Ce(e){if(!R.value||!L.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-R.value.y,n=e.clientX-R.value.x,r=d.swipeDirections??hr(d.position);!h.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(h.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let i={x:0,y:0},a=e=>1/(1.5+Math.abs(e)/20);if(h.value===`y`){if(r.includes(`top`)||r.includes(`bottom`))if(r.includes(`top`)&&t<0||r.includes(`bottom`)&&t>0)i.y=t;else{let e=t*a(t);i.y=Math.abs(e)0)i.x=n;else{let e=n*a(n);i.x=Math.abs(e)0||Math.abs(i.y)>0)&&(D.value=!0),P.value?.style.setProperty(`--swipe-amount-x`,`${i.x}px`),P.value?.style.setProperty(`--swipe-amount-y`,`${i.y}px`)}S(()=>{if(_.value=!0,!P.value)return;let e=P.value.getBoundingClientRect().height;M.value=e,f(`update:heights`,[{toastId:d.toast.id,height:e,position:d.toast.position},...d.heights])}),b(()=>{P.value&&f(`removeToast`,d.toast)}),N(e=>{if(d.toast.promise&&I.value===`loading`||d.toast.duration===1/0||d.toast.type===`loading`)return;let t;d.expanded||d.interacting||ve.value?(()=>{if(fe.value{d.toast.onAutoClose?.(d.toast),z()},ee.value)),e(()=>{clearTimeout(t)})}),ne(()=>d.toast.delete,e=>{e!==void 0&&e&&(z(),d.toast.onDismiss?.(d.toast))},{deep:!0});function we(){T.value=!1,h.value=null,R.value=null}return(o,s)=>(l(),e(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:P,class:y(t($)(d.class,ie.value,o.classes?.toast,o.toast.classes?.toast,o.classes?.[I.value],o.toast?.classes?.[I.value])),"data-sonner-toast":``,"data-rich-colors":o.toast.richColors??o.defaultRichColors,"data-styled":!(o.toast.component||o.toast?.unstyled||o.unstyled),"data-mounted":_.value,"data-promise":!!o.toast.promise,"data-swiped":D.value,"data-removed":v.value,"data-visible":re.value,"data-y-position":me.value,"data-x-position":he.value,"data-index":o.index,"data-front":F.value,"data-swiping":T.value,"data-dismissible":L.value,"data-type":I.value,"data-invert":o.toast.invert||o.invert,"data-swipe-out":E.value,"data-swipe-direction":g.value,"data-expanded":!!(o.expanded||o.expandByDefault&&_.value),"data-testid":o.toast.testId,style:r({"--index":o.index,"--toasts-before":o.index,"--z-index":o.toasts.length-o.index,"--offset":`${v.value?k.value:ce.value}px`,"--initial-height":o.expandByDefault?`auto`:`${M.value}px`,...o.style,...d.toast.style}),onDragend:we,onPointerdown:xe,onPointerup:Se,onPointermove:Ce},[le.value&&!o.toast.component&&I.value!==`loading`?(l(),e(`button`,{key:0,"aria-label":o.closeButtonAriaLabel||`Close toast`,"data-disabled":ye.value,"data-close-button":`true`,"data-close-button-position":o.closeButtonPosition,class:y(t($)(o.classes?.closeButton,o.toast?.classes?.closeButton)),onClick:be},[o.icons?.close?(l(),m(C(o.icons?.close),{key:0})):w(o.$slots,`close-icon`,{key:1})],10,vr)):j(`v-if`,!0),o.toast.component?(l(),m(C(o.toast.component),x({key:1},o.toast.componentProps,{onCloseToast:be,isPaused:o.$props.expanded||o.$props.interacting||t(ve)}),null,16,[`isPaused`])):(l(),e(n,{key:2},[I.value!==`default`||o.toast.icon||o.toast.promise?(l(),e(`div`,{key:0,"data-icon":``,class:y(t($)(o.classes?.icon,o.toast?.classes?.icon))},[o.toast.icon?(l(),m(C(o.toast.icon),{key:0})):(l(),e(n,{key:1},[I.value===`loading`?w(o.$slots,`loading-icon`,{key:0}):I.value===`success`?w(o.$slots,`success-icon`,{key:1}):I.value===`error`?w(o.$slots,`error-icon`,{key:2}):I.value===`warning`?w(o.$slots,`warning-icon`,{key:3}):I.value===`info`?w(o.$slots,`info-icon`,{key:4}):j(`v-if`,!0)],64))],2)):j(`v-if`,!0),i(`div`,{"data-content":``,class:y(t($)(o.classes?.content,o.toast?.classes?.content))},[i(`div`,{"data-title":``,class:y(t($)(o.classes?.title,o.toast.classes?.title))},[ge.value?(l(),m(C(o.toast.title),a(x({key:0},o.toast.componentProps)),null,16)):(l(),e(n,{key:1},[A(p(o.toast.title),1)],64))],2),o.toast.description?(l(),e(`div`,{key:0,"data-description":``,class:y(t($)(o.descriptionClass,ae.value,o.classes?.description,o.toast.classes?.description))},[_e.value?(l(),m(C(o.toast.description),a(x({key:0},o.toast.componentProps)),null,16)):(l(),e(n,{key:1},[A(p(o.toast.description),1)],64))],2)):j(`v-if`,!0)],2),o.toast.cancel?(l(),e(`button`,{key:1,style:r(o.toast.cancelButtonStyle||o.cancelButtonStyle),class:y(t($)(o.classes?.cancelButton,o.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:s[0]||=e=>{t(ar)(o.toast.cancel)&&L.value&&(o.toast.cancel.onClick?.(e),z())}},p(t(ar)(o.toast.cancel)?o.toast.cancel?.label:o.toast.cancel),7)):j(`v-if`,!0),o.toast.action?(l(),e(`button`,{key:2,style:r(o.toast.actionButtonStyle||o.actionButtonStyle),class:y(t($)(o.classes?.actionButton,o.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:s[1]||=e=>{t(ar)(o.toast.action)&&(o.toast.action.onClick?.(e),!e.defaultPrevented&&z())}},p(t(ar)(o.toast.action)?o.toast.action?.label:o.toast.action),7)):j(`v-if`,!0)],64))],46,_r))}}),br=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},xr={},Sr={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cr(t,n){return l(),e(`svg`,Sr,n[0]||=[i(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),i(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var wr=br(xr,[[`render`,Cr]]),Tr=[`data-visible`],Er={class:`sonner-spinner`},Dr=f({__name:`Loader`,props:{visible:{type:Boolean}},setup(r){let a=Array(12).fill(0);return(r,o)=>(l(),e(`div`,{class:`sonner-loading-wrapper`,"data-visible":r.visible},[i(`div`,Er,[(l(!0),e(n,null,c(t(a),t=>(l(),e(`div`,{key:`spinner-bar-${t}`,class:`sonner-loading-bar`}))),128))])],8,Tr))}}),Or={},kr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Ar(t,n){return l(),e(`svg`,kr,n[0]||=[i(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var jr=br(Or,[[`render`,Ar]]),Mr={},Nr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Pr(t,n){return l(),e(`svg`,Nr,n[0]||=[i(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var Fr=br(Mr,[[`render`,Pr]]),Ir={},Lr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function Rr(t,n){return l(),e(`svg`,Lr,n[0]||=[i(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var zr=br(Ir,[[`render`,Rr]]),Br={},Vr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Hr(t,n){return l(),e(`svg`,Vr,n[0]||=[i(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var Ur=br(Br,[[`render`,Hr]]),Wr=[`aria-label`],Gr=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],Kr=typeof window<`u`&&typeof document<`u`;function qr(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Jr=f({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:dr},visibleToasts:{default:or},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:sr},mobileOffset:{default:cr},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(a){let u=a,f=g(),p=O([]),h=o(()=>u.id?p.value.filter(e=>e.toasterId===u.id):p.value.filter(e=>!e.toasterId));function _(e,t){return h.value.filter(n=>!n.position&&t===0||n.position===e)}let v=o(()=>{let e=h.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([u.position].concat(e))):[u.position]}),b=o(()=>{let e={};return v.value.forEach(t=>{e[t]=p.value.filter(e=>e.position===t)}),e}),S=O([]),C=O({}),T=O(!1);N(()=>{v.value.forEach(e=>{e in C.value||(C.value[e]=!1)})});let E=O(u.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:u.theme),D=O(null),A=O(null),M=O(!1),ee=u.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function te(e){p.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),p.value=p.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{p.value.find(t=>t.id===e.id)||(S.value=S.value.filter(t=>t.toastId!==e.id))},pr+50)}function P(e){M.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(M.value=!1,A.value&&=(A.value.focus({preventScroll:!0}),null))}function ne(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||M.value||(M.value=!0,A.value=e.relatedTarget)}function F(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(T.value=!0)}N(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{p.value=p.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}s(()=>{let t=p.value.findIndex(t=>t.id===e.id);t===-1?p.value=[e,...p.value]:p.value=[...p.value.slice(0,t),{...p.value[t],...e},...p.value.slice(t+1)]})}))}),N(e=>{if(typeof window>`u`)return;if(u.theme!==`system`){E.value=u.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=e=>{E.value=e?`dark`:`light`};n(t.matches);let r=e=>{n(e.matches)};try{t.addEventListener(`change`,r)}catch{t.addListener(r)}e(()=>{try{t.removeEventListener(`change`,r)}catch{t.removeListener(r)}})}),N(()=>{D.value&&A.value&&(A.value.focus({preventScroll:!0}),A.value=null,M.value=!1)}),N(()=>{p.value.length<=1&&Object.keys(C.value).forEach(e=>{C.value[e]=!1})}),N(e=>{function t(e){let t=u.hotkey.every(t=>e[t]||e.code===t),n=Array.isArray(D.value)?D.value[0]:D.value;t&&(v.value.forEach(e=>{C.value[e]=!0}),n?.focus());let r=document.activeElement===D.value||n?.contains(document.activeElement);e.code===`Escape`&&r&&v.value.forEach(e=>{C.value[e]=!1})}Kr&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function re(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);C.value[n]=!0}function I(e){if(!T.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);C.value[n]=!1}}function L(){Object.keys(C.value).forEach(e=>{C.value[e]=!1})}function ie(){T.value=!1}function ae(e){S.value=e}function oe(e){let t=S.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)S.value[t]=e;else{let t=S.value.findIndex(t=>t.position===e.position);t===-1?S.value.unshift(e):S.value.splice(t,0,e)}}return(a,o)=>(l(),e(n,null,[j(` Remove item from normal navigation flow, only available via hotkey `),i(`section`,{"aria-label":`${a.containerAriaLabel} ${t(ee)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(l(!0),e(n,null,c(v.value,(i,o)=>(l(),e(`ol`,x({key:i,ref_for:!0,ref_key:`listRef`,ref:D,"data-sonner-toaster":``,"data-sonner-theme":E.value,class:u.class,dir:a.dir===`auto`?qr():a.dir,tabIndex:-1,"data-theme":a.theme,"data-rich-colors":a.richColors,"data-y-position":i.split(`-`)[0],"data-x-position":i.split(`-`)[1],style:{"--front-toast-height":`${S.value[0]?.height||0}px`,"--width":`${t(ur)}px`,"--gap":`${a.gap}px`,...a.style,...t(f).style,...t(gr)(a.offset,a.mobileOffset)}},{ref_for:!0},a.$attrs,{onBlur:P,onFocus:ne,onMouseenter:re,onMousemove:re,onMouseleave:I,onDragend:L,onPointerdown:F,onPointerup:ie}),[(l(!0),e(n,null,c(_(i,o),(e,t)=>(l(),m(yr,{key:e.id,heights:S.value,icons:a.icons,index:t,toast:e,defaultRichColors:a.richColors,duration:a.toastOptions?.duration??a.duration,class:y(a.toastOptions?.class??``),descriptionClass:a.toastOptions?.descriptionClass,invert:a.invert,visibleToasts:a.visibleToasts,closeButton:a.toastOptions?.closeButton??a.closeButton,interacting:T.value,position:i,closeButtonPosition:a.toastOptions?.closeButtonPosition??a.closeButtonPosition,style:r(a.toastOptions?.style),unstyled:a.toastOptions?.unstyled,classes:a.toastOptions?.classes,cancelButtonStyle:a.toastOptions?.cancelButtonStyle,actionButtonStyle:a.toastOptions?.actionButtonStyle,"close-button-aria-label":a.toastOptions?.closeButtonAriaLabel,toasts:b.value[i],expandByDefault:a.expand,gap:a.gap,expanded:C.value[i]||!1,swipeDirections:u.swipeDirections,"onUpdate:heights":ae,"onUpdate:height":oe,onRemoveToast:te},{"close-icon":k(()=>[w(a.$slots,`close-icon`,{},()=>[d(wr)])]),"loading-icon":k(()=>[w(a.$slots,`loading-icon`,{},()=>[d(Dr,{visible:e.type===`loading`},null,8,[`visible`])])]),"success-icon":k(()=>[w(a.$slots,`success-icon`,{},()=>[d(jr)])]),"error-icon":k(()=>[w(a.$slots,`error-icon`,{},()=>[d(Ur)])]),"warning-icon":k(()=>[w(a.$slots,`warning-icon`,{},()=>[d(zr)])]),"info-icon":k(()=>[w(a.$slots,`info-icon`,{},()=>[d(Fr)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,Gr))),128))],8,Wr)],2112))}});export{ve as A,pe as C,z as D,ye as E,Oe as F,ke as I,de as L,Te as M,De as N,Se as O,R as P,ce as R,fe as S,he as T,Dn as _,Gn as a,He as b,Qn as c,Rn as d,Vn as f,Nn as g,jn as h,Wn as i,Ee as j,xe as k,Yn as l,kn as m,ir as n,qn as o,En as p,Un as r,Jn as s,Jr as t,$n as u,On as v,me as w,Ne as x,An as y,ae as z}; \ No newline at end of file diff --git a/docs/assets/vendor-others-DTUzJ7S-.js b/docs/assets/vendor-others-DTUzJ7S-.js new file mode 100644 index 0000000..35705f0 --- /dev/null +++ b/docs/assets/vendor-others-DTUzJ7S-.js @@ -0,0 +1 @@ +import{$t as e,An as t,Bn as n,Cn as r,En as i,Fn as a,Gn as o,Gt as s,In as c,Jn as l,Jt as u,Ln as d,Mn as f,On as p,Pn as m,Qt as h,Un as g,Wn as _,Xn as v,Xt as y,Yn as b,Yt as x,Zt as S,_n as C,an as w,bn as T,dn as E,en as D,fn as O,gn as k,kn as A,ln as j,mn as M,nn as N,on as ee,qn as P,sn as te,tn as F,un as ne,vn as re,wn as I,zn as L}from"./game-logic-Bi1l7y4K.js";function ie(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;ttypeof e==`boolean`?`${e}`:e===0?`0`:e;const se=ae,ce=(e,t)=>n=>{if(t?.variants==null)return se(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=oe(t)||oe(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return se(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function le(e){return typeof e==`string`?`'${e}'`:new ue().serialize(e)}var ue=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function de(e,t){return e===t||le(e)===le(t)}function fe(e,t){let r=n();return I(()=>{r.value=e()},{...t,flush:t?.flush??`sync`}),c(r)}function R(e){return t()?(m(e),!0):!1}function pe(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return R(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function me(e){let t=!1,n,r=A(!0);return(...i)=>(t||=(n=r.run(()=>e(...i)),!0),n)}function he(e){let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return(...a)=>(t+=1,r||(r=A(!0),n=r.run(()=>e(...a))),R(i),n)}function ge(e){return f(e)?a(new Proxy({},{get(t,n,r){return o(Reflect.get(e.value,n,r))},set(t,n,r){return f(e.value[n])&&!f(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):a(e)}function _e(e){return ge(u(e))}function ve(e,...t){let n=t.flat(),r=n[0];return _e(()=>typeof r==`function`?Object.fromEntries(Object.entries(g(e)).filter(([e,t])=>!r(_(t),e))):Object.fromEntries(Object.entries(g(e)).filter(e=>!n.includes(e[0]))))}var ye=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var z=e=>e!==void 0,be=Object.prototype.toString,xe=e=>be.call(e)===`[object Object]`,Se=Ce();function Ce(){return ye&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function we(e){return e||N()}function Te(e){return Array.isArray(e)?e:[e]}function Ee(e,t=1e4){return p((n,r)=>{let i=_(e),a,o=()=>setTimeout(()=>{i=_(e),r()},_(t));return R(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function De(e,t){we(t)&&E(e,t)}function Oe(e,t,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=n(!1),s=null;function l(){s&&=(clearTimeout(s),null)}function u(){o.value=!1,l()}function d(...n){a&&e(),l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...n)},_(t))}return i&&(o.value=!0,ye&&d()),R(u),{isPending:c(o),start:d,stop:u}}function ke(e,t,n){return r(e,t,{...n,immediate:!0})}function Ae(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function je(e,t,n=`.`,r){if(!Ae(t))return je(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ae(a)&&Ae(i[t])?i[t]=je(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Me(e){return(...t)=>t.reduce((t,n)=>je(t,n,``,e),{})}var Ne=Me(),Pe=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Fe=new WeakMap,Ie=new WeakMap,Le={},Re=0,ze=function(e){return e&&(e.host||ze(e.parentNode))},Be=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ze(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ve=function(e,t,n,r){var i=Be(t,Array.isArray(e)?e:[e]);Le[n]||(Le[n]=new WeakMap);var a=Le[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Fe.get(e)||0)+1,l=(a.get(e)||0)+1;Fe.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ie.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Re++,function(){o.forEach(function(e){var t=Fe.get(e)-1,i=a.get(e)-1;Fe.set(e,t),a.set(e,i),t||(Ie.has(e)||e.removeAttribute(r),Ie.delete(e)),i||e.removeAttribute(n)}),Re--,Re||(Fe=new WeakMap,Fe=new WeakMap,Ie=new WeakMap,Le={})}},He=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Pe(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ve(r,i,n,`aria-hidden`)):function(){return null}},Ue=[`top`,`right`,`bottom`,`left`],B=Math.min,V=Math.max,We=Math.round,Ge=Math.floor,H=e=>({x:e,y:e}),Ke={left:`right`,right:`left`,bottom:`top`,top:`bottom`},qe={start:`end`,end:`start`};function Je(e,t,n){return V(e,B(t,n))}function U(e,t){return typeof e==`function`?e(t):e}function W(e){return e.split(`-`)[0]}function Ye(e){return e.split(`-`)[1]}function Xe(e){return e===`x`?`y`:`x`}function Ze(e){return e===`y`?`height`:`width`}var Qe=new Set([`top`,`bottom`]);function G(e){return Qe.has(W(e))?`y`:`x`}function $e(e){return Xe(G(e))}function et(e,t,n){n===void 0&&(n=!1);let r=Ye(e),i=$e(e),a=Ze(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=lt(o)),[o,lt(o)]}function tt(e){let t=lt(e);return[nt(e),t,nt(t)]}function nt(e){return e.replace(/start|end/g,e=>qe[e])}var rt=[`left`,`right`],it=[`right`,`left`],at=[`top`,`bottom`],ot=[`bottom`,`top`];function st(e,t,n){switch(e){case`top`:case`bottom`:return n?t?it:rt:t?rt:it;case`left`:case`right`:return t?at:ot;default:return[]}}function ct(e,t,n,r){let i=Ye(e),a=st(W(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(nt)))),a}function lt(e){return e.replace(/left|right|bottom|top/g,e=>Ke[e])}function ut(e){return{top:0,right:0,bottom:0,left:0,...e}}function dt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ut(e)}function ft(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function pt(e,t,n){let{reference:r,floating:i}=e,a=G(t),o=$e(t),s=Ze(o),c=W(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ye(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}var mt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=pt(l,r,c),f=r,p={},m=0;for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=U(e,t)||{};if(l==null)return{};let d=dt(u),f={x:n,y:r},p=$e(i),m=Ze(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=B(d[_],T),D=B(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Je(O,A,k),M=!c.arrow&&Ye(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==G(t))||T.every(e=>G(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=G(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function vt(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function yt(e){return Ue.some(t=>e[t]>=0)}var bt=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n}=t,{strategy:r=`referenceHidden`,...i}=U(e,t);switch(r){case`referenceHidden`:{let e=vt(await ht(t,{...i,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:yt(e)}}}case`escaped`:{let e=vt(await ht(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:yt(e)}}}default:return{}}}}},xt=new Set([`left`,`top`]);async function St(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=W(n),s=Ye(n),c=G(n)===`y`,l=xt.has(o)?-1:1,u=a&&c?-1:1,d=U(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ct=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await St(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},wt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=U(e,t),l={x:n,y:r},u=await ht(t,c),d=G(W(i)),f=Xe(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=Je(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=Je(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},Tt=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=U(e,t),u={x:n,y:r},d=G(i),f=Xe(d),p=u[f],m=u[d],h=U(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=xt.has(W(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Et=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=U(e,t),u=await ht(t,l),d=W(i),f=Ye(i),p=G(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=B(h-u[g],v),x=B(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=V(u.left,0),t=V(u.right,0),n=V(u.top,0),r=V(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:V(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:V(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Dt(){return typeof window<`u`}function Ot(e){return kt(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){return((kt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function kt(e){return Dt()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return Dt()?e instanceof Element||e instanceof K(e).Element:!1}function Y(e){return Dt()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function At(e){return!Dt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}var jt=new Set([`inline`,`contents`]);function Mt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=X(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!jt.has(i)}var Nt=new Set([`table`,`td`,`th`]);function Pt(e){return Nt.has(Ot(e))}var Ft=[`:popover-open`,`:modal`];function It(e){return Ft.some(t=>{try{return e.matches(t)}catch{return!1}})}var Lt=[`transform`,`translate`,`scale`,`rotate`,`perspective`],Rt=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],zt=[`paint`,`layout`,`strict`,`content`];function Bt(e){let t=Ht(),n=J(e)?X(e):e;return Lt.some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||Rt.some(e=>(n.willChange||``).includes(e))||zt.some(e=>(n.contain||``).includes(e))}function Vt(e){let t=Z(e);for(;Y(t)&&!Wt(t);){if(Bt(t))return t;if(It(t))return null;t=Z(t)}return null}function Ht(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var Ut=new Set([`html`,`body`,`#document`]);function Wt(e){return Ut.has(Ot(e))}function X(e){return K(e).getComputedStyle(e)}function Gt(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Z(e){if(Ot(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||At(e)&&e.host||q(e);return At(t)?t.host:t}function Kt(e){let t=Z(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Y(t)&&Mt(t)?t:Kt(t)}function qt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Kt(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Jt(a);return t.concat(a,a.visualViewport||[],Mt(r)?r:[],e&&n?qt(e):[])}return t.concat(r,qt(r,[],n))}function Jt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yt(e){let t=X(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Y(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=We(n)!==a||We(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Xt(e){return J(e)?e:e.contextElement}function Zt(e){let t=Xt(e);if(!Y(t))return H(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Yt(t),o=(a?We(n.width):n.width)/r,s=(a?We(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Qt=H(0);function $t(e){let t=K(e);return!Ht()||!t.visualViewport?Qt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function en(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function tn(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Xt(e),o=H(1);t&&(r?J(r)&&(o=Zt(r)):o=Zt(e));let s=en(a,n,r)?$t(a):H(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&J(r)?K(r):r,n=e,i=Jt(n);for(;i&&r&&t!==n;){let e=Zt(i),t=i.getBoundingClientRect(),r=X(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=Jt(n)}}return ft({width:u,height:d,x:c,y:l})}function nn(e,t){let n=Gt(e).scrollLeft;return t?t.left+n:tn(q(e)).left+n}function rn(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-nn(e,n),y:n.top+t.scrollTop}}function an(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=q(r),s=t?It(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=H(1),u=H(0),d=Y(r);if((d||!d&&!a)&&((Ot(r)!==`body`||Mt(o))&&(c=Gt(r)),Y(r))){let e=tn(r);l=Zt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?rn(o,c):H(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function on(e){return Array.from(e.getClientRects())}function sn(e){let t=q(e),n=Gt(e),r=e.ownerDocument.body,i=V(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=V(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+nn(e),s=-n.scrollTop;return X(r).direction===`rtl`&&(o+=V(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var cn=25;function ln(e,t){let n=K(e),r=q(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ht();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=nn(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=cn&&(a-=o)}else l<=cn&&(a+=l);return{width:a,height:o,x:s,y:c}}var un=new Set([`absolute`,`fixed`]);function dn(e,t){let n=tn(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Y(e)?Zt(e):H(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function fn(e,t,n){let r;if(t===`viewport`)r=ln(e,n);else if(t===`document`)r=sn(q(e));else if(J(t))r=dn(t,n);else{let n=$t(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ft(r)}function pn(e,t){let n=Z(e);return n===t||!J(n)||Wt(n)?!1:X(n).position===`fixed`||pn(n,t)}function mn(e,t){let n=t.get(e);if(n)return n;let r=qt(e,[],!1).filter(e=>J(e)&&Ot(e)!==`body`),i=null,a=X(e).position===`fixed`,o=a?Z(e):e;for(;J(o)&&!Wt(o);){let t=X(o),n=Bt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&un.has(i.position)||Mt(o)&&!n&&pn(e,o))?r=r.filter(e=>e!==o):i=t,o=Z(o)}return t.set(e,r),r}function hn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?It(t)?[]:mn(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=fn(t,n,i);return e.top=V(r.top,e.top),e.right=B(r.right,e.right),e.bottom=B(r.bottom,e.bottom),e.left=V(r.left,e.left),e},fn(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function gn(e){let{width:t,height:n}=Yt(e);return{width:t,height:n}}function _n(e,t,n){let r=Y(t),i=q(t),a=n===`fixed`,o=tn(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=H(0);function l(){c.x=nn(i)}if(r||!r&&!a)if((Ot(t)!==`body`||Mt(i))&&(s=Gt(t)),r){let e=tn(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?rn(i,s):H(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function vn(e){return X(e).position===`static`}function yn(e,t){if(!Y(e)||X(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return q(e)===n&&(n=n.ownerDocument.body),n}function bn(e,t){let n=K(e);if(It(e))return n;if(!Y(e)){let t=Z(e);for(;t&&!Wt(t);){if(J(t)&&!vn(t))return t;t=Z(t)}return n}let r=yn(e,t);for(;r&&Pt(r)&&vn(r);)r=yn(r,t);return r&&Wt(r)&&vn(r)&&!Bt(r)?n:r||Vt(e)||n}var xn=async function(e){let t=this.getOffsetParent||bn,n=this.getDimensions,r=await n(e.floating);return{reference:_n(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Sn(e){return X(e).direction===`rtl`}var Cn={convertOffsetParentRelativeRectToViewportRelativeRect:an,getDocumentElement:q,getClippingRect:hn,getOffsetParent:bn,getElementRects:xn,getClientRects:on,getDimensions:gn,getScale:Zt,isElement:J,isRTL:Sn};function wn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Tn(e,t){let n=null,r,i=q(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ge(d),h=Ge(i.clientWidth-(u+f)),g=Ge(i.clientHeight-(d+p)),_=Ge(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:V(0,B(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!wn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function En(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Xt(e),u=i||a?[...l?qt(l):[],...qt(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Tn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?tn(e):null;c&&g();function g(){let t=tn(e);h&&!wn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Dn=Ct,On=wt,kn=_t,An=Et,jn=bt,Mn=gt,Nn=Tt,Pn=(e,t,n)=>{let r=new Map,i={platform:Cn,...n},a={...i.platform,_c:r};return mt(e,t,{...i,platform:a})};function Fn(e){return typeof e==`object`&&!!e&&`$el`in e}function In(e){if(Fn(e)){let t=e.$el;return kt(t)&&Ot(t)===`#comment`?null:t}return e}function Ln(e){return typeof e==`function`?e():o(e)}function Rn(e){return{name:`arrow`,options:e,fn(t){let n=In(Ln(e.element));return n==null?{}:Mn({element:n,padding:e.padding}).fn(t)}}}function zn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Bn(e,t){let n=zn(e);return Math.round(t*n)/n}function Vn(e,i,a){a===void 0&&(a={});let o=a.whileElementsMounted,s=u(()=>Ln(a.open)??!0),c=u(()=>Ln(a.middleware)),l=u(()=>Ln(a.placement)??`bottom`),f=u(()=>Ln(a.strategy)??`absolute`),p=u(()=>Ln(a.transform)??!0),h=u(()=>In(e.value)),g=u(()=>In(i.value)),_=d(0),v=d(0),y=d(f.value),b=d(l.value),x=n({}),S=d(!1),C=u(()=>{let e={position:y.value,left:`0`,top:`0`};if(!g.value)return e;let t=Bn(g.value,_.value),n=Bn(g.value,v.value);return p.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...zn(g.value)>=1.5&&{willChange:`transform`}}:{position:y.value,left:t+`px`,top:n+`px`}}),w;function T(){if(h.value==null||g.value==null)return;let e=s.value;Pn(h.value,g.value,{middleware:c.value,placement:l.value,strategy:f.value}).then(t=>{_.value=t.x,v.value=t.y,y.value=t.strategy,b.value=t.placement,x.value=t.middlewareData,S.value=e!==!1})}function E(){typeof w==`function`&&(w(),w=void 0)}function D(){if(E(),o===void 0){T();return}if(h.value!=null&&g.value!=null){w=o(h.value,g.value,T);return}}function O(){s.value||(S.value=!1)}return r([c,l,f,s],T,{flush:`sync`}),r([h,g],D,{flush:`sync`}),r(s,O,{flush:`sync`}),t()&&m(E),{x:L(_),y:L(v),strategy:L(y),placement:L(b),middlewareData:L(x),isPositioned:L(S),floatingStyles:C,update:T}}var Hn=new WeakMap,Un=(...e)=>{let n=e[0],r=N()?.proxy??t();if(r==null&&!w())throw Error(`injectLocal must be called in setup`);return r&&Hn.has(r)&&n in Hn.get(r)?Hn.get(r)[n]:ee(...e)},Wn=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Gn=e=>e!==void 0,Kn=Object.prototype.toString,qn=e=>Kn.call(e)===`[object Object]`;function Jn(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function Yn(e){return Array.isArray(e)?e:[e]}function Xn(e){return f(e)?a(new Proxy({},{get(t,n,r){return o(Reflect.get(e.value,n,r))},set(t,n,r){return f(e.value[n])&&!f(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):a(e)}function Zn(e){return Xn(u(e))}function Qn(e,...t){let n=t.flat(),r=n[0];return Zn(()=>typeof r==`function`?Object.fromEntries(Object.entries(g(e)).filter(([e,t])=>!r(_(t),e))):Object.fromEntries(Object.entries(g(e)).filter(e=>!n.includes(e[0]))))}function $n(e,t,n){return r(e,t,{...n,immediate:!0})}var er=1,Q=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:er++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],te(e))i=!1,this.create({id:n,type:`default`,message:e});else if(nr(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!te(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!te(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!te(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!te(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||er++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function tr(e,t){let n=t?.id||er++;return Q.create({message:e,id:n,type:`default`,...t}),n}var nr=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,rr=tr,ir=Object.assign(rr,{success:Q.success,info:Q.info,warning:Q.warning,error:Q.error,custom:Q.custom,message:Q.message,promise:Q.promise,dismiss:Q.dismiss,loading:Q.loading},{getHistory:()=>Q.toasts,getToasts:()=>Q.getActiveToasts()});function ar(e){return e.label!==void 0}var or=3,sr=`24px`,cr=`16px`,lr=4e3,ur=356,dr=14,fr=45,pr=200;function mr(){let e=d(!1);return I(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function $(...e){return e.filter(Boolean).join(` `)}function hr(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function gr(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?cr:sr;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var _r=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],vr=[`aria-label`,`data-disabled`,`data-close-button-position`],yr=F({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(t,{emit:n}){let i=t,a=n,c=d(null),f=d(null),p=d(!1),m=d(!1),g=d(!1),_=d(!1),w=d(!1),T=d(0),D=d(0),k=d(i.toast.duration||i.duration||lr),A=d(null),N=d(null),ee=u(()=>i.index===0),te=u(()=>i.index+1<=i.visibleToasts),F=u(()=>i.toast.type),L=u(()=>i.toast.dismissible!==!1),ie=u(()=>i.toast.class||``),ae=u(()=>i.descriptionClass||``),oe=u(()=>{let e=i.toast.position||i.position,t=i.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===i.toast.id);return t>=0?t:0}),se=u(()=>{let e=i.toast.position||i.position;return i.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=oe.value?e:e+t.height,0)}),ce=u(()=>oe.value*i.gap+se.value||0),le=u(()=>i.toast.closeButton??i.closeButton),ue=u(()=>i.toast.duration||i.duration||lr),de=d(0),fe=d(0),R=d(null),pe=u(()=>i.position.split(`-`)),me=u(()=>pe.value[0]),he=u(()=>pe.value[1]),ge=u(()=>typeof i.toast.title!=`string`),_e=u(()=>typeof i.toast.description!=`string`),{isDocumentHidden:ve}=mr(),ye=u(()=>F.value&&F.value===`loading`);O(()=>{p.value=!0,k.value=ue.value}),I(async()=>{if(!p.value||!N.value)return;await ne();let e=N.value,t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,D.value=n,a(`update:height`,{toastId:i.toast.id,height:n,position:i.toast.position||i.position})});function z(){m.value=!0,T.value=ce.value,setTimeout(()=>{a(`removeToast`,i.toast)},pr)}function be(){if(ye.value||!L.value)return{};z(),i.toast.onDismiss?.(i.toast)}function xe(e){e.button!==2&&(ye.value||!L.value||(A.value=new Date,T.value=ce.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(g.value=!0,R.value={x:e.clientX,y:e.clientY})))}function Se(){if(_.value||!L.value)return;R.value=null;let e=Number(N.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(N.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(A.value?.getTime()||0),r=c.value===`x`?e:t,a=Math.abs(r)/n;if(Math.abs(r)>=fr||a>.11){T.value=ce.value,i.toast.onDismiss?.(i.toast),c.value===`x`?f.value=e>0?`right`:`left`:f.value=t>0?`down`:`up`,z(),_.value=!0;return}else N.value?.style.setProperty(`--swipe-amount-x`,`0px`),N.value?.style.setProperty(`--swipe-amount-y`,`0px`);w.value=!1,g.value=!1,c.value=null}function Ce(e){if(!R.value||!L.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-R.value.y,n=e.clientX-R.value.x,r=i.swipeDirections??hr(i.position);!c.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(c.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(c.value===`y`){if(r.includes(`top`)||r.includes(`bottom`))if(r.includes(`top`)&&t<0||r.includes(`bottom`)&&t>0)a.y=t;else{let e=t*o(t);a.y=Math.abs(e)0)a.x=n;else{let e=n*o(n);a.x=Math.abs(e)0||Math.abs(a.y)>0)&&(w.value=!0),N.value?.style.setProperty(`--swipe-amount-x`,`${a.x}px`),N.value?.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}O(()=>{if(p.value=!0,!N.value)return;let e=N.value.getBoundingClientRect().height;D.value=e,a(`update:heights`,[{toastId:i.toast.id,height:e,position:i.toast.position},...i.heights])}),E(()=>{N.value&&a(`removeToast`,i.toast)}),I(e=>{if(i.toast.promise&&F.value===`loading`||i.toast.duration===1/0||i.toast.type===`loading`)return;let t;i.expanded||i.interacting||ve.value?(()=>{if(fe.value{i.toast.onAutoClose?.(i.toast),z()},k.value)),e(()=>{clearTimeout(t)})}),r(()=>i.toast.delete,e=>{e!==void 0&&e&&(z(),i.toast.onDismiss?.(i.toast))},{deep:!0});function we(){g.value=!1,c.value=null,R.value=null}return(t,n)=>(M(),h(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:N,class:P(o($)(i.class,ie.value,t.classes?.toast,t.toast.classes?.toast,t.classes?.[F.value],t.toast?.classes?.[F.value])),"data-sonner-toast":``,"data-rich-colors":t.toast.richColors??t.defaultRichColors,"data-styled":!(t.toast.component||t.toast?.unstyled||t.unstyled),"data-mounted":p.value,"data-promise":!!t.toast.promise,"data-swiped":w.value,"data-removed":m.value,"data-visible":te.value,"data-y-position":me.value,"data-x-position":he.value,"data-index":t.index,"data-front":ee.value,"data-swiping":g.value,"data-dismissible":L.value,"data-type":F.value,"data-invert":t.toast.invert||t.invert,"data-swipe-out":_.value,"data-swipe-direction":f.value,"data-expanded":!!(t.expanded||t.expandByDefault&&p.value),"data-testid":t.toast.testId,style:b({"--index":t.index,"--toasts-before":t.index,"--z-index":t.toasts.length-t.index,"--offset":`${m.value?T.value:ce.value}px`,"--initial-height":t.expandByDefault?`auto`:`${D.value}px`,...t.style,...i.toast.style}),onDragend:we,onPointerdown:xe,onPointerup:Se,onPointermove:Ce},[le.value&&!t.toast.component&&F.value!==`loading`?(M(),h(`button`,{key:0,"aria-label":t.closeButtonAriaLabel||`Close toast`,"data-disabled":ye.value,"data-close-button":`true`,"data-close-button-position":t.closeButtonPosition,class:P(o($)(t.classes?.closeButton,t.toast?.classes?.closeButton)),onClick:be},[t.icons?.close?(M(),y(re(t.icons?.close),{key:0})):C(t.$slots,`close-icon`,{key:1})],10,vr)):S(`v-if`,!0),t.toast.component?(M(),y(re(t.toast.component),j({key:1},t.toast.componentProps,{onCloseToast:be,isPaused:t.$props.expanded||t.$props.interacting||o(ve)}),null,16,[`isPaused`])):(M(),h(s,{key:2},[F.value!==`default`||t.toast.icon||t.toast.promise?(M(),h(`div`,{key:0,"data-icon":``,class:P(o($)(t.classes?.icon,t.toast?.classes?.icon))},[t.toast.icon?(M(),y(re(t.toast.icon),{key:0})):(M(),h(s,{key:1},[F.value===`loading`?C(t.$slots,`loading-icon`,{key:0}):F.value===`success`?C(t.$slots,`success-icon`,{key:1}):F.value===`error`?C(t.$slots,`error-icon`,{key:2}):F.value===`warning`?C(t.$slots,`warning-icon`,{key:3}):F.value===`info`?C(t.$slots,`info-icon`,{key:4}):S(`v-if`,!0)],64))],2)):S(`v-if`,!0),x(`div`,{"data-content":``,class:P(o($)(t.classes?.content,t.toast?.classes?.content))},[x(`div`,{"data-title":``,class:P(o($)(t.classes?.title,t.toast.classes?.title))},[ge.value?(M(),y(re(t.toast.title),l(j({key:0},t.toast.componentProps)),null,16)):(M(),h(s,{key:1},[e(v(t.toast.title),1)],64))],2),t.toast.description?(M(),h(`div`,{key:0,"data-description":``,class:P(o($)(t.descriptionClass,ae.value,t.classes?.description,t.toast.classes?.description))},[_e.value?(M(),y(re(t.toast.description),l(j({key:0},t.toast.componentProps)),null,16)):(M(),h(s,{key:1},[e(v(t.toast.description),1)],64))],2)):S(`v-if`,!0)],2),t.toast.cancel?(M(),h(`button`,{key:1,style:b(t.toast.cancelButtonStyle||t.cancelButtonStyle),class:P(o($)(t.classes?.cancelButton,t.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:n[0]||=e=>{o(ar)(t.toast.cancel)&&L.value&&(t.toast.cancel.onClick?.(e),z())}},v(o(ar)(t.toast.cancel)?t.toast.cancel?.label:t.toast.cancel),7)):S(`v-if`,!0),t.toast.action?(M(),h(`button`,{key:2,style:b(t.toast.actionButtonStyle||t.actionButtonStyle),class:P(o($)(t.classes?.actionButton,t.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:n[1]||=e=>{o(ar)(t.toast.action)&&(t.toast.action.onClick?.(e),!e.defaultPrevented&&z())}},v(o(ar)(t.toast.action)?t.toast.action?.label:t.toast.action),7)):S(`v-if`,!0)],64))],46,_r))}}),br=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},xr={},Sr={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cr(e,t){return M(),h(`svg`,Sr,t[0]||=[x(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),x(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var wr=br(xr,[[`render`,Cr]]),Tr=[`data-visible`],Er={class:`sonner-spinner`},Dr=F({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let t=Array(12).fill(0);return(e,n)=>(M(),h(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[x(`div`,Er,[(M(!0),h(s,null,k(o(t),e=>(M(),h(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,Tr))}}),Or={},kr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Ar(e,t){return M(),h(`svg`,kr,t[0]||=[x(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var jr=br(Or,[[`render`,Ar]]),Mr={},Nr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Pr(e,t){return M(),h(`svg`,Nr,t[0]||=[x(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var Fr=br(Mr,[[`render`,Pr]]),Ir={},Lr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function Rr(e,t){return M(),h(`svg`,Lr,t[0]||=[x(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var zr=br(Ir,[[`render`,Rr]]),Br={},Vr={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function Hr(e,t){return M(),h(`svg`,Vr,t[0]||=[x(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var Ur=br(Br,[[`render`,Hr]]),Wr=[`aria-label`],Gr=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],Kr=typeof window<`u`&&typeof document<`u`;function qr(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Jr=F({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:dr},visibleToasts:{default:or},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:sr},mobileOffset:{default:cr},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(e){let t=e,n=T(),r=d([]),a=u(()=>t.id?r.value.filter(e=>e.toasterId===t.id):r.value.filter(e=>!e.toasterId));function c(e,t){return a.value.filter(n=>!n.position&&t===0||n.position===e)}let l=u(()=>{let e=a.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([t.position].concat(e))):[t.position]}),f=u(()=>{let e={};return l.value.forEach(t=>{e[t]=r.value.filter(e=>e.position===t)}),e}),p=d([]),m=d({}),g=d(!1);I(()=>{l.value.forEach(e=>{e in m.value||(m.value[e]=!1)})});let _=d(t.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t.theme),v=d(null),w=d(null),E=d(!1),O=t.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function A(e){r.value.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),r.value=r.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{r.value.find(t=>t.id===e.id)||(p.value=p.value.filter(t=>t.toastId!==e.id))},pr+50)}function N(e){E.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(E.value=!1,w.value&&=(w.value.focus({preventScroll:!0}),null))}function ee(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||E.value||(E.value=!0,w.value=e.relatedTarget)}function te(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(g.value=!0)}I(e=>{e(Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}ne(()=>{let t=r.value.findIndex(t=>t.id===e.id);t===-1?r.value=[e,...r.value]:r.value=[...r.value.slice(0,t),{...r.value[t],...e},...r.value.slice(t+1)]})}))}),I(e=>{if(typeof window>`u`)return;if(t.theme!==`system`){_.value=t.theme;return}let n=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{_.value=e?`dark`:`light`};r(n.matches);let i=e=>{r(e.matches)};try{n.addEventListener(`change`,i)}catch{n.addListener(i)}e(()=>{try{n.removeEventListener(`change`,i)}catch{n.removeListener(i)}})}),I(()=>{v.value&&w.value&&(w.value.focus({preventScroll:!0}),w.value=null,E.value=!1)}),I(()=>{r.value.length<=1&&Object.keys(m.value).forEach(e=>{m.value[e]=!1})}),I(e=>{function n(e){let n=t.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(v.value)?v.value[0]:v.value;n&&(l.value.forEach(e=>{m.value[e]=!0}),r?.focus());let i=document.activeElement===v.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&l.value.forEach(e=>{m.value[e]=!1})}Kr&&(document.addEventListener(`keydown`,n),e(()=>{document.removeEventListener(`keydown`,n)}))});function F(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!0}function re(e){if(!g.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);m.value[n]=!1}}function L(){Object.keys(m.value).forEach(e=>{m.value[e]=!1})}function ie(){g.value=!1}function ae(e){p.value=e}function oe(e){let t=p.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)p.value[t]=e;else{let t=p.value.findIndex(t=>t.position===e.position);t===-1?p.value.unshift(e):p.value.splice(t,0,e)}}return(e,r)=>(M(),h(s,null,[S(` Remove item from normal navigation flow, only available via hotkey `),x(`section`,{"aria-label":`${e.containerAriaLabel} ${o(O)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(M(!0),h(s,null,k(l.value,(r,a)=>(M(),h(`ol`,j({key:r,ref_for:!0,ref_key:`listRef`,ref:v,"data-sonner-toaster":``,"data-sonner-theme":_.value,class:t.class,dir:e.dir===`auto`?qr():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":r.split(`-`)[0],"data-x-position":r.split(`-`)[1],style:{"--front-toast-height":`${p.value[0]?.height||0}px`,"--width":`${o(ur)}px`,"--gap":`${e.gap}px`,...e.style,...o(n).style,...o(gr)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:N,onFocus:ee,onMouseenter:F,onMousemove:F,onMouseleave:re,onDragend:L,onPointerdown:te,onPointerup:ie}),[(M(!0),h(s,null,k(c(r,a),(n,a)=>(M(),y(yr,{key:n.id,heights:p.value,icons:e.icons,index:a,toast:n,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:P(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:g.value,position:r,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:b(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:f.value[r],expandByDefault:e.expand,gap:e.gap,expanded:m.value[r]||!1,swipeDirections:t.swipeDirections,"onUpdate:heights":ae,"onUpdate:height":oe,onRemoveToast:A},{"close-icon":i(()=>[C(e.$slots,`close-icon`,{},()=>[D(wr)])]),"loading-icon":i(()=>[C(e.$slots,`loading-icon`,{},()=>[D(Dr,{visible:n.type===`loading`},null,8,[`visible`])])]),"success-icon":i(()=>[C(e.$slots,`success-icon`,{},()=>[D(jr)])]),"error-icon":i(()=>[C(e.$slots,`error-icon`,{},()=>[D(Ur)])]),"warning-icon":i(()=>[C(e.$slots,`warning-icon`,{},()=>[D(zr)])]),"info-icon":i(()=>[C(e.$slots,`info-icon`,{},()=>[D(Fr)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,Gr))),128))],8,Wr)],2112))}});export{ve as A,pe as C,z as D,ye as E,Oe as F,ke as I,de as L,Te as M,De as N,Se as O,R as P,ce as R,fe as S,he as T,Dn as _,Gn as a,He as b,Qn as c,Rn as d,Vn as f,Nn as g,jn as h,Wn as i,Ee as j,xe as k,Yn as l,kn as m,ir as n,qn as o,En as p,Un as r,Jn as s,Jr as t,$n as u,On as v,me as w,Ne as x,An as y,ae as z}; \ No newline at end of file diff --git a/docs/assets/vendor-pinia-DP9x75p8.js b/docs/assets/vendor-pinia-DqhKuBjp.js similarity index 67% rename from docs/assets/vendor-pinia-DP9x75p8.js rename to docs/assets/vendor-pinia-DqhKuBjp.js index 62f9313..b0ec9e9 100644 --- a/docs/assets/vendor-pinia-DP9x75p8.js +++ b/docs/assets/vendor-pinia-DqhKuBjp.js @@ -1 +1 @@ -import{Et as e,Ht as t,Lt as n,Rt as r,cn as i,dn as a,fn as o,hn as s,ln as c,pn as l,sn as u,tn as d,un as f,xn as p,yn as m}from"./game-logic-CfBcTF_c.js";var h=typeof window<`u`,g,_=e=>g=e,v=Symbol();function y(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var b;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(b||={});var x=(()=>typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null})();function S(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function C(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){O(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function w(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function T(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var E=typeof navigator==`object`?navigator:{userAgent:``},D=(()=>/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent))(),O=h?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!D?k:`msSaveOrOpenBlob`in E?A:j:()=>{};function k(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?T(r):w(r.href)?C(e,t,n):(r.target=`_blank`,T(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){T(r)},0))}function A(e,t=`download`,n){if(typeof e==`string`)if(w(e))C(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){T(t)})}else navigator.msSaveOrOpenBlob(S(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return C(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(x.HTMLElement))||`safari`in x,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||D)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:ee}=Object;function M(){let e=u(!0),t=e.run(()=>s({})),n=[],r=[],i=a({install(e){_(i),i._a=e,e.provide(v,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var N=()=>{};function P(e,t,n,r=N){e.add(t);let a=()=>{e.delete(t)&&r()};return!n&&i()&&o(a),a}function F(e,...t){e.forEach(e=>{e(...t)})}var I=e=>e(),L=Symbol(),R=Symbol();function z(e,t){for(let n in e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e),t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];y(i)&&y(r)&&e.hasOwnProperty(n)&&!f(r)&&!c(r)?e[n]=z(i,r):e[n]=r}return e}var B=Symbol();function V(e){return!y(e)||!Object.prototype.hasOwnProperty.call(e,B)}var{assign:H}=Object;function U(e){return!!(f(e)&&e.effect)}function W(t,n,r,i){let{state:o,actions:s,getters:c}=n,l=r.state.value[t],u;function d(){return l||(r.state.value[t]=o?o():{}),H(p(r.state.value[t]),s,Object.keys(c||{}).reduce((n,i)=>(n[i]=a(e(()=>{_(r);let e=r._s.get(t);return c[i].call(e,e)})),n),{}))}return u=G(t,d,n,r,i,!0),u}function G(e,n,r={},i,a,o){let p,h=H({actions:{}},r),g={deep:!0},v,y,x=new Set,S=new Set,C=i.state.value[e];!o&&!C&&(i.state.value[e]={}),s({});let w;function T(n){let r;v=y=!1,typeof n==`function`?(n(i.state.value[e]),r={type:b.patchFunction,storeId:e,events:void 0}):(z(i.state.value[e],n),r={type:b.patchObject,payload:n,storeId:e,events:void 0});let a=w=Symbol();t().then(()=>{w===a&&(v=!0)}),y=!0,F(x,r,i.state.value[e])}let E=o?function(){let{state:e}=r,t=e?e():{};this.$patch(e=>{H(e,t)})}:N;function D(){p.stop(),x.clear(),S.clear(),i._s.delete(e)}let O=(t,n=``)=>{if(L in t)return t[R]=n,t;let r=function(){_(i);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}F(S,{args:n,name:r[R],store:k,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:k,n)}catch(e){throw F(o,e),e}return l instanceof Promise?l.then(e=>(F(a,e),e)).catch(e=>(F(o,e),Promise.reject(e))):(F(a,l),l)};return r[L]=!0,r[R]=n,r},k=l({_p:i,$id:e,$onAction:P.bind(null,S),$patch:T,$reset:E,$subscribe(t,n={}){let r=P(x,t,n.detached,()=>a()),a=p.run(()=>d(()=>i.state.value[e],r=>{(n.flush===`sync`?y:v)&&t({storeId:e,type:b.direct,events:void 0},r)},H({},g,n)));return r},$dispose:D});i._s.set(e,k);let A=(i._a&&i._a.runWithContext||I)(()=>i._e.run(()=>(p=u()).run(()=>n({action:O}))));for(let t in A){let n=A[t];f(n)&&!U(n)||c(n)?o||(C&&V(n)&&(f(n)?n.value=C[t]:z(n,C[t])),i.state.value[e][t]=n):typeof n==`function`&&(A[t]=O(n,t),h.actions[t]=n)}return H(k,A),H(m(k),A),Object.defineProperty(k,`$state`,{get:()=>i.state.value[e],set:e=>{T(t=>{H(t,e)})}}),i._p.forEach(e=>{H(k,p.run(()=>e({store:k,app:i._a,pinia:i,options:h})))}),C&&o&&r.hydrate&&r.hydrate(k.$state,C),v=!0,y=!0,k}function K(e,t,i){let a,o=typeof t==`function`;a=o?i:t;function s(i,s){let c=n();return i||=c?r(v,null):null,i&&_(i),i=g,i._s.has(e)||(o?G(e,t,a,i):W(e,a,i)),i._s.get(e)}return s.$id=e,s}function q(e,t){if(e==null)return;let n=e;for(let e=0;e1&&(t=J(typeof e!=`object`||!e||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function Y(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);let n={};for(let t in e)n[t]=e[t];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);let n={};for(let t in e)n[t]=e[t];return n}return J(e,Y(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function X(e,t){return t.map(e=>e.split(`.`)).map(t=>[t,q(e,t)]).filter(e=>e[1]!==void 0).reduce((e,t)=>J(e,t[1],t[0]),{})}function Z(e,t){return t.map(e=>e.split(`.`)).reduce((e,t)=>Y(e,t),e)}function Q(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o,beforeHydrate:s,afterHydrate:c},l,u=!0){try{u&&s?.(l);let i=t.getItem(r);if(i){let t=n.deserialize(i),r=a?X(t,a):t,s=o?Z(r,o):r;e.$patch(s)}u&&c?.(l)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function $(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o}){try{let i=a?X(e,a):e,s=o?Z(i,o):i,c=n.serialize(s);t.setItem(r,c)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function te(e,t){return typeof e==`function`?e(t):typeof e==`string`?e:t}function ne(e,t,n){let{pinia:r,store:i,options:{persist:a=n}}=e;if(!a)return;if(!(i.$id in r.state.value)){let e=r._s.get(i.$id.replace(`__hot:`,``));e&&Promise.resolve().then(()=>e.$persist());return}let o=(Array.isArray(a)?a:a===!0?[{}]:[a]).map(t);i.$hydrate=({runHooks:t=!0}={})=>{o.forEach(n=>{Q(i,n,e,t)})},i.$persist=()=>{o.forEach(e=>{$(i.$state,e)})},o.forEach(t=>{Q(i,t,e),i.$subscribe((e,n)=>$(n,t),{detached:!0})})}function re(e={}){return function(t){ne(t,n=>{let r=te(n.key,t.store.$id);return{key:(e.key?e.key:e=>e)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:e=>JSON.stringify(e),deserialize:e=>JSON.parse(e)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var ie=re();export{M as n,K as r,ie as t}; \ No newline at end of file +import{An as e,Cn as t,Fn as n,Jt as r,Ln as i,Mn as a,Nn as o,Pn as s,Un as c,Vn as l,an as u,jn as d,kn as f,on as p,un as m}from"./game-logic-Bi1l7y4K.js";var h=typeof window<`u`,g,_=e=>g=e,v=Symbol();function y(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var b;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(b||={});var x=(()=>typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null})();function S(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function C(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){O(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function w(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function T(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var E=typeof navigator==`object`?navigator:{userAgent:``},D=(()=>/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent))(),O=h?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!D?k:`msSaveOrOpenBlob`in E?A:j:()=>{};function k(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?T(r):w(r.href)?C(e,t,n):(r.target=`_blank`,T(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){T(r)},0))}function A(e,t=`download`,n){if(typeof e==`string`)if(w(e))C(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){T(t)})}else navigator.msSaveOrOpenBlob(S(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return C(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(x.HTMLElement))||`safari`in x,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||D)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:ee}=Object;function M(){let e=f(!0),t=e.run(()=>i({})),n=[],r=[],a=o({install(e){_(a),a._a=e,e.provide(v,a),e.config.globalProperties.$pinia=a,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}var N=()=>{};function P(t,n,r,i=N){t.add(n);let a=()=>{t.delete(n)&&i()};return!r&&e()&&s(a),a}function F(e,...t){e.forEach(e=>{e(...t)})}var I=e=>e(),L=Symbol(),R=Symbol();function z(e,t){for(let n in e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e),t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];y(i)&&y(r)&&e.hasOwnProperty(n)&&!a(r)&&!d(r)?e[n]=z(i,r):e[n]=r}return e}var B=Symbol();function V(e){return!y(e)||!Object.prototype.hasOwnProperty.call(e,B)}var{assign:H}=Object;function U(e){return!!(a(e)&&e.effect)}function W(e,t,n,i){let{state:a,actions:s,getters:l}=t,u=n.state.value[e],d;function f(){return u||(n.state.value[e]=a?a():{}),H(c(n.state.value[e]),s,Object.keys(l||{}).reduce((t,i)=>(t[i]=o(r(()=>{_(n);let t=n._s.get(e);return l[i].call(t,t)})),t),{}))}return d=G(e,f,t,n,i,!0),d}function G(e,r,o={},s,c,u){let p,h=H({actions:{}},o),g={deep:!0},v,y,x=new Set,S=new Set,C=s.state.value[e];!u&&!C&&(s.state.value[e]={}),i({});let w;function T(t){let n;v=y=!1,typeof t==`function`?(t(s.state.value[e]),n={type:b.patchFunction,storeId:e,events:void 0}):(z(s.state.value[e],t),n={type:b.patchObject,payload:t,storeId:e,events:void 0});let r=w=Symbol();m().then(()=>{w===r&&(v=!0)}),y=!0,F(x,n,s.state.value[e])}let E=u?function(){let{state:e}=o,t=e?e():{};this.$patch(e=>{H(e,t)})}:N;function D(){p.stop(),x.clear(),S.clear(),s._s.delete(e)}let O=(t,n=``)=>{if(L in t)return t[R]=n,t;let r=function(){_(s);let n=Array.from(arguments),i=new Set,a=new Set;function o(e){i.add(e)}function c(e){a.add(e)}F(S,{args:n,name:r[R],store:k,after:o,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:k,n)}catch(e){throw F(a,e),e}return l instanceof Promise?l.then(e=>(F(i,e),e)).catch(e=>(F(a,e),Promise.reject(e))):(F(i,l),l)};return r[L]=!0,r[R]=n,r},k=n({_p:s,$id:e,$onAction:P.bind(null,S),$patch:T,$reset:E,$subscribe(n,r={}){let i=P(x,n,r.detached,()=>a()),a=p.run(()=>t(()=>s.state.value[e],t=>{(r.flush===`sync`?y:v)&&n({storeId:e,type:b.direct,events:void 0},t)},H({},g,r)));return i},$dispose:D});s._s.set(e,k);let A=(s._a&&s._a.runWithContext||I)(()=>s._e.run(()=>(p=f()).run(()=>r({action:O}))));for(let t in A){let n=A[t];a(n)&&!U(n)||d(n)?u||(C&&V(n)&&(a(n)?n.value=C[t]:z(n,C[t])),s.state.value[e][t]=n):typeof n==`function`&&(A[t]=O(n,t),h.actions[t]=n)}return H(k,A),H(l(k),A),Object.defineProperty(k,`$state`,{get:()=>s.state.value[e],set:e=>{T(t=>{H(t,e)})}}),s._p.forEach(e=>{H(k,p.run(()=>e({store:k,app:s._a,pinia:s,options:h})))}),C&&u&&o.hydrate&&o.hydrate(k.$state,C),v=!0,y=!0,k}function K(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=u();return n||=o?p(v,null):null,n&&_(n),n=g,n._s.has(e)||(i?G(e,t,r,n):W(e,r,n)),n._s.get(e)}return a.$id=e,a}function q(e,t){if(e==null)return;let n=e;for(let e=0;e1&&(t=J(typeof e!=`object`||!e||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function Y(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);let n={};for(let t in e)n[t]=e[t];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);let n={};for(let t in e)n[t]=e[t];return n}return J(e,Y(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function X(e,t){return t.map(e=>e.split(`.`)).map(t=>[t,q(e,t)]).filter(e=>e[1]!==void 0).reduce((e,t)=>J(e,t[1],t[0]),{})}function Z(e,t){return t.map(e=>e.split(`.`)).reduce((e,t)=>Y(e,t),e)}function Q(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o,beforeHydrate:s,afterHydrate:c},l,u=!0){try{u&&s?.(l);let i=t.getItem(r);if(i){let t=n.deserialize(i),r=a?X(t,a):t,s=o?Z(r,o):r;e.$patch(s)}u&&c?.(l)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function $(e,{storage:t,serializer:n,key:r,debug:i,pick:a,omit:o}){try{let i=a?X(e,a):e,s=o?Z(i,o):i,c=n.serialize(s);t.setItem(r,c)}catch(e){i&&console.error(`[pinia-plugin-persistedstate]`,e)}}function te(e,t){return typeof e==`function`?e(t):typeof e==`string`?e:t}function ne(e,t,n){let{pinia:r,store:i,options:{persist:a=n}}=e;if(!a)return;if(!(i.$id in r.state.value)){let e=r._s.get(i.$id.replace(`__hot:`,``));e&&Promise.resolve().then(()=>e.$persist());return}let o=(Array.isArray(a)?a:a===!0?[{}]:[a]).map(t);i.$hydrate=({runHooks:t=!0}={})=>{o.forEach(n=>{Q(i,n,e,t)})},i.$persist=()=>{o.forEach(e=>{$(i.$state,e)})},o.forEach(t=>{Q(i,t,e),i.$subscribe((e,n)=>$(n,t),{detached:!0})})}function re(e={}){return function(t){ne(t,n=>{let r=te(n.key,t.store.$id);return{key:(e.key?e.key:e=>e)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:e=>JSON.stringify(e),deserialize:e=>JSON.parse(e)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var ie=re();export{M as n,K as r,ie as t}; \ No newline at end of file diff --git a/docs/assets/vendor-reka-ui-BEHIKScj.js b/docs/assets/vendor-reka-ui-BEHIKScj.js new file mode 100644 index 0000000..17f8b00 --- /dev/null +++ b/docs/assets/vendor-reka-ui-BEHIKScj.js @@ -0,0 +1,8 @@ +import{$t as e,Bn as t,Cn as n,En as r,Fn as i,Gn as a,Gt as o,Hn as s,Ht as c,Jn as l,Jt as u,Kn as d,Kt as f,Ln as p,Nn as m,Qt as h,Rt as g,Sn as _,Tn as v,Un as y,Ut as b,Wn as x,Wt as S,Xn as C,Xt as w,Yn as T,Yt as E,Zn as D,Zt as O,_n as k,cn as ee,dn as te,en as A,fn as j,gn as ne,hn as re,in as ie,ln as M,mn as N,nn as ae,on as oe,pn as se,qt as ce,rn as P,tn as F,un as I,vn as le,wn as L,xn as ue,yn as de}from"./game-logic-Bi1l7y4K.js";import{A as fe,C as pe,D as me,E as R,F as he,I as ge,L as _e,M as ve,N as ye,O as be,P as xe,S as Se,T as Ce,_ as we,b as Te,d as Ee,f as De,g as Oe,h as ke,j as Ae,k as je,m as Me,p as Ne,v as Pe,w as Fe,x as Ie,y as Le}from"./vendor-others-DTUzJ7S-.js";function Re(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function z(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=oe(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(re(r,e),e)]}function B(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function ze(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function V(e){return e==null}function Be(e,t){return V(e)?!1:Array.isArray(e)?e.some(e=>_e(e,t)):_e(e,t)}function Ve(e){return e?e.flatMap(e=>e.type===o?Ve(e.children):[e]):[]}var[He,Ue]=z(`ConfigProvider`),We=R?window:void 0;R&&window.document,R&&window.navigator,R&&window.location;function H(e){let t=x(e);return t?.$el??t}function Ge(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=u(()=>{let t=ve(x(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),o=ge(()=>[i.value?.map(e=>H(e))??[We].filter(e=>e!=null),ve(x(i.value?e[1]:e[0])),ve(a(i.value?e[2]:e[1])),x(i.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=je(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return xe(n),()=>{o(),n()}}function Ke(){let e=t(!1),n=ae();return n&&j(()=>{e.value=!0},n),e}function qe(e){let t=Ke();return u(()=>(t.value,!!e()))}function Je(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Ye(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=We,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=Je(t);return Ge(i,a,e=>{e.repeat&&x(s)||c(e)&&n(e)},o)}function Xe(e){return JSON.parse(JSON.stringify(e))}function Ze(e,t,r={}){let{window:i=We,...a}=r,o,s=qe(()=>i&&`ResizeObserver`in i),c=()=>{o&&=(o.disconnect(),void 0)},l=n(u(()=>{let t=x(e);return Array.isArray(t)?t.map(e=>H(e)):[H(t)]}),e=>{if(c(),s.value&&i){o=new ResizeObserver(t);for(let t of e)t&&o.observe(t,a)}},{immediate:!0,flush:`post`}),d=()=>{c(),l()};return xe(d),{isSupported:s,stop:d}}function U(e,t,r,i={}){let{clone:a=!1,passive:o=!1,eventName:s,deep:c=!1,defaultValue:l,shouldEmit:d}=i,f=ae(),m=r||f?.emit||(f?.$emit)?.bind(f)||(f?.proxy?.$emit)?.bind(f?.proxy),h=s;t||=`modelValue`,h||=`update:${t.toString()}`;let g=e=>a?typeof a==`function`?a(e):Xe(e):e,_=()=>me(e[t])?g(e[t]):l,v=e=>{d?d(e)&&m(h,e):m(h,e)};if(o){let r=p(_()),i=!1;return n(()=>e[t],e=>{i||(i=!0,r.value=g(e),I(()=>i=!1))}),n(r,n=>{!i&&(n!==e[t]||c)&&v(n)},{deep:c}),r}else return u({get(){return _()},set(e){v(e)}})}var Qe=Ce(()=>{let e=p(new Map),t=p(),r=u(()=>{for(let t of e.value.values())if(t)return!0;return!1}),i=He({scrollBody:p(!0)}),a=null,o=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,be&&a?.(),t.value=void 0};return n(r,(e,n)=>{if(!R)return;if(!e){n&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);let r=window.innerWidth-document.documentElement.clientWidth,s={padding:r,margin:0},c=i.scrollBody?.value?typeof i.scrollBody.value==`object`?Ie({padding:i.scrollBody.value.padding===!0?r:i.scrollBody.value.padding,margin:i.scrollBody.value.margin===!0?r:i.scrollBody.value.margin},s):s:{padding:0,margin:0};r>0&&(document.body.style.paddingRight=typeof c.padding==`number`?`${c.padding}px`:String(c.padding),document.body.style.marginRight=typeof c.margin==`number`?`${c.margin}px`:String(c.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${r}px`),document.body.style.overflow=`hidden`),be&&(a=Ge(document,`touchmove`,e=>tt(e),{passive:!1})),I(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function $e(e){let t=Math.random().toString(36).substring(2,7),n=Qe();n.value.set(t,e??!1);let r=u({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return ye(()=>{n.value.delete(t)}),r}function et(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function nt(e){let t=He({dir:p(`ltr`)});return u(()=>e?.value||t.dir?.value||`ltr`)}function rt(e){let t=ae(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[D(d(t))]=(...n)=>e(t,...n)}),r}var it=0;function at(){L(e=>{if(!R)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??ot()),document.body.insertAdjacentElement(`beforeend`,t[1]??ot()),it++,e(()=>{it===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),it--})})}function ot(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function st(e){return u(()=>x(e)?!!H(e)?.closest(`form`):!0)}function W(){let e=ae(),t=p(),n=u(()=>[`#text`,`#comment`].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:H(t)),r=Object.assign({},e.exposed),i={};for(let t in e.props)Object.defineProperty(i,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(r).length>0)for(let e in r)Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>r[e]});Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=i;function a(n){t.value=n,n&&(Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),e.exposed=i)}return{forwardRef:a,currentRef:t,currentElement:n}}function ct(e){let t=ae(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=s(e);return u(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[d(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function G(e,t){let n=ct(e),r=t?rt(t):{};return u(()=>({...n.value,...r}))}function lt(e,t){let n=Ae(!1,300),r=p(null),i=pe();function a(){r.value=null,n.value=!1}function o(e,t){let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=dt(a,ut(a,i.getBoundingClientRect())),s=ft(t.getBoundingClientRect());r.value=mt([...o,...s]),n.value=!0}return L(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),L(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!pt(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function ut(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function dt(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ft(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function pt(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function mt(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y?1:0),ht(t)}function ht(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}function gt(e){let t;n(()=>H(e),e=>{e?t=Te(e):t&&t()}),se(()=>{t&&t()})}var _t=0;function K(e,t=`reka`){if(e)return e;if(`useId`in g)return`${t}-${ue?.()}`;let n=He({useId:void 0});return n.useId?`${t}-${n.useId()}`:`${t}-${++_t}`}function vt(e){let t=p(),n=u(()=>t.value?.width??0),r=u(()=>t.value?.height??0);return j(()=>{let n=H(e);if(n){t.value={width:n.offsetWidth,height:n.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}});return e.observe(n,{box:`border-box`}),()=>e.unobserve(n)}else t.value=void 0}),{width:n,height:r}}function yt(e,t){let n=p(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function bt(e){let t=Ae(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=B(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=St(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function xt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function St(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=xt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Ct(e,t){let r=p({}),i=p(`none`),a=p(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??We,{state:l,dispatch:d}=yt(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(R){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};n(e,async(e,n)=>{let a=n!==e;if(await I(),a){let a=i.value,o=wt(t.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||r.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):n&&a!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let m=e=>{let n=wt(t.value),r=n.includes(CSS.escape(e.animationName)),i=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(f(`after-${i}`),d(`ANIMATION_END`),!a.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,s=c?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&d(`ANIMATION_END`)},h=e=>{e.target===t.value&&(i.value=wt(t.value))},g=n(t,(e,t)=>{e?(r.value=getComputedStyle(e),e.addEventListener(`animationstart`,h),e.addEventListener(`animationcancel`,m),e.addEventListener(`animationend`,m)):(d(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,h),t?.removeEventListener(`animationcancel`,m),t?.removeEventListener(`animationend`,m))},{immediate:!0}),_=n(l,()=>{let e=wt(t.value);i.value=l.value===`mounted`?e:`none`});return se(()=>{g(),_()}),{isPresent:u(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function wt(e){return e&&getComputedStyle(e).animationName||`none`}var Tt=F({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=y(e),a=p(),{isPresent:o}=Ct(r,a);n({present:o});let s=t.default({present:o.value});s=Ve(s||[]);let c=ae();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(` +`)].join(` +`))}return()=>i.value||r.value||o.value?ie(t.default({present:o.value})[0],{ref:e=>{let t=H(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Et=F({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=Ve(n.default()),r=e.findIndex(e=>e.type!==S);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?M(t,i.props):t,o=ce({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Dt=[`area`,`img`,`input`],q=F({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Dt.includes(r)?()=>ie(r,t):r===`template`?()=>ie(Et,t,{default:n.default}):()=>ie(e.as,t,{default:n.default})}});function Ot(){let e=p();return{primitiveElement:e,currentElement:u(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:H(e))}}var[J,kt]=z(`DialogRoot`),At=F({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=U(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=p(),o=p(),{modal:s}=y(n);return kt({open:r,modal:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:o}),(e,t)=>k(e.$slots,`default`,{open:a(r),close:()=>r.value=!1})}}),jt=F({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;W();let n=J();return(e,i)=>(N(),w(a(q),M(t,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>a(n).onOpenChange(!1)}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`type`]))}}),Mt=`dismissableLayer.pointerDownOutside`,Nt=`dismissableLayer.focusOutside`;function Pt(e,t){let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r){});return L(o=>{if(!R||!x(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Pt(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){ze(Mt,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{x(n)&&(i.value=!0)}}}function It(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=p(!1);return L(a=>{if(!R||!x(n))return;let o=async n=>{if(!t?.value)return;await I(),await I();let r=n.target;!t.value||!r||Pt(t.value,r)||n.target&&!i.value&&ze(Nt,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{x(n)&&(i.value=!0)},onBlurCapture:()=>{x(n)&&(i.value=!1)}}}var Y=i({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Lt=F({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,i=t,{forwardRef:o,currentElement:s}=W(),c=u(()=>s.value?.ownerDocument??globalThis.document),l=u(()=>Y.layersRoot),d=u(()=>s.value?Array.from(l.value).indexOf(s.value):-1),f=u(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),p=u(()=>{let e=Array.from(l.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return d.value>=n}),m=Ft(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!p.value||t||(i(`pointerDownOutside`,e),i(`interactOutside`,e),await I(),e.defaultPrevented||i(`dismiss`))},s),h=It(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(i(`focusOutside`,e),i(`interactOutside`,e),e.defaultPrevented||i(`dismiss`))},s);Ye(`Escape`,e=>{d.value===l.value.size-1&&(i(`escapeKeyDown`,e),e.defaultPrevented||i(`dismiss`))});let g;return L(e=>{s.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(g=c.value.body.style.pointerEvents,c.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(s.value)),l.value.add(s.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&(c.value.body.style.pointerEvents=g)}))}),L(e=>{e(()=>{s.value&&(l.value.delete(s.value),Y.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(e,t)=>(N(),w(a(q),{ref:a(o),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:T({pointerEvents:f.value?p.value?`auto`:`none`:void 0}),onFocusCapture:a(h).onFocusCapture,onBlurCapture:a(h).onBlurCapture,onPointerdownCapture:a(m).onPointerDownCapture},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Rt=Fe(()=>p([]));function zt(){let e=Rt();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Bt(e.value,t),e.value.unshift(t)},remove(t){e.value=Bt(e.value,t),e.value[0]?.resume()}}}function Bt(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Vt(e){return e.filter(e=>e.tagName!==`A`)}var Ht=`focusScope.autoFocusOnMount`,Ut=`focusScope.autoFocusOnUnmount`,Wt={bubbles:!1,cancelable:!0};function Gt(e,{select:t=!1}={}){let n=B();for(let r of e)if(X(r,{select:t}),B()!==n)return!0}function Kt(e){let t=qt(e);return[Jt(t,e),Jt(t.reverse(),e)]}function qt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Jt(e,t){for(let n of e)if(!Yt(n,{upTo:t}))return n}function Yt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Xt(e){return e instanceof HTMLInputElement&&`select`in e}function X(e,{select:t=!1}={}){if(e&&e.focus){let n=B();e.focus({preventScroll:!0}),e!==n&&Xt(e)&&t&&e.select()}}var Zt=F({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,o=t,{currentRef:s,currentElement:c}=W(),l=p(null),u=zt(),d=i({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});L(e=>{if(!R)return;let t=c.value;if(!n.trapped)return;function r(e){if(d.paused||!t)return;let n=e.target;t.contains(n)?l.value=n:X(l.value,{select:!0})}function i(e){if(d.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||X(l.value,{select:!0}))}function a(e){t.contains(l.value)||X(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let o=new MutationObserver(a);t&&o.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),o.disconnect()})}),L(async e=>{let t=c.value;if(await I(),!t)return;u.add(d);let n=B();if(!t.contains(n)){let e=new CustomEvent(Ht,Wt);t.addEventListener(Ht,e=>o(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Gt(Vt(qt(t)),{select:!0}),B()===n&&X(t))}e(()=>{t.removeEventListener(Ht,e=>o(`mountAutoFocus`,e));let e=new CustomEvent(Ut,Wt),r=e=>{o(`unmountAutoFocus`,e)};t.addEventListener(Ut,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||X(n??document.body,{select:!0}),t.removeEventListener(Ut,r),u.remove(d)},0)})});function f(e){if(!n.loop&&!n.trapped||d.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=B();if(t&&r){let t=e.currentTarget,[i,a]=Kt(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&X(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&X(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(N(),w(a(q),{ref_key:`currentRef`,ref:s,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:f},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Qt=[`Enter`,` `],$t=[`ArrowDown`,`PageUp`,`Home`],en=[`ArrowUp`,`PageDown`,`End`];[...$t,...en],[...Qt],[...Qt];function tn(e){return e?`open`:`closed`}function nn(e){let t=B();for(let n of e)if(n===t||(n.focus(),B()!==t))return}var rn=F({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=J(),{forwardRef:s,currentElement:c}=W();return o.titleId||=K(void 0,`reka-dialog-title`),o.descriptionId||=K(void 0,`reka-dialog-description`),j(()=>{o.contentElement=c,B()!==document.body&&(o.triggerElement.value=B())}),(e,t)=>(N(),w(a(Zt),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:r(()=>[A(a(Lt),M({id:a(o).contentId,ref:a(s),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":a(o).descriptionId,"aria-labelledby":a(o).titleId,"data-state":a(tn)(a(o).open.value)},e.$attrs,{onDismiss:t[0]||=e=>a(o).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),an=F({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=J(),s=rt(i),{forwardRef:c,currentElement:l}=W();return gt(l),(e,t)=>(N(),w(rn,M({...n,...a(s)},{ref:a(c),"trap-focus":a(o).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),a(o).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),on=F({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=rt(t);W();let o=J(),s=p(!1),c=p(!1);return(e,t)=>(N(),w(rn,M({...n,...a(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(s.value||a(o).triggerElement.value?.focus(),e.preventDefault()),s.value=!1,c.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(s.value=!0,e.detail.originalEvent.type===`pointerdown`&&(c.value=!0));let t=e.target;a(o).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&c.value&&e.preventDefault()}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),sn=F({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=J(),s=rt(i),{forwardRef:c}=W();return(e,t)=>(N(),w(a(Tt),{present:e.forceMount||a(o).open.value},{default:r(()=>[a(o).modal.value?(N(),w(an,M({key:0,ref:a(c)},{...n,...a(s),...e.$attrs}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16)):(N(),w(on,M({key:1,ref:a(c)},{...n,...a(s),...e.$attrs}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),cn=F({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;W();let n=J();return(e,i)=>(N(),w(a(q),M(t,{id:a(n).descriptionId}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`]))}}),ln=F({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J();return $e(!0),W(),(e,n)=>(N(),w(a(q),{as:e.as,"as-child":e.asChild,"data-state":a(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),un=F({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J(),{forwardRef:n}=W();return(e,i)=>a(t)?.modal.value?(N(),w(a(Tt),{key:0,present:e.forceMount||a(t).open.value},{default:r(()=>[A(ln,M(e.$attrs,{ref:a(n),as:e.as,"as-child":e.asChild}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):O(`v-if`,!0)}}),dn=F({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=Ke();return(e,n)=>a(t)||e.forceMount?(N(),w(f,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[k(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):O(`v-if`,!0)}}),fn=F({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(N(),w(a(dn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),pn=F({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=J();return W(),(e,i)=>(N(),w(a(q),M(t,{id:a(n).titleId}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`]))}}),mn=F({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(jt),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),[hn,gn]=z(`AlertDialogContent`),_n=F({__name:`AlertDialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=rt(t);W();let o=p();return gn({onCancelElementChange:e=>{o.value=e}}),(e,t)=>(N(),w(a(sn),M({...n,...a(i)},{role:`alertdialog`,onPointerDownOutside:t[0]||=b(()=>{},[`prevent`]),onInteractOutside:t[1]||=b(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{I(()=>{o.value?.focus({preventScroll:!0})})}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),vn=F({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=hn(),{forwardRef:i,currentElement:o}=W();return j(()=>{n.onCancelElementChange(o.value)}),(e,n)=>(N(),w(a(jt),M(t,{ref:a(i)}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),yn=F({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(cn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),bn=F({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(un),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),xn=F({__name:`AlertDialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(N(),w(a(dn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),Sn=F({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=G(e,t);return W(),(e,t)=>(N(),w(a(At),M(a(n),{modal:!0}),{default:r(t=>[k(e.$slots,`default`,l(P(t)))]),_:3},16))}}),Cn=F({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(pn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),wn=`data-reka-collection-item`;function Z(e={}){let{key:t=``,isProvider:r=!1}=e,i=`${t}CollectionProvider`,a;if(r){let e=p(new Map);a={collectionRef:p(),itemMap:e},re(i,a)}else a=oe(i);let o=(e=!1)=>{let t=a.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${wn}]`)),r=Array.from(a.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},s=F({name:`CollectionSlot`,setup(e,{slots:t}){let{primitiveElement:r,currentElement:i}=Ot();return n(i,()=>{a.collectionRef.value=i.value}),()=>ie(Et,{ref:r},t)}}),c=F({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:i}=Ot();return L(t=>{if(i.value){let n=m(i.value);a.itemMap.value.set(n,{ref:i.value,value:e.value}),t(()=>a.itemMap.value.delete(n))}}),()=>ie(Et,{...n,[wn]:``,ref:r},t)}});return{getItems:o,reactiveItems:u(()=>Array.from(a.itemMap.value.values())),itemMapSize:u(()=>a.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var Tn=`rovingFocusGroup.onEntryFocus`,En={bubbles:!1,cancelable:!0},Dn={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function On(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function kn(e,t,n){let r=On(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Dn[r]}function An(e,t=!1){let n=B();for(let r of e)if(r===n||(r.focus({preventScroll:t}),B()!==n))return}function jn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[Mn,Nn]=z(`RovingFocusGroup`),Pn=F({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let i=e,o=n,{loop:s,orientation:c,dir:l}=y(i),u=nt(l),d=U(i,`currentTabStopId`,o,{defaultValue:i.defaultCurrentTabStopId,passive:i.currentTabStopId===void 0}),f=p(!1),m=p(!1),h=p(0),{getItems:g,CollectionSlot:_}=Z({isProvider:!0});function v(e){let t=!m.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!f.value){let t=new CustomEvent(Tn,En);if(e.currentTarget.dispatchEvent(t),o(`entryFocus`,t),!t.defaultPrevented){let e=g().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);An([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===d.value),...e].filter(Boolean),i.preventScrollOnEntryFocus)}}m.value=!1}function b(){setTimeout(()=>{m.value=!1},1)}return t({getItems:g}),Nn({loop:s,dir:u,orientation:c,currentTabStopId:d,onItemFocus:e=>{d.value=e},onItemShiftTab:()=>{f.value=!0},onFocusableItemAdd:()=>{h.value++},onFocusableItemRemove:()=>{h.value--}}),(e,t)=>(N(),w(a(_),null,{default:r(()=>[A(a(q),{tabindex:f.value||h.value===0?-1:0,"data-orientation":a(c),as:e.as,"as-child":e.asChild,dir:a(u),style:{outline:`none`},onMousedown:t[0]||=e=>m.value=!0,onMouseup:b,onFocus:v,onBlur:t[1]||=e=>f.value=!1},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),Fn=F({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Mn(),i=K(),o=u(()=>t.tabStopId||i),s=u(()=>n.currentTabStopId.value===o.value),{getItems:c,CollectionItem:l}=Z();j(()=>{t.focusable&&n.onFocusableItemAdd()}),se(()=>{t.focusable&&n.onFocusableItemRemove()});function d(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=kn(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...c().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?jn(i,t+1):i.slice(t+1)}I(()=>An(i))}}return(e,t)=>(N(),w(a(l),null,{default:r(()=>[A(a(q),{tabindex:s.value?0:-1,"data-orientation":a(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?a(n).onItemFocus(o.value):t.preventDefault()},onFocus:t[1]||=e=>a(n).onItemFocus(o.value),onKeydown:d},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),In=F({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(N(),w(a(q),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),Ln=F({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:r,currentElement:i}=Ot();return n(u(()=>t.checked??t.value),(e,t)=>{if(!i.value)return;let n=i.value,r=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(r,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,n)=>(N(),w(In,M({ref_key:`primitiveElement`,ref:r},{...t,...e.$attrs},{as:`input`}),null,16))}}),Rn=F({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=u(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=u(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(N(),h(o,null,[O(` We render single input if it's required `),n.value?(N(),w(Ln,M({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(N(!0),h(o,{key:1},ne(r.value,n=>(N(),w(Ln,M({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),[zn,Bn]=z(`CheckboxGroupRoot`);function Vn(e){return e===`indeterminate`}function Hn(e){return Vn(e)?`indeterminate`:e?`checked`:`unchecked`}var[Un,Wn]=z(`CheckboxRoot`),Gn=F({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:[Boolean,String],required:!1},modelValue:{type:[Boolean,String,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=t,{forwardRef:o,currentElement:s}=W(),l=zn(null),d=U(n,`modelValue`,i,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),f=u(()=>l?.disabled.value||n.disabled),p=u(()=>V(l?.modelValue.value)?d.value===`indeterminate`?`indeterminate`:d.value:Be(l.modelValue.value,n.value));function m(){if(V(l?.modelValue.value))d.value=Vn(d.value)?!0:!d.value;else{let e=[...l.modelValue.value||[]];if(Be(e,n.value)){let t=e.findIndex(e=>_e(e,n.value));e.splice(t,1)}else e.push(n.value);l.modelValue.value=e}}let h=st(s),g=u(()=>n.id&&s.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return Wn({disabled:f,state:p}),(e,t)=>(N(),w(le(a(l)?.rovingFocus.value?a(Fn):a(q)),M(e.$attrs,{id:e.id,ref:a(o),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":a(Vn)(p.value)?`mixed`:p.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||g.value,"data-state":a(Hn)(p.value),"data-disabled":f.value?``:void 0,disabled:f.value,focusable:a(l)?.rovingFocus.value?!f.value:void 0,onKeydown:c(b(()=>{},[`prevent`]),[`enter`]),onClick:m}),{default:r(()=>[k(e.$slots,`default`,{modelValue:a(d),state:p.value}),a(h)&&e.name&&!a(l)?(N(),w(a(Rn),{key:0,type:`checkbox`,checked:!!p.value,name:e.name,value:e.value,disabled:f.value,required:e.required},null,8,[`checked`,`name`,`value`,`disabled`,`required`])):O(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),Kn=F({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=W(),n=Un();return(e,i)=>(N(),w(a(Tt),{present:e.forceMount||a(Vn)(a(n).state.value)||a(n).state.value===!0},{default:r(()=>[A(a(q),M({ref:a(t),"data-state":a(Hn)(a(n).state.value),"data-disabled":a(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),[qn,Jn]=z(`PopperRoot`),Yn=F({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=p();return Jn({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>k(e.$slots,`default`)}}),Xn=F({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:i}=W(),o=qn();return v(()=>{o.onAnchorChange(t.reference??i.value)}),(e,t)=>(N(),w(a(q),{ref:a(n),as:e.as,"as-child":e.asChild},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Zn={key:0,d:`M0 0L6 6L12 0`},Qn={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},$n=F({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(q),M(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:r(()=>[k(e.$slots,`default`,{},()=>[e.rounded?(N(),h(`path`,Qn)):(N(),h(`path`,Zn))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}});function er(e){return e!==null}function tr(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=nr(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function nr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var rr={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[ir,ar]=z(`PopperContent`),or=F({inheritAttrs:!1,__name:`PopperContent`,props:ee({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...rr}),emits:[`placed`],setup(e,{emit:t}){let n=e,i=t,o=qn(),{forwardRef:s,currentElement:c}=W(),l=p(),d=p(),{width:f,height:m}=vt(d),g=u(()=>n.side+(n.align===`center`?``:`-${n.align}`)),_=u(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),y=u(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),b=u(()=>({padding:_.value,boundary:y.value.filter(er),altBoundary:y.value.length>0})),x=u(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),S=Se(()=>[we({mainAxis:n.sideOffset+m.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Me({...b.value,...x.value}),n.avoidCollisions&&Pe({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Oe():void 0,...b.value}),!n.prioritizePosition&&n.avoidCollisions&&Me({...b.value,...x.value}),Le({...b.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),d.value&&Ee({element:d.value,padding:n.arrowPadding}),tr({arrowWidth:f.value,arrowHeight:m.value}),n.hideWhenDetached&&ke({strategy:`referenceHidden`,...b.value})]),{floatingStyles:C,placement:w,isPositioned:E,middlewareData:D,update:O}=De(u(()=>n.reference??o.anchor.value),l,{strategy:n.positionStrategy,placement:g,whileElementsMounted:(...e)=>Ne(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:S}),ee=u(()=>nr(w.value)[0]),te=u(()=>nr(w.value)[1]);v(()=>{E.value&&i(`placed`)});let j=u(()=>D.value.arrow?.centerOffset!==0),ne=p(``);return L(()=>{c.value&&(ne.value=window.getComputedStyle(c.value).zIndex)}),ar({placedSide:ee,onArrowChange:e=>d.value=e,arrowX:u(()=>D.value.arrow?.x??0),arrowY:u(()=>D.value.arrow?.y??0),shouldHideArrow:j}),(e,t)=>(N(),h(`div`,{ref_key:`floatingRef`,ref:l,"data-reka-popper-content-wrapper":``,style:T({...a(C),transform:a(E)?a(C).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ne.value,"--reka-popper-transform-origin":[a(D).transformOrigin?.x,a(D).transformOrigin?.y].join(` `),...a(D).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[A(a(q),M({ref:a(s)},e.$attrs,{"as-child":n.asChild,as:e.as,"data-side":ee.value,"data-align":te.value,style:{animation:a(E)?void 0:`none`}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}}),sr={top:`bottom`,right:`left`,bottom:`top`,left:`right`},cr=F({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:t}=W(),n=ir(),i=u(()=>sr[n.placedSide.value]);return(e,o)=>(N(),h(`span`,{ref:e=>{a(n).onArrowChange(e)},style:T({position:`absolute`,left:a(n).arrowX?.value?`${a(n).arrowX?.value}px`:void 0,top:a(n).arrowY?.value?`${a(n).arrowY?.value}px`:void 0,[i.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[a(n).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[a(n).placedSide.value],visibility:a(n).shouldHideArrow.value?`hidden`:void 0})},[A($n,M(e.$attrs,{ref:a(t),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}});function lr(e){let t=He({nonce:p()});return u(()=>e?.value||t.nonce?.value)}var[ur,dr]=z(`PopoverRoot`),fr=F({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,i=t,{modal:o}=y(n),s=U(n,`open`,i,{defaultValue:n.defaultOpen,passive:n.open===void 0});return dr({contentId:``,triggerId:``,modal:o,open:s,onOpenChange:e=>{s.value=e},onOpenToggle:()=>{s.value=!s.value},triggerElement:p(),hasCustomAnchor:p(!1)}),(e,t)=>(N(),w(a(Yn),null,{default:r(()=>[k(e.$slots,`default`,{open:a(s),close:()=>s.value=!1})]),_:3}))}}),pr=F({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=ct(fe(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:s}=W(),c=ur();return at(),(e,t)=>(N(),w(a(Zt),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:r(()=>[A(a(Lt),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>i(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>i(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>i(`focusOutside`,e),onDismiss:t[4]||=e=>a(c).onOpenChange(!1)},{default:r(()=>[A(a(or),M(a(o),{id:a(c).contentId,ref:a(s),"data-state":a(c).open.value?`open`:`closed`,"aria-labelledby":a(c).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),mr=F({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=ur(),s=p(!1);$e(!0);let c=G(n,i),{forwardRef:l,currentElement:u}=W();return gt(u),(e,t)=>(N(),w(pr,M(a(c),{ref:a(l),"trap-focus":a(o).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=b(e=>{i(`closeAutoFocus`,e),s.value||a(o).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{i(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;s.value=t.button===2||n},onFocusOutside:t[2]||=b(()=>{},[`prevent`])}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),hr=F({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=ur(),s=p(!1),c=p(!1),l=G(n,i);return(e,t)=>(N(),w(pr,M(a(l),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{i(`closeAutoFocus`,e),e.defaultPrevented||(s.value||a(o).triggerElement.value?.focus(),e.preventDefault()),s.value=!1,c.value=!1},onInteractOutside:t[1]||=async e=>{i(`interactOutside`,e),e.defaultPrevented||(s.value=!0,e.detail.originalEvent.type===`pointerdown`&&(c.value=!0));let t=e.target;a(o).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&c.value&&e.preventDefault()}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),gr=F({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,o=ur(),s=G(n,i),{forwardRef:c}=W();return o.contentId||=K(void 0,`reka-popover-content`),(e,t)=>(N(),w(a(Tt),{present:e.forceMount||a(o).open.value},{default:r(()=>[a(o).modal.value?(N(),w(mr,M({key:0},a(s),{ref:a(c)}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16)):(N(),w(hr,M({key:1},a(s),{ref:a(c)}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),_r=F({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(N(),w(a(dn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),vr=F({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=ur(),{forwardRef:i,currentElement:o}=W();return n.triggerId||=K(void 0,`reka-popover-trigger`),j(()=>{n.triggerElement.value=o.value}),(e,o)=>(N(),w(le(a(n).hasCustomAnchor.value?a(q):a(Xn)),{"as-child":``},{default:r(()=>[A(a(q),{id:a(n).triggerId,ref:a(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":a(n).open.value,"aria-controls":a(n).contentId,"data-state":a(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:a(n).onOpenToggle},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),yr=F({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(q),M(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),[br,xr]=z(`PaginationRoot`),Sr=F({__name:`PaginationRoot`,props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`nav`}},emits:[`update:page`],setup(e,{emit:t}){let n=e,i=t,{siblingCount:o,disabled:s,showEdges:c}=y(n);W();let l=U(n,`page`,i,{defaultValue:n.defaultPage,passive:n.page===void 0}),d=u(()=>Math.max(1,Math.ceil(n.total/(n.itemsPerPage||1))));return xr({page:l,onPageChange(e){l.value=e},pageCount:d,siblingCount:o,disabled:s,showEdges:c}),(e,t)=>(N(),w(a(q),{as:e.as,"as-child":e.asChild},{default:r(()=>[k(e.$slots,`default`,{page:a(l),pageCount:d.value})]),_:3},8,[`as`,`as-child`]))}});function Q(e,t){let n=t-e+1;return Array.from({length:n},(t,n)=>n+e)}function Cr(e){return e.map(e=>typeof e==`number`?{type:`page`,value:e}:{type:`ellipsis`})}var wr=`ellipsis`;function Tr(e,t,n,r){let i=t,a=Math.max(e-n,1),o=Math.min(e+n,i);if(r){let e=Math.min(2*n+5,t)-2,r=a>3&&Math.abs(i-e-1+1)>2&&Math.abs(a-1)>2,s=o2&&Math.abs(i-o)>2;return!r&&s?[...Q(1,e),wr,i]:r&&!s?[1,wr,...Q(i-e+1,i)]:r&&s?[1,wr,...Q(a,o),wr,i]:Q(1,i)}else{let r=n*2+1;return tCr(Tr(n.page.value,n.pageCount.value,n.siblingCount.value,n.showEdges.value)));return(e,n)=>(N(),w(a(q),l(P(t)),{default:r(()=>[k(e.$slots,`default`,{items:i.value})]),_:3},16))}}),Dr=F({__name:`PaginationListItem`,props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t;W();let i=br(),o=u(()=>i.page.value===n.value),s=u(()=>i.disabled.value);return(t,c)=>(N(),w(a(q),M(n,{"data-type":`page`,"aria-label":`Page ${t.value}`,"aria-current":o.value?`page`:void 0,"data-selected":o.value?`true`:void 0,disabled:s.value,type:t.as===`button`?`button`:void 0,onClick:c[0]||=e=>!s.value&&a(i).onPageChange(t.value)}),{default:r(()=>[k(t.$slots,`default`,{},()=>[e(C(t.value),1)])]),_:3},16,[`aria-label`,`aria-current`,`data-selected`,`disabled`,`type`]))}}),Or=F({__name:`PaginationNext`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t;W();let i=br(),o=u(()=>i.page.value===i.pageCount.value||i.disabled.value);return(t,s)=>(N(),w(a(q),M(n,{"aria-label":`Next Page`,type:t.as===`button`?`button`:void 0,disabled:o.value,onClick:s[0]||=e=>!o.value&&a(i).onPageChange(a(i).page.value+1)}),{default:r(()=>[k(t.$slots,`default`,{},()=>[s[1]||=e(`Next page`)])]),_:3},16,[`type`,`disabled`]))}}),kr=F({__name:`PaginationPrev`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t;W();let i=br(),o=u(()=>i.page.value===1||i.disabled.value);return(t,s)=>(N(),w(a(q),M(n,{"aria-label":`Previous Page`,type:t.as===`button`?`button`:void 0,disabled:o.value,onClick:s[0]||=e=>!o.value&&a(i).onPageChange(a(i).page.value-1)}),{default:r(()=>[k(t.$slots,`default`,{},()=>[s[1]||=e(`Prev page`)])]),_:3},16,[`type`,`disabled`]))}}),Ar=100,[jr,Mr]=z(`ProgressRoot`),Nr=e=>typeof e==`number`;function Pr(e,t){return V(e)||Nr(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Ar} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`),null)}function Fr(e){return Nr(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Ar}\`.`),Ar)}var Ir=F({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:Ar},getValueLabel:{type:Function,required:!1,default:(e,t)=>Nr(e)?`${Math.round(e/t*Ar)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let i=e,o=t;W();let s=U(i,`modelValue`,o,{passive:i.modelValue===void 0}),c=U(i,`max`,o,{passive:i.max===void 0});n(()=>s.value,async e=>{let t=Pr(e,i.max);t!==e&&(await I(),s.value=t)},{immediate:!0}),n(()=>i.max,e=>{let t=Fr(i.max);t!==e&&(c.value=t)},{immediate:!0});let l=u(()=>V(s.value)?`indeterminate`:s.value===c.value?`complete`:`loading`);return Mr({modelValue:s,max:c,progressState:l}),(e,t)=>(N(),w(a(q),{"as-child":e.asChild,as:e.as,"aria-valuemax":a(c),"aria-valuemin":0,"aria-valuenow":Nr(a(s))?a(s):void 0,"aria-valuetext":e.getValueText?.(a(s),a(c)),"aria-label":e.getValueLabel(a(s),a(c)),role:`progressbar`,"data-state":l.value,"data-value":a(s)??void 0,"data-max":a(c)},{default:r(()=>[k(e.$slots,`default`,{modelValue:a(s)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),Lr=F({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=jr();return W(),(e,i)=>(N(),w(a(q),M(t,{"data-state":a(n).progressState.value,"data-value":a(n).modelValue?.value??void 0,"data-max":a(n).max.value}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),Rr=[` `,`Enter`,`ArrowUp`,`ArrowDown`],zr=[` `,`Enter`];function Br(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Vr(e,t,n)):Vr(e,t,n)}function Vr(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:_e(e,t)}function Hr(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Ur={key:0,value:``},[$,Wr]=z(`SelectRoot`),Gr=F({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:t}){let n=e,i=t,{required:s,disabled:c,multiple:l,dir:d}=y(n),f=U(n,`modelValue`,i,{defaultValue:n.defaultValue??(l.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),m=U(n,`open`,i,{defaultValue:n.defaultOpen,passive:n.open===void 0}),g=p(),_=p(),v=p({x:0,y:0}),b=u(()=>l.value&&Array.isArray(f.value)?f.value?.length===0:V(f.value));Z({isProvider:!0});let x=nt(d),S=st(g),C=p(new Set),T=u(()=>Array.from(C.value).map(e=>e.value).join(`;`));function E(e){if(l.value){let t=Array.isArray(f.value)?[...f.value]:[],r=t.findIndex(t=>Vr(t,e,n.by));r===-1?t.push(e):t.splice(r,1),f.value=[...t]}else f.value=e}function D(e){return Array.from(C.value).find(t=>Br(e,t.value,n.by))}return Wr({triggerElement:g,onTriggerChange:e=>{g.value=e},valueElement:_,onValueElementChange:e=>{_.value=e},contentId:``,modelValue:f,onValueChange:E,by:n.by,open:m,multiple:l,required:s,onOpenChange:e=>{m.value=e},dir:x,triggerPointerDownPosRef:v,disabled:c,isEmptyModelValue:b,optionsSet:C,onOptionAdd:e=>{let t=D(e.value);t&&C.value.delete(t),C.value.add(e)},onOptionRemove:e=>{let t=D(e.value);t&&C.value.delete(t)}}),(e,t)=>(N(),w(a(Yn),null,{default:r(()=>[k(e.$slots,`default`,{modelValue:a(f),open:a(m)}),a(S)?(N(),w(Kr,{key:T.value,"aria-hidden":`true`,tabindex:`-1`,multiple:a(l),required:a(s),name:e.name,autocomplete:e.autocomplete,disabled:a(c),value:a(f)},{default:r(()=>[a(V)(a(f))?(N(),h(`option`,Ur)):O(`v-if`,!0),(N(!0),h(o,null,ne(Array.from(C.value),e=>(N(),h(`option`,M({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):O(`v-if`,!0)]),_:3}))}}),Kr=F({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,i=p(),o=$();n(()=>t.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&r&&i.value){let t=new Event(`change`,{bubbles:!0});r.call(i.value,e),i.value.dispatchEvent(t)}});function s(e){o.onValueChange(e.target.value)}return(e,n)=>(N(),w(a(In),{"as-child":``},{default:r(()=>[E(`select`,M({ref_key:`selectElement`,ref:i},t,{onInput:s}),[k(e.$slots,`default`)],16)]),_:3}))}}),qr=F({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=ct(e);return(e,n)=>(N(),w(a(or),M(a(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),Jr={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Yr,Xr]=z(`SelectContent`),Zr=F({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let i=e,o=t,s=$();at(),$e(i.bodyLock);let{CollectionSlot:c,getItems:l}=Z(),d=p();gt(d);let{search:f,handleTypeaheadSearch:m}=bt(),h=p(),g=p(),_=p(),v=p(!1),y=p(!1),x=p(!1);function S(){g.value&&d.value&&nn([g.value,d.value])}n(v,()=>{S()});let{onOpenChange:C,triggerPointerDownPosRef:T}=s;L(e=>{if(!d.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(T.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(T.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():d.value?.contains(e.target)||C(!1),document.removeEventListener(`pointermove`,n),T.value=null)};T.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function E(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&m(e.key,l()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...l().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>nn(t)),e.preventDefault()}}let D=ct(u(()=>i.position===`popper`?i:{}).value);return Xr({content:d,viewport:h,onViewportChange:e=>{h.value=e},itemRefCallback:(e,t,n)=>{let r=!y.value&&!n,i=Br(s.modelValue.value,t,s.by);if(s.multiple.value){if(x.value)return;(i||r)&&(g.value=e,i&&(x.value=!0))}else (i||r)&&(g.value=e);r&&(y.value=!0)},selectedItem:g,selectedItemText:_,onItemLeave:()=>{d.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!y.value&&!n;(Br(s.modelValue.value,t,s.by)||r)&&(_.value=e)},focusSelectedItem:S,position:i.position,isPositioned:v,searchRef:f}),(e,t)=>(N(),w(a(c),null,{default:r(()=>[A(a(Zt),{"as-child":``,onMountAutoFocus:t[6]||=b(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{o(`closeAutoFocus`,e),!e.defaultPrevented&&(a(s).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:r(()=>[A(a(Lt),{"as-child":``,"disable-outside-pointer-events":``,onFocusOutside:t[2]||=b(()=>{},[`prevent`]),onDismiss:t[3]||=e=>a(s).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>o(`pointerDownOutside`,e)},{default:r(()=>[(N(),w(le(e.position===`popper`?qr:ei),M({...e.$attrs,...a(D)},{id:a(s).contentId,ref:e=>{let t=a(H)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?d.value=t.firstElementChild:d.value=t},role:`listbox`,"data-state":a(s).open.value?`open`:`closed`,dir:a(s).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=b(()=>{},[`prevent`]),onPlaced:t[1]||=e=>v.value=!0,onKeydown:E}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3})]),_:3})]),_:3}))}}),[Qr,$r]=z(`SelectItemAlignedPosition`),ei=F({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:t}){let n=e,i=t,{getItems:o}=Z(),s=$(),c=Yr(),l=p(!1),u=p(!0),d=p(),{forwardRef:f,currentElement:m}=W(),{viewport:g,selectedItem:_,selectedItemText:v,focusSelectedItem:y}=c;function b(){if(s.triggerElement.value&&s.valueElement.value&&d.value&&m.value&&g?.value&&_?.value&&v?.value){let e=s.triggerElement.value.getBoundingClientRect(),t=m.value.getBoundingClientRect(),n=s.valueElement.value.getBoundingClientRect(),r=v.value.getBoundingClientRect();if(s.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Re(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Re(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.right=`${u}px`}let a=o().map(e=>e.ref),c=window.innerHeight-20,u=g.value.scrollHeight,f=window.getComputedStyle(m.value),p=Number.parseInt(f.borderTopWidth,10),h=Number.parseInt(f.paddingTop,10),y=Number.parseInt(f.borderBottomWidth,10),b=Number.parseInt(f.paddingBottom,10),x=p+h+u+b+y,S=Math.min(_.value.offsetHeight*5,x),C=window.getComputedStyle(g.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=_.value.offsetHeight/2,k=_.value.offsetTop+O,ee=p+h+k,te=x-ee;if(ee<=E){let e=_.value===a[a.length-1];d.value.style.bottom=`0px`;let t=m.value.clientHeight-g.value.offsetTop-g.value.offsetHeight,n=ee+Math.max(D,O+(e?T:0)+t+y);d.value.style.height=`${n}px`}else{let e=_.value===a[0];d.value.style.top=`0px`;let t=Math.max(E,p+g.value.offsetTop+(e?w:0)+O)+te;d.value.style.height=`${t}px`,g.value.scrollTop=ee-E+g.value.offsetTop}d.value.style.margin=`10px 0`,d.value.style.minHeight=`${S}px`,d.value.style.maxHeight=`${c}px`,i(`placed`),requestAnimationFrame(()=>l.value=!0)}}let x=p(``);j(async()=>{await I(),b(),m.value&&(x.value=window.getComputedStyle(m.value).zIndex)});function S(e){e&&u.value===!0&&(b(),y?.(),u.value=!1)}return Ze(s.triggerElement,()=>{b()}),$r({contentWrapper:d,shouldExpandOnScrollRef:l,onScrollButtonChange:S}),(e,t)=>(N(),h(`div`,{ref_key:`contentWrapperElement`,ref:d,style:T({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x.value})},[A(a(q),M({ref:a(f),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...n}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16)],4))}}),ti=F({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Wr(e.context),Xr(Jr),(e,t)=>k(e.$slots,`default`)}}),ni={key:1},ri=F({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let i=e,o=G(i,t),s=$(),c=p();j(()=>{c.value=new DocumentFragment});let d=p(),m=u(()=>i.forceMount||s.open.value),g=p(m.value);return n(m,()=>{setTimeout(()=>g.value=m.value)}),(e,t)=>m.value||g.value||d.value?.present?(N(),w(a(Tt),{key:0,ref_key:`presenceRef`,ref:d,present:m.value},{default:r(()=>[A(Zr,l(P({...a(o),...e.$attrs})),{default:r(()=>[k(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):c.value?(N(),h(`div`,ni,[(N(),w(f,{to:c.value},[A(ti,{context:a(s)},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):O(`v-if`,!0)}}),ii=F({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){return(t,n)=>(N(),w(a(q),{"aria-hidden":`true`,as:t.as,"as-child":t.asChild},{default:r(()=>[k(t.$slots,`default`,{},()=>[n[0]||=e(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[ai,oi]=z(`SelectItem`),si=F({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,i=t,{disabled:o}=y(n),s=$(),c=Yr(),{forwardRef:l,currentElement:d}=W(),{CollectionItem:f}=Z(),m=u(()=>Br(s.modelValue?.value,n.value,s.by)),h=p(!1),g=p(n.textValue??``),_=K(void 0,`reka-select-item-text`);async function v(e){e.defaultPrevented||ze(`select.select`,x,{originalEvent:e,value:n.value})}async function x(e){await I(),i(`select`,e),!e.defaultPrevented&&(o.value||(s.onValueChange(n.value),s.multiple.value||s.onOpenChange(!1)))}async function S(e){await I(),!e.defaultPrevented&&(o.value?c.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function C(e){await I(),!e.defaultPrevented&&e.currentTarget===B()&&c.onItemLeave?.()}async function T(e){await I(),!e.defaultPrevented&&(c.searchRef?.value!==``&&e.key===` `||(zr.includes(e.key)&&v(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return j(()=>{d.value&&c.itemRefCallback(d.value,n.value,n.disabled)}),oi({value:n.value,disabled:o,textId:_,isSelected:m,onItemTextChange:e=>{g.value=((g.value||e?.textContent)??``).trim()}}),(e,t)=>(N(),w(a(f),{value:{textValue:g.value}},{default:r(()=>[A(a(q),{ref:a(l),role:`option`,"aria-labelledby":a(_),"data-highlighted":h.value?``:void 0,"aria-selected":m.value,"data-state":m.value?`checked`:`unchecked`,"aria-disabled":a(o)||void 0,"data-disabled":a(o)?``:void 0,tabindex:a(o)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>h.value=!0,onBlur:t[1]||=e=>h.value=!1,onPointerup:v,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=b(()=>{},[`prevent`,`stop`]),onPointermove:S,onPointerleave:C,onKeydown:T},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),ci=F({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=ai();return(e,i)=>a(n).isSelected.value?(N(),w(a(q),M({key:0,"aria-hidden":`true`},t),{default:r(()=>[k(e.$slots,`default`)]),_:3},16)):O(`v-if`,!0)}}),li=F({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=$(),i=Yr(),o=ai(),{forwardRef:s,currentElement:c}=W(),l=u(()=>({value:o.value,disabled:o.disabled.value,textContent:c.value?.textContent??o.value?.toString()??``}));return j(()=>{c.value&&(o.onItemTextChange(c.value),i.itemTextRefCallback(c.value,o.value,o.disabled.value),n.onOptionAdd(l.value))}),se(()=>{n.onOptionRemove(l.value)}),(e,n)=>(N(),w(a(q),M({id:a(o).textId,ref:a(s)},{...t,...e.$attrs}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`id`]))}}),ui=F({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(N(),w(a(dn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),di=F({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let n=t,{getItems:i}=Z(),o=Yr(),s=p(null);function c(){s.value!==null&&(window.clearInterval(s.value),s.value=null)}L(()=>{i().map(e=>e.ref).find(e=>e===B())?.scrollIntoView({block:`nearest`})});function l(){s.value===null&&(s.value=window.setInterval(()=>{n(`autoScroll`)},50))}function u(){o.onItemLeave?.(),s.value===null&&(s.value=window.setInterval(()=>{n(`autoScroll`)},50))}return te(()=>c()),(e,t)=>(N(),w(a(q),M({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:l,onPointermove:u,onPointerleave:t[0]||=()=>{c()}}),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),fi=F({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Yr(),i=t.position===`item-aligned`?Qr():void 0,{forwardRef:o,currentElement:s}=W(),c=p(!1);return L(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;c.value=Math.ceil(n.scrollTop)n.removeEventListener(`scroll`,r))}}),n(s,()=>{s.value&&i?.onScrollButtonChange(s.value)}),(e,n)=>c.value?(N(),w(di,{key:0,ref:a(o),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=a(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:r(()=>[k(e.$slots,`default`)]),_:3},512)):O(`v-if`,!0)}}),pi=F({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Yr(),i=t.position===`item-aligned`?Qr():void 0,{forwardRef:o,currentElement:s}=W(),c=p(!1);return L(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){c.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),n(s,()=>{s.value&&i?.onScrollButtonChange(s.value)}),(e,n)=>c.value?(N(),w(di,{key:0,ref:a(o),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=a(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:r(()=>[k(e.$slots,`default`)]),_:3},512)):O(`v-if`,!0)}}),mi=F({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=$(),{forwardRef:i,currentElement:o}=W(),s=u(()=>n.disabled?.value||t.disabled);n.contentId||=K(void 0,`reka-select-content`),j(()=>{n.onTriggerChange(o.value)});let{getItems:c}=Z(),{search:l,handleTypeaheadSearch:d,resetTypeahead:f}=bt();function p(){s.value||(n.onOpenChange(!0),f())}function m(e){p(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(N(),w(a(Xn),{"as-child":``,reference:e.reference},{default:r(()=>[A(a(q),{ref:a(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":a(n).contentId,"aria-expanded":a(n).open.value||!1,"aria-required":a(n).required?.value,"aria-autocomplete":`none`,disabled:s.value,dir:a(n)?.dir.value,"data-state":a(n)?.open.value?`open`:`closed`,"data-disabled":s.value?``:void 0,"data-placeholder":a(Hr)(a(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(m(e),e.preventDefault())},onPointerup:t[2]||=b(e=>{e.pointerType===`touch`&&m(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=a(l)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(a(d)(e.key,a(c)()),a(Rr).includes(e.key)&&(p(),e.preventDefault()))}},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),hi=F({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,{forwardRef:i,currentElement:o}=W(),s=$();j(()=>{s.valueElement=o});let c=u(()=>{let e=[],t=Array.from(s.optionsSet.value),n=e=>t.find(t=>Br(e,t.value,s.by));return e=Array.isArray(s.modelValue.value)?s.modelValue.value.map(e=>n(e)?.textContent??``):[n(s.modelValue.value)?.textContent??``],e.filter(Boolean)}),l=u(()=>c.value.length?c.value.join(`, `):n.placeholder);return(t,o)=>(N(),w(a(q),{ref:a(i),as:t.as,"as-child":t.asChild,style:{pointerEvents:`none`},"data-placeholder":c.value.length?void 0:n.placeholder},{default:r(()=>[k(t.$slots,`default`,{selectedLabel:c.value,modelValue:a(s).modelValue.value},()=>[e(C(l.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),gi=F({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{nonce:i}=y(n),s=lr(i),c=Yr(),l=c.position===`item-aligned`?Qr():void 0,{forwardRef:u,currentElement:d}=W();j(()=>{c?.onViewportChange(d.value)});let f=p(0);function m(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=l??{};if(n?.value&&r?.value){let e=Math.abs(f.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o0?s:0,r.value.style.justifyContent=`flex-end`)}}}f.value=t.scrollTop}return(t,i)=>(N(),h(o,null,[A(a(q),M({ref:a(u),"data-reka-select-viewport":``,role:`presentation`},{...t.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:m}),{default:r(()=>[k(t.$slots,`default`)]),_:3},16),A(a(q),{as:`style`,nonce:a(s)},{default:r(()=>i[0]||=[e(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[_i,vi]=z(`TabsRoot`),yi=F({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,i=t,{orientation:o,unmountOnHide:s,dir:c}=y(n),l=nt(c);W();let u=U(n,`modelValue`,i,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),d=p();return vi({modelValue:u,changeModelValue:e=>{u.value=e},orientation:o,dir:l,unmountOnHide:s,activationMode:n.activationMode,baseId:K(void 0,`reka-tabs`),tabsList:d}),(e,t)=>(N(),w(a(q),{dir:a(l),"data-orientation":a(o),"as-child":e.asChild,as:e.as},{default:r(()=>[k(e.$slots,`default`,{modelValue:a(u)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function bi(e,t){return`${e}-trigger-${t}`}function xi(e,t){return`${e}-content-${t}`}var Si=F({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=W(),i=_i(),o=u(()=>bi(i.baseId,t.value)),s=u(()=>xi(i.baseId,t.value)),c=u(()=>t.value===i.modelValue.value),l=p(c.value);return j(()=>{requestAnimationFrame(()=>{l.value=!1})}),(e,t)=>(N(),w(a(Tt),{present:e.forceMount||c.value,"force-mount":``},{default:r(({present:t})=>[A(a(q),{id:s.value,ref:a(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":c.value?`active`:`inactive`,"data-orientation":a(i).orientation.value,"aria-labelledby":o.value,hidden:!t,tabindex:`0`,style:T({animationDuration:l.value?`0s`:void 0})},{default:r(()=>[!a(i).unmountOnHide.value||t?k(e.$slots,`default`,{key:0}):O(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),Ci=F({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=y(e),{forwardRef:n,currentElement:i}=W(),o=_i();return o.tabsList=i,(e,i)=>(N(),w(a(Pn),{"as-child":``,orientation:a(o).orientation.value,dir:a(o).dir.value,loop:a(t)},{default:r(()=>[A(a(q),{ref:a(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":a(o).orientation.value},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),wi=F({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=W(),i=_i(),o=u(()=>bi(i.baseId,t.value)),s=u(()=>xi(i.baseId,t.value)),l=u(()=>t.value===i.modelValue.value);return(e,t)=>(N(),w(a(Fn),{"as-child":``,focusable:!e.disabled,active:l.value},{default:r(()=>[A(a(q),{id:o.value,ref:a(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":l.value?`true`:`false`,"aria-controls":s.value,"data-state":l.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":a(i).orientation.value,onMousedown:t[0]||=b(t=>{!e.disabled&&t.ctrlKey===!1?a(i).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=c(t=>a(i).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=a(i).activationMode!==`manual`;!l.value&&!e.disabled&&t&&a(i).changeModelValue(e.value)}},{default:r(()=>[k(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),Ti=F({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return W(),(e,n)=>(N(),w(a(cr),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),[Ei,Di]=z(`TooltipProvider`),Oi=F({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o}=y(e);W();let s=p(!0),c=p(!1),{start:l,stop:u}=he(()=>{s.value=!0},n,{immediate:!1});return Di({isOpenDelayed:s,delayDuration:t,onOpen(){u(),s.value=!1},onClose(){l()},isPointerInTransitRef:c,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a}),(e,t)=>k(e.$slots,`default`)}}),ki=`tooltip.open`,[Ai,ji]=z(`TooltipRoot`),Mi=F({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let i=e,o=t;W();let s=Ei(),c=u(()=>i.disableHoverableContent??s.disableHoverableContent.value),l=u(()=>i.disableClosingTrigger??s.disableClosingTrigger.value),d=u(()=>i.disabled??s.disabled.value),f=u(()=>i.delayDuration??s.delayDuration.value),m=u(()=>i.ignoreNonKeyboardFocus??s.ignoreNonKeyboardFocus.value),h=U(i,`open`,o,{defaultValue:i.defaultOpen,passive:i.open===void 0});n(h,e=>{s.onClose&&(e?(s.onOpen(),document.dispatchEvent(new CustomEvent(ki))):s.onClose())});let g=p(!1),_=p(),v=u(()=>h.value?g.value?`delayed-open`:`instant-open`:`closed`),{start:y,stop:b}=he(()=>{g.value=!0,h.value=!0},f,{immediate:!1});function x(){b(),g.value=!1,h.value=!0}function S(){b(),h.value=!1}function C(){y()}return ji({contentId:``,open:h,stateAttribute:v,trigger:_,onTriggerChange(e){_.value=e},onTriggerEnter(){s.isOpenDelayed.value?C():x()},onTriggerLeave(){c.value?S():b()},onOpen:x,onClose:S,disableHoverableContent:c,disableClosingTrigger:l,disabled:d,ignoreNonKeyboardFocus:m}),(e,t)=>(N(),w(a(Yn),null,{default:r(()=>[k(e.$slots,`default`,{open:a(h)})]),_:3}))}}),Ni=F({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1,default:0},align:{type:null,required:!1,default:`center`},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:!0},collisionBoundary:{type:null,required:!1,default:()=>[]},collisionPadding:{type:[Number,Object],required:!1,default:0},arrowPadding:{type:Number,required:!1,default:0},sticky:{type:String,required:!1,default:`partial`},hideWhenDetached:{type:Boolean,required:!1,default:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let i=t,o=n,s=Ai(),{forwardRef:c}=W(),l=_(),d=u(()=>l.default?.({})),f=u(()=>{if(i.ariaLabel)return i.ariaLabel;let e=``;function t(n){typeof n.children==`string`&&n.type!==S?e+=n.children:Array.isArray(n.children)&&n.children.forEach(e=>t(e))}return d.value?.forEach(e=>t(e)),e}),p=u(()=>{let{ariaLabel:e,...t}=i;return t});return j(()=>{Ge(window,`scroll`,e=>{e.target?.contains(s.trigger.value)&&s.onClose()}),Ge(window,ki,s.onClose)}),(t,n)=>(N(),w(a(Lt),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{a(s).disableClosingTrigger.value&&a(s).trigger.value?.contains(e.target)&&e.preventDefault(),o(`pointerDownOutside`,e)},onFocusOutside:n[2]||=b(()=>{},[`prevent`]),onDismiss:n[3]||=e=>a(s).onClose()},{default:r(()=>[A(a(or),M({ref:a(c),"data-state":a(s).stateAttribute.value},{...t.$attrs,...p.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:r(()=>[k(t.$slots,`default`),A(a(In),{id:a(s).contentId,role:`tooltip`},{default:r(()=>[e(C(f.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Pi=F({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=ct(e),{forwardRef:n,currentElement:i}=W(),{trigger:o,onClose:s}=Ai(),c=Ei(),{isPointerInTransit:l,onPointerExit:u}=lt(o,i);return c.isPointerInTransitRef=l,u(()=>{s()}),(e,i)=>(N(),w(Ni,M({ref:a(n)},a(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),Fi=F({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,i=t,o=Ai(),s=G(n,i),{forwardRef:c}=W();return(e,t)=>(N(),w(a(Tt),{present:e.forceMount||a(o).open.value},{default:r(()=>[(N(),w(le(a(o).disableHoverableContent.value?Ni:Pi),M({ref:a(c)},a(s)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Ii=F({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(N(),w(a(dn),l(P(t)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16))}}),Li=F({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Ai(),i=Ei();n.contentId||=K(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=W(),c=p(!1),l=p(!1),d=u(()=>n.disabled.value?{}:{click:y,focus:_,pointermove:h,pointerleave:g,pointerdown:m,blur:v});j(()=>{n.onTriggerChange(s.value)});function f(){setTimeout(()=>{c.value=!1},1)}function m(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),c.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function h(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(n.onTriggerEnter(),l.value=!0)}function g(){n.onTriggerLeave(),l.value=!1}function _(e){c.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function v(){n.onClose()}function y(){n.disableClosingTrigger.value||n.onClose()}return(e,i)=>(N(),w(a(Xn),{"as-child":``,reference:e.reference},{default:r(()=>[A(a(q),M({ref:a(o),"aria-describedby":a(n).open.value?a(n).contentId:void 0,"data-state":a(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},de(d.value)),{default:r(()=>[k(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}});export{G as $,yr as A,bn as B,Lr as C,Dr as D,Or as E,Kn as F,pn as G,vn as H,Gn as I,cn as J,fn as K,Cn as L,_r as M,gr as N,Er as O,fr as P,q as Q,Sn as R,Gr as S,kr as T,_n as U,yn as V,mn as W,jt as X,sn as Y,At as Z,li as _,Oi as a,ii as b,Ci as c,gi as d,ct as et,hi as f,ui as g,fi as h,Mi as i,vr as j,Sr as k,Si as l,pi as m,Ii as n,Ti as o,mi as p,un as q,Fi as r,wi as s,Li as t,z as tt,yi as u,ci as v,Ir as w,ri as x,si as y,xn as z}; \ No newline at end of file diff --git a/docs/assets/vendor-reka-ui-CZQh7FLl.js b/docs/assets/vendor-reka-ui-CZQh7FLl.js deleted file mode 100644 index 8e2f5c7..0000000 --- a/docs/assets/vendor-reka-ui-CZQh7FLl.js +++ /dev/null @@ -1,8 +0,0 @@ -import{$t as e,At as t,Bt as n,Cn as r,Ct as i,Dn as a,Dt as o,En as s,Et as c,Ft as l,Gt as u,Ht as d,It as f,Jt as p,Kt as m,Mt as h,Nt as g,On as _,Ot as v,Pt as y,Rt as b,Sn as x,St as S,Tt as C,Ut as w,Vt as T,Wt as E,Xt as D,Yt as O,Zt as ee,bn as k,dn as te,en as ne,hn as A,in as j,jt as M,kn as re,kt as N,nn as P,pn as ie,qt as ae,rn as oe,tn as F,vn as se,vt as ce,wn as le,wt as ue,xn as I,xt as L}from"./game-logic-CfBcTF_c.js";import{A as de,C as fe,D as pe,E as R,F as me,I as he,L as ge,M as _e,N as ve,O as ye,P as be,S as xe,T as Se,_ as Ce,b as we,d as Te,f as Ee,g as De,h as Oe,j as ke,k as Ae,m as je,p as Me,v as Ne,w as Pe,x as Fe,y as Ie}from"./vendor-others-CUjrprN5.js";function Le(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function z(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=b(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(ae(r,e),e)]}function B(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Re(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function ze(e){return e==null}function Be(e){return e?e.flatMap(e=>e.type===i?Be(e.children):[e]):[]}var[Ve,He]=z(`ConfigProvider`),Ue=R?window:void 0;R&&window.document,R&&window.navigator,R&&window.location;function V(e){let t=x(e);return t?.$el??t}function We(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},i=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),a=c(()=>{let t=_e(x(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),o=he(()=>[a.value?.map(e=>V(e))??[Ue].filter(e=>e!=null),_e(x(a.value?e[1]:e[0])),_e(r(a.value?e[2]:e[1])),x(a.value?e[3]:e[2])],([e,r,a,o])=>{if(n(),!e?.length||!r?.length||!a?.length)return;let s=Ae(o)?{...o}:o;t.push(...e.flatMap(e=>r.flatMap(t=>a.map(n=>i(e,t,n,s)))))},{flush:`post`});return be(n),()=>{o(),n()}}function Ge(){let e=se(!1),t=y();return t&&E(()=>{e.value=!0},t),e}function Ke(e){let t=Ge();return c(()=>(t.value,!!e()))}function qe(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Je(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=Ue,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=qe(t);return We(i,a,e=>{e.repeat&&x(s)||c(e)&&n(e)},o)}function Ye(e){return JSON.parse(JSON.stringify(e))}function Xe(e,t,n={}){let{window:r=Ue,...i}=n,a,o=Ke(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},l=F(c(()=>{let t=x(e);return Array.isArray(t)?t.map(e=>V(e)):[V(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),u=()=>{s(),l()};return be(u),{isSupported:o,stop:u}}function H(e,t,n,r={}){let{clone:i=!1,passive:a=!1,eventName:o,deep:s=!1,defaultValue:l,shouldEmit:u}=r,f=y(),p=n||f?.emit||(f?.$emit)?.bind(f)||(f?.proxy?.$emit)?.bind(f?.proxy),m=o;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>i?typeof i==`function`?i(e):Ye(e):e,g=()=>pe(e[t])?h(e[t]):l,_=e=>{u?u(e)&&p(m,e):p(m,e)};if(a){let n=A(g()),r=!1;return F(()=>e[t],e=>{r||(r=!0,n.value=h(e),d(()=>r=!1))}),F(n,n=>{!r&&(n!==e[t]||s)&&_(n)},{deep:s}),n}else return c({get(){return g()},set(e){_(e)}})}var Ze=Se(()=>{let e=A(new Map),t=A(),n=c(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=Ve({scrollBody:A(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,ye&&i?.(),t.value=void 0};return F(n,(e,n)=>{if(!R)return;if(!e){n&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let o=window.innerWidth-document.documentElement.clientWidth,s={padding:o,margin:0},c=r.scrollBody?.value?typeof r.scrollBody.value==`object`?Fe({padding:r.scrollBody.value.padding===!0?o:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?o:r.scrollBody.value.margin},s):s:{padding:0,margin:0};o>0&&(document.body.style.paddingRight=typeof c.padding==`number`?`${c.padding}px`:String(c.padding),document.body.style.marginRight=typeof c.margin==`number`?`${c.margin}px`:String(c.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${o}px`),document.body.style.overflow=`hidden`),ye&&(i=We(document,`touchmove`,e=>et(e),{passive:!1})),d(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Qe(e){let t=Math.random().toString(36).substring(2,7),n=Ze();n.value.set(t,e??!1);let r=c({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return ve(()=>{n.value.delete(t)}),r}function $e(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function tt(e){let t=Ve({dir:A(`ltr`)});return c(()=>e?.value||t.dir?.value||`ltr`)}function nt(e){let t=y(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[re(le(t))]=(...n)=>e(t,...n)}),r}var rt=0;function it(){P(e=>{if(!R)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??at()),document.body.insertAdjacentElement(`beforeend`,t[1]??at()),rt++,e(()=>{rt===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),rt--})})}function at(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function ot(e){return c(()=>x(e)?!!V(e)?.closest(`form`):!0)}function U(){let e=y(),t=A(),n=c(()=>[`#text`,`#comment`].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:V(t)),r=Object.assign({},e.exposed),i={};for(let t in e.props)Object.defineProperty(i,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(r).length>0)for(let e in r)Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>r[e]});Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=i;function a(n){t.value=n,n&&(Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),e.exposed=i)}return{forwardRef:a,currentRef:t,currentElement:n}}function W(e){let t=y(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=k(e);return c(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[le(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function G(e,t){let n=W(e),r=t?nt(t):{};return c(()=>({...n.value,...r}))}function st(e,t){let n=ke(!1,300),r=A(null),i=fe();function a(){r.value=null,n.value=!1}function o(e,t){let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=lt(a,ct(a,i.getBoundingClientRect())),s=ut(t.getBoundingClientRect());r.value=ft([...o,...s]),n.value=!0}return P(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),P(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!dt(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function ct(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function lt(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ut(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function dt(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ft(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y?1:0),pt(t)}function pt(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}function mt(e){let t;F(()=>V(e),e=>{e?t=we(e):t&&t()}),u(()=>{t&&t()})}var ht=0;function K(t,n=`reka`){if(t)return t;if(`useId`in ce)return`${n}-${e?.()}`;let r=Ve({useId:void 0});return r.useId?`${n}-${r.useId()}`:`${n}-${++ht}`}function gt(e){let t=A(),n=c(()=>t.value?.width??0),r=c(()=>t.value?.height??0);return E(()=>{let n=V(e);if(n){t.value={width:n.offsetWidth,height:n.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}});return e.observe(n,{box:`border-box`}),()=>e.unobserve(n)}else t.value=void 0}),{width:n,height:r}}function _t(e,t){let n=A(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function vt(e){let t=ke(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=B(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=bt(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function yt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function bt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=yt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function xt(e,t){let n=A({}),r=A(`none`),i=A(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??Ue,{state:l,dispatch:f}=_t(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),p=e=>{if(R){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};F(e,async(e,i)=>{let a=i!==e;if(await d(),a){let a=r.value,o=St(t.value);e?(f(`MOUNT`),p(`enter`),o===`none`&&p(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(f(`UNMOUNT`),p(`leave`),p(`after-leave`)):i&&a!==o?(f(`ANIMATION_OUT`),p(`leave`)):(f(`UNMOUNT`),p(`after-leave`))}},{immediate:!0});let m=e=>{let n=St(t.value),r=n.includes(CSS.escape(e.animationName)),a=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(p(`after-${a}`),f(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&f(`ANIMATION_END`)},h=e=>{e.target===t.value&&(r.value=St(t.value))},g=F(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,h),e.addEventListener(`animationcancel`,m),e.addEventListener(`animationend`,m)):(f(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,h),t?.removeEventListener(`animationcancel`,m),t?.removeEventListener(`animationend`,m))},{immediate:!0}),_=F(l,()=>{let e=St(t.value);r.value=l.value===`mounted`?e:`none`});return u(()=>{g(),_()}),{isPresent:c(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function St(e){return e&&getComputedStyle(e).animationName||`none`}var Ct=g({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=I(e),a=A(),{isPresent:o}=xt(r,a);n({present:o});let s=t.default({present:o.value});s=Be(s||[]);let c=y();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(` -`)].join(` -`))}return()=>i.value||r.value||o.value?f(t.default({present:o.value})[0],{ref:e=>{let t=V(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),wt=g({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=Be(n.default()),r=e.findIndex(e=>e.type!==S);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?T(t,i.props):t,o=C({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Tt=[`area`,`img`,`input`],q=g({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Tt.includes(r)?()=>f(r,t):r===`template`?()=>f(wt,t,{default:n.default}):()=>f(e.as,t,{default:n.default})}});function Et(){let e=A();return{primitiveElement:e,currentElement:c(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:V(e))}}var[J,Dt]=z(`DialogRoot`),Ot=g({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,i=H(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=A(),o=A(),{modal:s}=I(n);return Dt({open:i,modal:s,openModal:()=>{i.value=!0},onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},contentId:``,titleId:``,descriptionId:``,triggerElement:a,contentElement:o}),(e,t)=>O(e.$slots,`default`,{open:r(i),close:()=>i.value=!1})}}),kt=g({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;U();let n=J();return(e,i)=>(m(),v(r(q),T(t,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>r(n).onOpenChange(!1)}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`type`]))}}),At=`dismissableLayer.pointerDownOutside`,jt=`dismissableLayer.focusOutside`;function Mt(e,t){let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r){});return P(o=>{if(!R||!x(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(Mt(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Re(At,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{x(n)&&(i.value=!0)}}}function Pt(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=A(!1);return P(a=>{if(!R||!x(n))return;let o=async n=>{if(!t?.value)return;await d(),await d();let r=n.target;!t.value||!r||Mt(t.value,r)||n.target&&!i.value&&Re(jt,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{x(n)&&(i.value=!0)},onBlurCapture:()=>{x(n)&&(i.value=!1)}}}var Y=ie({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ft=g({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,i=t,{forwardRef:o,currentElement:s}=U(),l=c(()=>s.value?.ownerDocument??globalThis.document),u=c(()=>Y.layersRoot),f=c(()=>s.value?Array.from(u.value).indexOf(s.value):-1),p=c(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),h=c(()=>{let e=Array.from(u.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return f.value>=n}),g=Nt(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!h.value||t||(i(`pointerDownOutside`,e),i(`interactOutside`,e),await d(),e.defaultPrevented||i(`dismiss`))},s),_=Pt(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(i(`focusOutside`,e),i(`interactOutside`,e),e.defaultPrevented||i(`dismiss`))},s);Je(`Escape`,e=>{f.value===u.value.size-1&&(i(`escapeKeyDown`,e),e.defaultPrevented||i(`dismiss`))});let y;return P(e=>{s.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(y=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(s.value)),u.value.add(s.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&(l.value.body.style.pointerEvents=y)}))}),P(e=>{e(()=>{s.value&&(u.value.delete(s.value),Y.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(e,t)=>(m(),v(r(q),{ref:r(o),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:a({pointerEvents:p.value?h.value?`auto`:`none`:void 0}),onFocusCapture:r(_).onFocusCapture,onBlurCapture:r(_).onBlurCapture,onPointerdownCapture:r(g).onPointerDownCapture},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),It=Pe(()=>A([]));function Lt(){let e=It();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Rt(e.value,t),e.value.unshift(t)},remove(t){e.value=Rt(e.value,t),e.value[0]?.resume()}}}function Rt(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zt(e){return e.filter(e=>e.tagName!==`A`)}var Bt=`focusScope.autoFocusOnMount`,Vt=`focusScope.autoFocusOnUnmount`,Ht={bubbles:!1,cancelable:!0};function Ut(e,{select:t=!1}={}){let n=B();for(let r of e)if(X(r,{select:t}),B()!==n)return!0}function Wt(e){let t=Gt(e);return[Kt(t,e),Kt(t.reverse(),e)]}function Gt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Kt(e,t){for(let n of e)if(!qt(n,{upTo:t}))return n}function qt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Jt(e){return e instanceof HTMLInputElement&&`select`in e}function X(e,{select:t=!1}={}){if(e&&e.focus){let n=B();e.focus({preventScroll:!0}),e!==n&&Jt(e)&&t&&e.select()}}var Yt=g({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,i=t,{currentRef:a,currentElement:o}=U(),s=A(null),c=Lt(),l=ie({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});P(e=>{if(!R)return;let t=o.value;if(!n.trapped)return;function r(e){if(l.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:X(s.value,{select:!0})}function i(e){if(l.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||X(s.value,{select:!0}))}function a(e){t.contains(s.value)||X(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),c.disconnect()})}),P(async e=>{let t=o.value;if(await d(),!t)return;c.add(l);let n=B();if(!t.contains(n)){let e=new CustomEvent(Bt,Ht);t.addEventListener(Bt,e=>i(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Ut(zt(Gt(t)),{select:!0}),B()===n&&X(t))}e(()=>{t.removeEventListener(Bt,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Vt,Ht),r=e=>{i(`unmountAutoFocus`,e)};t.addEventListener(Vt,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||X(n??document.body,{select:!0}),t.removeEventListener(Vt,r),c.remove(l)},0)})});function u(e){if(!n.loop&&!n.trapped||l.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=B();if(t&&r){let t=e.currentTarget,[i,a]=Wt(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&X(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&X(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(m(),v(r(q),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Xt=[`Enter`,` `],Zt=[`ArrowDown`,`PageUp`,`Home`],Qt=[`ArrowUp`,`PageDown`,`End`];[...Zt,...Qt],[...Xt],[...Xt];function $t(e){return e?`open`:`closed`}function en(e){let t=B();for(let n of e)if(n===t||(n.focus(),B()!==t))return}var tn=g({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=J(),{forwardRef:o,currentElement:s}=U();return a.titleId||=K(void 0,`reka-dialog-title`),a.descriptionId||=K(void 0,`reka-dialog-description`),E(()=>{a.contentElement=s,B()!==document.body&&(a.triggerElement.value=B())}),(e,t)=>(m(),v(r(Yt),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:j(()=>[h(r(Ft),T({id:r(a).contentId,ref:r(o),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":r(a).descriptionId,"aria-labelledby":r(a).titleId,"data-state":r($t)(r(a).open.value)},e.$attrs,{onDismiss:t[0]||=e=>r(a).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),nn=g({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=J(),o=nt(i),{forwardRef:s,currentElement:c}=U();return mt(c),(e,t)=>(m(),v(tn,T({...n,...r(o)},{ref:r(s),"trap-focus":r(a).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),r(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),rn=g({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=nt(t);U();let a=J(),o=A(!1),s=A(!1);return(e,t)=>(m(),v(tn,T({...n,...r(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(o.value||r(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let t=e.target;r(a).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),an=g({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=J(),o=nt(i),{forwardRef:s}=U();return(e,t)=>(m(),v(r(Ct),{present:e.forceMount||r(a).open.value},{default:j(()=>[r(a).modal.value?(m(),v(nn,T({key:0,ref:r(s)},{...n,...r(o),...e.$attrs}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16)):(m(),v(rn,T({key:1,ref:r(s)},{...n,...r(o),...e.$attrs}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),on=g({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;U();let n=J();return(e,i)=>(m(),v(r(q),T(t,{id:r(n).descriptionId}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`]))}}),sn=g({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J();return Qe(!0),U(),(e,n)=>(m(),v(r(q),{as:e.as,"as-child":e.asChild,"data-state":r(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),cn=g({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J(),{forwardRef:n}=U();return(e,i)=>r(t)?.modal.value?(m(),v(r(Ct),{key:0,present:e.forceMount||r(t).open.value},{default:j(()=>[h(sn,T(e.$attrs,{ref:r(n),as:e.as,"as-child":e.asChild}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):N(`v-if`,!0)}}),ln=g({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=Ge();return(e,n)=>r(t)||e.forceMount?(m(),v(ue,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[O(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):N(`v-if`,!0)}}),un=g({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),v(r(ln),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),dn=g({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=J();return U(),(e,i)=>(m(),v(r(q),T(t,{id:r(n).titleId}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`]))}}),fn=g({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(kt),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),[pn,mn]=z(`AlertDialogContent`),hn=g({__name:`AlertDialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=nt(t);U();let a=A();return mn({onCancelElementChange:e=>{a.value=e}}),(e,t)=>(m(),v(r(an),T({...n,...r(i)},{role:`alertdialog`,onPointerDownOutside:t[0]||=L(()=>{},[`prevent`]),onInteractOutside:t[1]||=L(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{d(()=>{a.value?.focus({preventScroll:!0})})}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),gn=g({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=pn(),{forwardRef:i,currentElement:a}=U();return E(()=>{n.onCancelElementChange(a.value)}),(e,n)=>(m(),v(r(kt),T(t,{ref:r(i)}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),_n=g({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(on),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),vn=g({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(cn),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),yn=g({__name:`AlertDialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),v(r(ln),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),bn=g({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=G(e,t);return U(),(e,t)=>(m(),v(r(Ot),T(r(n),{modal:!0}),{default:j(t=>[O(e.$slots,`default`,s(l(t)))]),_:3},16))}}),xn=g({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(dn),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),Sn=`data-reka-collection-item`;function Z(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;if(n){let e=A(new Map);i={collectionRef:A(),itemMap:e},ae(r,i)}else i=b(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Sn}]`)),r=Array.from(i.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},o=g({name:`CollectionSlot`,setup(e,{slots:t}){let{primitiveElement:n,currentElement:r}=Et();return F(r,()=>{i.collectionRef.value=r.value}),()=>f(wt,{ref:n},t)}}),s=g({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Et();return P(t=>{if(a.value){let n=te(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>f(wt,{...n,[Sn]:``,ref:r},t)}});return{getItems:a,reactiveItems:c(()=>Array.from(i.itemMap.value.values())),itemMapSize:c(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var Cn=g({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(m(),v(r(q),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),[wn,Tn]=z(`PopperRoot`),En=g({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=A();return Tn({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>O(e.$slots,`default`)}}),Dn=g({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:i}=U(),a=wn();return oe(()=>{a.onAnchorChange(t.reference??i.value)}),(e,t)=>(m(),v(r(q),{ref:r(n),as:e.as,"as-child":e.asChild},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),On={key:0,d:`M0 0L6 6L12 0`},kn={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},An=g({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return U(),(e,i)=>(m(),v(r(q),T(n,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:j(()=>[O(e.$slots,`default`,{},()=>[e.rounded?(m(),t(`path`,kn)):(m(),t(`path`,On))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}});function jn(e){return e!==null}function Mn(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Nn(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function Nn(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Pn={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[Fn,In]=z(`PopperContent`),Ln=g({inheritAttrs:!1,__name:`PopperContent`,props:n({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Pn}),emits:[`placed`],setup(e,{emit:n}){let i=e,o=n,s=wn(),{forwardRef:l,currentElement:u}=U(),d=A(),f=A(),{width:p,height:g}=gt(f),_=c(()=>i.side+(i.align===`center`?``:`-${i.align}`)),v=c(()=>typeof i.collisionPadding==`number`?i.collisionPadding:{top:0,right:0,bottom:0,left:0,...i.collisionPadding}),y=c(()=>Array.isArray(i.collisionBoundary)?i.collisionBoundary:[i.collisionBoundary]),b=c(()=>({padding:v.value,boundary:y.value.filter(jn),altBoundary:y.value.length>0})),x=c(()=>({mainAxis:i.sideFlip,crossAxis:i.alignFlip})),S=xe(()=>[Ce({mainAxis:i.sideOffset+g.value,alignmentAxis:i.alignOffset}),i.prioritizePosition&&i.avoidCollisions&&je({...b.value,...x.value}),i.avoidCollisions&&Ne({mainAxis:!0,crossAxis:!!i.prioritizePosition,limiter:i.sticky===`partial`?De():void 0,...b.value}),!i.prioritizePosition&&i.avoidCollisions&&je({...b.value,...x.value}),Ie({...b.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),f.value&&Te({element:f.value,padding:i.arrowPadding}),Mn({arrowWidth:p.value,arrowHeight:g.value}),i.hideWhenDetached&&Oe({strategy:`referenceHidden`,...b.value})]),{floatingStyles:C,placement:w,isPositioned:E,middlewareData:D,update:ee}=Ee(c(()=>i.reference??s.anchor.value),d,{strategy:i.positionStrategy,placement:_,whileElementsMounted:(...e)=>Me(...e,{layoutShift:!i.disableUpdateOnLayoutShift,animationFrame:i.updatePositionStrategy===`always`}),middleware:S}),k=c(()=>Nn(w.value)[0]),te=c(()=>Nn(w.value)[1]);oe(()=>{E.value&&o(`placed`)});let ne=c(()=>D.value.arrow?.centerOffset!==0),M=A(``);return P(()=>{u.value&&(M.value=window.getComputedStyle(u.value).zIndex)}),In({placedSide:k,onArrowChange:e=>f.value=e,arrowX:c(()=>D.value.arrow?.x??0),arrowY:c(()=>D.value.arrow?.y??0),shouldHideArrow:ne}),(e,n)=>(m(),t(`div`,{ref_key:`floatingRef`,ref:d,"data-reka-popper-content-wrapper":``,style:a({...r(C),transform:r(E)?r(C).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:M.value,"--reka-popper-transform-origin":[r(D).transformOrigin?.x,r(D).transformOrigin?.y].join(` `),...r(D).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[h(r(q),T({ref:r(l)},e.$attrs,{"as-child":i.asChild,as:e.as,"data-side":k.value,"data-align":te.value,style:{animation:r(E)?void 0:`none`}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}}),Rn={top:`bottom`,right:`left`,bottom:`top`,left:`right`},zn=g({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:n}=U(),i=Fn(),o=c(()=>Rn[i.placedSide.value]);return(e,s)=>(m(),t(`span`,{ref:e=>{r(i).onArrowChange(e)},style:a({position:`absolute`,left:r(i).arrowX?.value?`${r(i).arrowX?.value}px`:void 0,top:r(i).arrowY?.value?`${r(i).arrowY?.value}px`:void 0,[o.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[r(i).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[r(i).placedSide.value],visibility:r(i).shouldHideArrow.value?`hidden`:void 0})},[h(An,T(e.$attrs,{ref:r(n),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}});function Bn(e){let t=Ve({nonce:A()});return c(()=>e?.value||t.nonce?.value)}var[Vn,Hn]=z(`PopoverRoot`),Un=g({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,i=t,{modal:a}=I(n),o=H(n,`open`,i,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Hn({contentId:``,triggerId:``,modal:a,open:o,onOpenChange:e=>{o.value=e},onOpenToggle:()=>{o.value=!o.value},triggerElement:A(),hasCustomAnchor:A(!1)}),(e,t)=>(m(),v(r(En),null,{default:j(()=>[O(e.$slots,`default`,{open:r(o),close:()=>o.value=!1})]),_:3}))}}),Wn=g({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=W(de(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:o}=U(),s=Vn();return it(),(e,t)=>(m(),v(r(Yt),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:j(()=>[h(r(Ft),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>i(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>i(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>i(`focusOutside`,e),onDismiss:t[4]||=e=>r(s).onOpenChange(!1)},{default:j(()=>[h(r(Ln),T(r(a),{id:r(s).contentId,ref:r(o),"data-state":r(s).open.value?`open`:`closed`,"aria-labelledby":r(s).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Gn=g({__name:`PopoverContentModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=Vn(),o=A(!1);Qe(!0);let s=G(n,i),{forwardRef:c,currentElement:l}=U();return mt(l),(e,t)=>(m(),v(Wn,T(r(s),{ref:r(c),"trap-focus":r(a).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=L(e=>{i(`closeAutoFocus`,e),o.value||r(a).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{i(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;o.value=t.button===2||n},onFocusOutside:t[2]||=L(()=>{},[`prevent`])}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Kn=g({__name:`PopoverContentNonModal`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=Vn(),o=A(!1),s=A(!1),c=G(n,i);return(e,t)=>(m(),v(Wn,T(r(c),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{i(`closeAutoFocus`,e),e.defaultPrevented||(o.value||r(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:t[1]||=async e=>{i(`interactOutside`,e),e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let t=e.target;r(a).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),qn=g({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=Vn(),o=G(n,i),{forwardRef:s}=U();return a.contentId||=K(void 0,`reka-popover-content`),(e,t)=>(m(),v(r(Ct),{present:e.forceMount||r(a).open.value},{default:j(()=>[r(a).modal.value?(m(),v(Gn,T({key:0},r(o),{ref:r(s)}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16)):(m(),v(Kn,T({key:1},r(o),{ref:r(s)}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Jn=g({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),v(r(ln),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),Yn=g({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Vn(),{forwardRef:i,currentElement:a}=U();return n.triggerId||=K(void 0,`reka-popover-trigger`),E(()=>{n.triggerElement.value=a.value}),(e,a)=>(m(),v(D(r(n).hasCustomAnchor.value?r(q):r(Dn)),{"as-child":``},{default:j(()=>[h(r(q),{id:r(n).triggerId,ref:r(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":r(n).open.value,"aria-controls":r(n).contentId,"data-state":r(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:r(n).onOpenToggle},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),Xn=g({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(q),T(t,{onMousedown:n[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),Zn=100,[Qn,$n]=z(`ProgressRoot`),er=e=>typeof e==`number`;function tr(e,t){return ze(e)||er(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: - - a positive number - - less than the value passed to \`max\` (or ${Zn} if no \`max\` prop is set) - - \`null\` or \`undefined\` if the progress is indeterminate. - -Defaulting to \`null\`.`),null)}function nr(e){return er(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Zn}\`.`),Zn)}var rr=g({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:Zn},getValueLabel:{type:Function,required:!1,default:(e,t)=>er(e)?`${Math.round(e/t*Zn)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,i=t;U();let a=H(n,`modelValue`,i,{passive:n.modelValue===void 0}),o=H(n,`max`,i,{passive:n.max===void 0});F(()=>a.value,async e=>{let t=tr(e,n.max);t!==e&&(await d(),a.value=t)},{immediate:!0}),F(()=>n.max,e=>{let t=nr(n.max);t!==e&&(o.value=t)},{immediate:!0});let s=c(()=>ze(a.value)?`indeterminate`:a.value===o.value?`complete`:`loading`);return $n({modelValue:a,max:o,progressState:s}),(e,t)=>(m(),v(r(q),{"as-child":e.asChild,as:e.as,"aria-valuemax":r(o),"aria-valuemin":0,"aria-valuenow":er(r(a))?r(a):void 0,"aria-valuetext":e.getValueText?.(r(a),r(o)),"aria-label":e.getValueLabel(r(a),r(o)),role:`progressbar`,"data-state":s.value,"data-value":r(a)??void 0,"data-max":r(o)},{default:j(()=>[O(e.$slots,`default`,{modelValue:r(a)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),ir=g({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=Qn();return U(),(e,i)=>(m(),v(r(q),T(t,{"data-state":r(n).progressState.value,"data-value":r(n).modelValue?.value??void 0,"data-max":r(n).max.value}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),ar=[` `,`Enter`,`ArrowUp`,`ArrowDown`],or=[` `,`Enter`];function sr(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>cr(e,t,n)):cr(e,t,n)}function cr(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:ge(e,t)}function lr(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var ur={key:0,value:``},[Q,dr]=z(`SelectRoot`),fr=g({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let a=e,o=n,{required:s,disabled:l,multiple:u,dir:d}=I(a),f=H(a,`modelValue`,o,{defaultValue:a.defaultValue??(u.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),h=H(a,`open`,o,{defaultValue:a.defaultOpen,passive:a.open===void 0}),g=A(),_=A(),y=A({x:0,y:0}),b=c(()=>u.value&&Array.isArray(f.value)?f.value?.length===0:ze(f.value));Z({isProvider:!0});let x=tt(d),S=ot(g),C=A(new Set),w=c(()=>Array.from(C.value).map(e=>e.value).join(`;`));function E(e){if(u.value){let t=Array.isArray(f.value)?[...f.value]:[],n=t.findIndex(t=>cr(t,e,a.by));n===-1?t.push(e):t.splice(n,1),f.value=[...t]}else f.value=e}function D(e){return Array.from(C.value).find(t=>sr(e,t.value,a.by))}return dr({triggerElement:g,onTriggerChange:e=>{g.value=e},valueElement:_,onValueElementChange:e=>{_.value=e},contentId:``,modelValue:f,onValueChange:E,by:a.by,open:h,multiple:u,required:s,onOpenChange:e=>{h.value=e},dir:x,triggerPointerDownPosRef:y,disabled:l,isEmptyModelValue:b,optionsSet:C,onOptionAdd:e=>{let t=D(e.value);t&&C.value.delete(t),C.value.add(e)},onOptionRemove:e=>{let t=D(e.value);t&&C.value.delete(t)}}),(e,n)=>(m(),v(r(En),null,{default:j(()=>[O(e.$slots,`default`,{modelValue:r(f),open:r(h)}),r(S)?(m(),v(pr,{key:w.value,"aria-hidden":`true`,tabindex:`-1`,multiple:r(u),required:r(s),name:e.name,autocomplete:e.autocomplete,disabled:r(l),value:r(f)},{default:j(()=>[r(ze)(r(f))?(m(),t(`option`,ur)):N(`v-if`,!0),(m(!0),t(i,null,p(Array.from(C.value),e=>(m(),t(`option`,T({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):N(`v-if`,!0)]),_:3}))}}),pr=g({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let t=e,n=A(),i=Q();F(()=>t.value,(e,t)=>{let r=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(e!==t&&i&&n.value){let t=new Event(`change`,{bubbles:!0});i.call(n.value,e),n.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>(m(),v(r(Cn),{"as-child":``},{default:j(()=>[o(`select`,T({ref_key:`selectElement`,ref:n},t,{onInput:a}),[O(e.$slots,`default`)],16)]),_:3}))}}),mr=g({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=W(e);return(e,n)=>(m(),v(r(Ln),T(r(t),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),hr={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[$,gr]=z(`SelectContent`),_r=g({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,i=t,a=Q();it(),Qe(n.bodyLock);let{CollectionSlot:o,getItems:s}=Z(),l=A();mt(l);let{search:u,handleTypeaheadSearch:d}=vt(),f=A(),p=A(),g=A(),_=A(!1),y=A(!1),b=A(!1);function x(){p.value&&l.value&&en([p.value,l.value])}F(_,()=>{x()});let{onOpenChange:S,triggerPointerDownPosRef:C}=a;P(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(C.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(C.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||S(!1),document.removeEventListener(`pointermove`,n),C.value=null)};C.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function w(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&d(e.key,s()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...s().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>en(t)),e.preventDefault()}}let E=W(c(()=>n.position===`popper`?n:{}).value);return gr({content:l,viewport:f,onViewportChange:e=>{f.value=e},itemRefCallback:(e,t,n)=>{let r=!y.value&&!n,i=sr(a.modelValue.value,t,a.by);if(a.multiple.value){if(b.value)return;(i||r)&&(p.value=e,i&&(b.value=!0))}else (i||r)&&(p.value=e);r&&(y.value=!0)},selectedItem:p,selectedItemText:g,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!y.value&&!n;(sr(a.modelValue.value,t,a.by)||r)&&(g.value=e)},focusSelectedItem:x,position:n.position,isPositioned:_,searchRef:u}),(e,t)=>(m(),v(r(o),null,{default:j(()=>[h(r(Yt),{"as-child":``,onMountAutoFocus:t[6]||=L(()=>{},[`prevent`]),onUnmountAutoFocus:t[7]||=e=>{i(`closeAutoFocus`,e),!e.defaultPrevented&&(r(a).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:j(()=>[h(r(Ft),{"as-child":``,"disable-outside-pointer-events":``,onFocusOutside:t[2]||=L(()=>{},[`prevent`]),onDismiss:t[3]||=e=>r(a).onOpenChange(!1),onEscapeKeyDown:t[4]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:t[5]||=e=>i(`pointerDownOutside`,e)},{default:j(()=>[(m(),v(D(e.position===`popper`?mr:br),T({...e.$attrs,...r(E)},{id:r(a).contentId,ref:e=>{let t=r(V)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t},role:`listbox`,"data-state":r(a).open.value?`open`:`closed`,dir:r(a).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:t[0]||=L(()=>{},[`prevent`]),onPlaced:t[1]||=e=>_.value=!0,onKeydown:w}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3})]),_:3})]),_:3}))}}),[vr,yr]=z(`SelectItemAlignedPosition`),br=g({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let i=e,o=n,{getItems:s}=Z(),c=Q(),l=$(),u=A(!1),f=A(!0),p=A(),{forwardRef:g,currentElement:_}=U(),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=l;function S(){if(c.triggerElement.value&&c.valueElement.value&&p.value&&_.value&&v?.value&&y?.value&&b?.value){let e=c.triggerElement.value.getBoundingClientRect(),t=_.value.getBoundingClientRect(),n=c.valueElement.value.getBoundingClientRect(),r=b.value.getBoundingClientRect();if(c.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Le(a,10,Math.max(10,l-c));p.value.style.minWidth=`${s}px`,p.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Le(a,10,Math.max(10,l-c));p.value.style.minWidth=`${s}px`,p.value.style.right=`${u}px`}let i=s().map(e=>e.ref),a=window.innerHeight-20,l=v.value.scrollHeight,d=window.getComputedStyle(_.value),f=Number.parseInt(d.borderTopWidth,10),m=Number.parseInt(d.paddingTop,10),h=Number.parseInt(d.borderBottomWidth,10),g=Number.parseInt(d.paddingBottom,10),x=f+m+l+g+h,S=Math.min(y.value.offsetHeight*5,x),C=window.getComputedStyle(v.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=a-E,O=y.value.offsetHeight/2,ee=y.value.offsetTop+O,k=f+m+ee,te=x-k;if(k<=E){let e=y.value===i[i.length-1];p.value.style.bottom=`0px`;let t=_.value.clientHeight-v.value.offsetTop-v.value.offsetHeight,n=k+Math.max(D,O+(e?T:0)+t+h);p.value.style.height=`${n}px`}else{let e=y.value===i[0];p.value.style.top=`0px`;let t=Math.max(E,f+v.value.offsetTop+(e?w:0)+O)+te;p.value.style.height=`${t}px`,v.value.scrollTop=k-E+v.value.offsetTop}p.value.style.margin=`10px 0`,p.value.style.minHeight=`${S}px`,p.value.style.maxHeight=`${a}px`,o(`placed`),requestAnimationFrame(()=>u.value=!0)}}let C=A(``);E(async()=>{await d(),S(),_.value&&(C.value=window.getComputedStyle(_.value).zIndex)});function w(e){e&&f.value===!0&&(S(),x?.(),f.value=!1)}return Xe(c.triggerElement,()=>{S()}),yr({contentWrapper:p,shouldExpandOnScrollRef:u,onScrollButtonChange:w}),(e,n)=>(m(),t(`div`,{ref_key:`contentWrapperElement`,ref:p,style:a({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C.value})},[h(r(q),T({ref:r(g),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...i}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16)],4))}}),xr=g({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return dr(e.context),gr(hr),(e,t)=>O(e.$slots,`default`)}}),Sr={key:1},Cr=g({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let i=e,a=G(i,n),o=Q(),u=A();E(()=>{u.value=new DocumentFragment});let d=A(),f=c(()=>i.forceMount||o.open.value),p=A(f.value);return F(f,()=>{setTimeout(()=>p.value=f.value)}),(e,n)=>f.value||p.value||d.value?.present?(m(),v(r(Ct),{key:0,ref_key:`presenceRef`,ref:d,present:f.value},{default:j(()=>[h(_r,s(l({...r(a),...e.$attrs})),{default:j(()=>[O(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):u.value?(m(),t(`div`,Sr,[(m(),v(ue,{to:u.value},[h(xr,{context:r(o)},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):N(`v-if`,!0)}}),wr=g({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(m(),v(r(q),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:j(()=>[O(e.$slots,`default`,{},()=>[t[0]||=M(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Tr,Er]=z(`SelectItem`),Dr=g({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,i=t,{disabled:a}=I(n),o=Q(),s=$(),{forwardRef:l,currentElement:u}=U(),{CollectionItem:f}=Z(),p=c(()=>sr(o.modelValue?.value,n.value,o.by)),g=A(!1),_=A(n.textValue??``),y=K(void 0,`reka-select-item-text`);async function b(e){e.defaultPrevented||Re(`select.select`,x,{originalEvent:e,value:n.value})}async function x(e){await d(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(n.value),o.multiple.value||o.onOpenChange(!1)))}async function S(e){await d(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function C(e){await d(),!e.defaultPrevented&&e.currentTarget===B()&&s.onItemLeave?.()}async function w(e){await d(),!e.defaultPrevented&&(s.searchRef?.value!==``&&e.key===` `||(or.includes(e.key)&&b(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return E(()=>{u.value&&s.itemRefCallback(u.value,n.value,n.disabled)}),Er({value:n.value,disabled:a,textId:y,isSelected:p,onItemTextChange:e=>{_.value=((_.value||e?.textContent)??``).trim()}}),(e,t)=>(m(),v(r(f),{value:{textValue:_.value}},{default:j(()=>[h(r(q),{ref:r(l),role:`option`,"aria-labelledby":r(y),"data-highlighted":g.value?``:void 0,"aria-selected":p.value,"data-state":p.value?`checked`:`unchecked`,"aria-disabled":r(a)||void 0,"data-disabled":r(a)?``:void 0,tabindex:r(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>g.value=!0,onBlur:t[1]||=e=>g.value=!1,onPointerup:b,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=L(()=>{},[`prevent`,`stop`]),onPointermove:S,onPointerleave:C,onKeydown:w},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Or=g({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Tr();return(e,i)=>r(n).isSelected.value?(m(),v(r(q),T({key:0,"aria-hidden":`true`},t),{default:j(()=>[O(e.$slots,`default`)]),_:3},16)):N(`v-if`,!0)}}),kr=g({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Q(),i=$(),a=Tr(),{forwardRef:o,currentElement:s}=U(),l=c(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return E(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),n.onOptionAdd(l.value))}),u(()=>{n.onOptionRemove(l.value)}),(e,n)=>(m(),v(r(q),T({id:r(a).textId,ref:r(o)},{...t,...e.$attrs}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`id`]))}}),Ar=g({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),v(r(ln),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),jr=g({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:t}){let n=t,{getItems:i}=Z(),a=$(),o=A(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}P(()=>{i().map(e=>e.ref).find(e=>e===B())?.scrollIntoView({block:`nearest`})});function c(){o.value===null&&(o.value=window.setInterval(()=>{n(`autoScroll`)},50))}function l(){a.onItemLeave?.(),o.value===null&&(o.value=window.setInterval(()=>{n(`autoScroll`)},50))}return w(()=>s()),(e,t)=>(m(),v(r(q),T({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:t[0]||=()=>{s()}}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),Mr=g({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=$(),n=t.position===`item-aligned`?vr():void 0,{forwardRef:i,currentElement:a}=U(),o=A(!1);return P(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;o.value=Math.ceil(n.scrollTop)n.removeEventListener(`scroll`,r))}}),F(a,()=>{a.value&&n?.onScrollButtonChange(a.value)}),(e,n)=>o.value?(m(),v(jr,{key:0,ref:r(i),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=r(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:j(()=>[O(e.$slots,`default`)]),_:3},512)):N(`v-if`,!0)}}),Nr=g({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=$(),n=t.position===`item-aligned`?vr():void 0,{forwardRef:i,currentElement:a}=U(),o=A(!1);return P(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){o.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),F(a,()=>{a.value&&n?.onScrollButtonChange(a.value)}),(e,n)=>o.value?(m(),v(jr,{key:0,ref:r(i),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=r(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:j(()=>[O(e.$slots,`default`)]),_:3},512)):N(`v-if`,!0)}}),Pr=g({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Q(),{forwardRef:i,currentElement:a}=U(),o=c(()=>n.disabled?.value||t.disabled);n.contentId||=K(void 0,`reka-select-content`),E(()=>{n.onTriggerChange(a.value)});let{getItems:s}=Z(),{search:l,handleTypeaheadSearch:u,resetTypeahead:d}=vt();function f(){o.value||(n.onOpenChange(!0),d())}function p(e){f(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(m(),v(r(Dn),{"as-child":``,reference:e.reference},{default:j(()=>[h(r(q),{ref:r(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":r(n).contentId,"aria-expanded":r(n).open.value||!1,"aria-required":r(n).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:r(n)?.dir.value,"data-state":r(n)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":r(lr)(r(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(p(e),e.preventDefault())},onPointerup:t[2]||=L(e=>{e.pointerType===`touch`&&p(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=r(l)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(r(u)(e.key,r(s)()),r(ar).includes(e.key)&&(f(),e.preventDefault()))}},{default:j(()=>[O(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),Fr=g({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:i}=U(),a=Q();E(()=>{a.valueElement=i});let o=c(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>sr(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),s=c(()=>o.value.length?o.value.join(`, `):t.placeholder);return(e,i)=>(m(),v(r(q),{ref:r(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:t.placeholder},{default:j(()=>[O(e.$slots,`default`,{selectedLabel:o.value,modelValue:r(a).modelValue.value},()=>[M(_(s.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Ir=g({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:a}=I(n),o=Bn(a),s=$(),c=s.position===`item-aligned`?vr():void 0,{forwardRef:l,currentElement:u}=U();E(()=>{s?.onViewportChange(u.value)});let d=A(0);function f(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=c??{};if(n?.value&&r?.value){let e=Math.abs(d.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o0?s:0,r.value.style.justifyContent=`flex-end`)}}}d.value=t.scrollTop}return(e,a)=>(m(),t(i,null,[h(r(q),T({ref:r(l),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:f}),{default:j(()=>[O(e.$slots,`default`)]),_:3},16),h(r(q),{as:`style`,nonce:r(o)},{default:j(()=>a[0]||=[M(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),Lr=g({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return U(),(e,n)=>(m(),v(r(zn),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),[Rr,zr]=z(`TooltipProvider`),Br=g({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o}=I(e);U();let s=A(!0),c=A(!1),{start:l,stop:u}=me(()=>{s.value=!0},n,{immediate:!1});return zr({isOpenDelayed:s,delayDuration:t,onOpen(){u(),s.value=!1},onClose(){l()},isPointerInTransitRef:c,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a}),(e,t)=>O(e.$slots,`default`)}}),Vr=`tooltip.open`,[Hr,Ur]=z(`TooltipRoot`),Wr=g({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,i=t;U();let a=Rr(),o=c(()=>n.disableHoverableContent??a.disableHoverableContent.value),s=c(()=>n.disableClosingTrigger??a.disableClosingTrigger.value),l=c(()=>n.disabled??a.disabled.value),u=c(()=>n.delayDuration??a.delayDuration.value),d=c(()=>n.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),f=H(n,`open`,i,{defaultValue:n.defaultOpen,passive:n.open===void 0});F(f,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(Vr))):a.onClose())});let p=A(!1),h=A(),g=c(()=>f.value?p.value?`delayed-open`:`instant-open`:`closed`),{start:_,stop:y}=me(()=>{p.value=!0,f.value=!0},u,{immediate:!1});function b(){y(),p.value=!1,f.value=!0}function x(){y(),f.value=!1}function S(){_()}return Ur({contentId:``,open:f,stateAttribute:g,trigger:h,onTriggerChange(e){h.value=e},onTriggerEnter(){a.isOpenDelayed.value?S():b()},onTriggerLeave(){o.value?x():y()},onOpen:b,onClose:x,disableHoverableContent:o,disableClosingTrigger:s,disabled:l,ignoreNonKeyboardFocus:d}),(e,t)=>(m(),v(r(En),null,{default:j(()=>[O(e.$slots,`default`,{open:r(f)})]),_:3}))}}),Gr=g({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1,default:0},align:{type:null,required:!1,default:`center`},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:!0},collisionBoundary:{type:null,required:!1,default:()=>[]},collisionPadding:{type:[Number,Object],required:!1,default:0},arrowPadding:{type:Number,required:!1,default:0},sticky:{type:String,required:!1,default:`partial`},hideWhenDetached:{type:Boolean,required:!1,default:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,i=t,a=Hr(),{forwardRef:o}=U(),s=ne(),l=c(()=>s.default?.({})),u=c(()=>{if(n.ariaLabel)return n.ariaLabel;let e=``;function t(n){typeof n.children==`string`&&n.type!==S?e+=n.children:Array.isArray(n.children)&&n.children.forEach(e=>t(e))}return l.value?.forEach(e=>t(e)),e}),d=c(()=>{let{ariaLabel:e,...t}=n;return t});return E(()=>{We(window,`scroll`,e=>{e.target?.contains(a.trigger.value)&&a.onClose()}),We(window,Vr,a.onClose)}),(e,t)=>(m(),v(r(Ft),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{r(a).disableClosingTrigger.value&&r(a).trigger.value?.contains(e.target)&&e.preventDefault(),i(`pointerDownOutside`,e)},onFocusOutside:t[2]||=L(()=>{},[`prevent`]),onDismiss:t[3]||=e=>r(a).onClose()},{default:j(()=>[h(r(Ln),T({ref:r(o),"data-state":r(a).stateAttribute.value},{...e.$attrs,...d.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:j(()=>[O(e.$slots,`default`),h(r(Cn),{id:r(a).contentId,role:`tooltip`},{default:j(()=>[M(_(u.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Kr=g({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=W(e),{forwardRef:n,currentElement:i}=U(),{trigger:a,onClose:o}=Hr(),s=Rr(),{isPointerInTransit:c,onPointerExit:l}=st(a,i);return s.isPointerInTransitRef=c,l(()=>{o()}),(e,i)=>(m(),v(Gr,T({ref:r(n)},r(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),qr=g({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,i=t,a=Hr(),o=G(n,i),{forwardRef:s}=U();return(e,t)=>(m(),v(r(Ct),{present:e.forceMount||r(a).open.value},{default:j(()=>[(m(),v(D(r(a).disableHoverableContent.value?Gr:Kr),T({ref:r(s)},r(o)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Jr=g({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(m(),v(r(ln),s(l(t)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16))}}),Yr=g({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Hr(),i=Rr();n.contentId||=K(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:o}=U(),s=A(!1),l=A(!1),u=c(()=>n.disabled.value?{}:{click:b,focus:_,pointermove:p,pointerleave:g,pointerdown:f,blur:y});E(()=>{n.onTriggerChange(o.value)});function d(){setTimeout(()=>{s.value=!1},1)}function f(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),s.value=!0,document.addEventListener(`pointerup`,d,{once:!0})}function p(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(n.onTriggerEnter(),l.value=!0)}function g(){n.onTriggerLeave(),l.value=!1}function _(e){s.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function y(){n.onClose()}function b(){n.disableClosingTrigger.value||n.onClose()}return(e,i)=>(m(),v(r(Dn),{"as-child":``,reference:e.reference},{default:j(()=>[h(r(q),T({ref:r(a),"aria-describedby":r(n).open.value?r(n).contentId:void 0,"data-state":r(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},ee(u.value)),{default:j(()=>[O(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}});export{_n as A,Ot as B,Jn as C,bn as D,xn as E,un as F,G as H,cn as I,on as L,hn as M,fn as N,yn as O,dn as P,an as R,Yn as S,Un as T,W as U,q as V,z as W,Cr as _,Br as a,rr as b,Fr as c,Mr as d,Ar as f,wr as g,Dr as h,Wr as i,gn as j,vn as k,Pr as l,Or as m,Jr as n,Lr as o,kr as p,qr as r,Ir as s,Yr as t,Nr as u,fr as v,qn as w,Xn as x,ir as y,kt as z}; \ No newline at end of file diff --git a/docs/assets/vendor-utils-Dg-HLkEU.js b/docs/assets/vendor-utils-BlvnUqQX.js similarity index 99% rename from docs/assets/vendor-utils-Dg-HLkEU.js rename to docs/assets/vendor-utils-BlvnUqQX.js index 886f93b..cfabc12 100644 --- a/docs/assets/vendor-utils-Dg-HLkEU.js +++ b/docs/assets/vendor-utils-BlvnUqQX.js @@ -1 +1 @@ -import{t as e}from"./rolldown-runtime-tX5UdD3f.js";var t=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),r=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),i=`-`,a=[],o=`arbitrary..`,s=e=>{let n=u(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return l(e);let t=e.split(i);return c(t,t[0]===``&&t.length>1?1:0,n)},getConflictingClassGroupIds:(e,n)=>{if(n){let n=o[e],i=r[e];return n?i?t(i,n):n:i||a}return r[e]||a}}},c=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],a=n.nextPart.get(r);if(a){let n=c(e,t+1,a);if(n)return n}let o=n.validators;if(o===null)return;let s=t===0?e.join(i):e.slice(t).join(i),l=o.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?o+r:void 0})(),u=e=>{let{theme:t,classGroups:n}=e;return d(n,t)},d=(e,t)=>{let n=r();for(let r in e){let i=e[r];f(i,n,r,t)}return n},f=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){m(e,t,n);return}if(typeof e==`function`){h(e,t,n,r);return}g(e,t,n,r)},m=(e,t,n)=>{let r=e===``?t:_(t,e);r.classGroupId=n},h=(e,t,r,i)=>{if(v(e)){f(e(i),t,r,i);return}t.validators===null&&(t.validators=[]),t.validators.push(n(r,e))},g=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,a=t.split(i),o=a.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,y=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},b=`!`,x=`:`,S=[],C=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),w=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return C(t,l,c,u)};if(t){let e=t+x,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):C(S,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},T=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},ee=e=>({cache:y(e.cacheSize),parseClassName:w(e),sortModifiers:T(e),...s(e)}),te=/\s+/,E=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(te),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+b:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e0?` `+c:c)}return c},ne=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=ee(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=E(e,n);return i(e,a),a};return a=o,(...e)=>a(ne(...e))},k=[],A=e=>{let t=t=>t[e]||k;return t.isThemeGetter=!0,t},j=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,M=/^\((?:(\w[\w-]*):)?(.+)\)$/i,re=/^\d+\/\d+$/,N=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ie=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,P=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,I=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,L=e=>re.test(e),R=e=>!!e&&!Number.isNaN(Number(e)),z=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith(`%`)&&R(e.slice(0,-1)),B=e=>N.test(e),oe=()=>!0,V=e=>ie.test(e)&&!P.test(e),H=()=>!1,U=e=>F.test(e),se=e=>I.test(e),ce=e=>!W(e)&&!q(e),le=e=>X(e,_e,H),W=e=>j.test(e),G=e=>X(e,ve,V),ue=e=>X(e,ye,R),de=e=>X(e,Q,H),fe=e=>X(e,$,se),K=e=>X(e,xe,U),q=e=>M.test(e),J=e=>Z(e,ve),pe=e=>Z(e,be),me=e=>Z(e,Q),he=e=>Z(e,_e),ge=e=>Z(e,$),Y=e=>Z(e,xe,!0),X=(e,t,n)=>{let r=j.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Z=(e,t,n=!1)=>{let r=M.exec(e);return r?r[1]?t(r[1]):n:!1},Q=e=>e===`position`||e===`percentage`,$=e=>e===`image`||e===`url`,_e=e=>e===`length`||e===`size`||e===`bg-size`,ve=e=>e===`length`,ye=e=>e===`number`,be=e=>e===`family-name`,xe=e=>e===`shadow`,Se=O(()=>{let e=A(`color`),t=A(`font`),n=A(`text`),r=A(`font-weight`),i=A(`tracking`),a=A(`leading`),o=A(`breakpoint`),s=A(`container`),c=A(`spacing`),l=A(`radius`),u=A(`shadow`),d=A(`inset-shadow`),f=A(`text-shadow`),p=A(`drop-shadow`),m=A(`blur`),h=A(`perspective`),g=A(`aspect`),_=A(`ease`),v=A(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,W],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,W,c],T=()=>[L,`full`,`auto`,...w()],ee=()=>[z,`none`,`subgrid`,q,W],te=()=>[`auto`,{span:[`full`,z,q,W]},z,q,W],E=()=>[z,`auto`,q,W],ne=()=>[`auto`,`min`,`max`,`fr`,q,W],D=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],j=()=>[L,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],M=()=>[e,q,W],re=()=>[...b(),me,de,{position:[q,W]}],N=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,he,le,{size:[q,W]}],P=()=>[ae,J,G],F=()=>[``,`none`,`full`,l,q,W],I=()=>[``,R,J,G],V=()=>[`solid`,`dashed`,`dotted`,`double`],H=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],U=()=>[R,ae,me,de],se=()=>[``,`none`,m,q,W],X=()=>[`none`,R,q,W],Z=()=>[`none`,R,q,W],Q=()=>[R,q,W],$=()=>[L,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[B],breakpoint:[B],color:[oe],container:[B],"drop-shadow":[B],ease:[`in`,`out`,`in-out`],font:[ce],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[B],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[B],shadow:[B],spacing:[`px`,R],text:[B],"text-shadow":[B],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,L,W,q,g]}],container:[`container`],columns:[{columns:[R,W,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[z,`auto`,q,W]}],basis:[{basis:[L,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[R,L,`auto`,`initial`,`none`,W]}],grow:[{grow:[``,R,q,W]}],shrink:[{shrink:[``,R,q,W]}],order:[{order:[z,`first`,`last`,`none`,q,W]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...D(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...D()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:j()}],w:[{w:[s,`screen`,...j()]}],"min-w":[{"min-w":[s,`screen`,`none`,...j()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...j()]}],h:[{h:[`screen`,`lh`,...j()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...j()]}],"max-h":[{"max-h":[`screen`,`lh`,...j()]}],"font-size":[{text:[`base`,n,J,G]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,q,ue]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ae,W]}],"font-family":[{font:[pe,W,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,W]}],"line-clamp":[{"line-clamp":[R,`none`,q,ue]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,W]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,W]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...V(),`wavy`]}],"text-decoration-thickness":[{decoration:[R,`from-font`,`auto`,q,G]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[R,`auto`,q,W]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,W]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,W]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},z,q,W],radial:[``,q,W],conic:[z,q,W]},ge,fe]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...V(),`hidden`,`none`]}],"divide-style":[{divide:[...V(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...V(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[R,q,W]}],"outline-w":[{outline:[``,R,J,G]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,Y,K]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,Y,K]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[R,G]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,Y,K]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[R,q,W]}],"mix-blend":[{"mix-blend":[...H(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":H()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[R]}],"mask-image-linear-from-pos":[{"mask-linear-from":U()}],"mask-image-linear-to-pos":[{"mask-linear-to":U()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":U()}],"mask-image-t-to-pos":[{"mask-t-to":U()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":U()}],"mask-image-r-to-pos":[{"mask-r-to":U()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":U()}],"mask-image-b-to-pos":[{"mask-b-to":U()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":U()}],"mask-image-l-to-pos":[{"mask-l-to":U()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":U()}],"mask-image-x-to-pos":[{"mask-x-to":U()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":U()}],"mask-image-y-to-pos":[{"mask-y-to":U()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[q,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":U()}],"mask-image-radial-to-pos":[{"mask-radial-to":U()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[R]}],"mask-image-conic-from-pos":[{"mask-conic-from":U()}],"mask-image-conic-to-pos":[{"mask-conic-to":U()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,W]}],filter:[{filter:[``,`none`,q,W]}],blur:[{blur:se()}],brightness:[{brightness:[R,q,W]}],contrast:[{contrast:[R,q,W]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Y,K]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,R,q,W]}],"hue-rotate":[{"hue-rotate":[R,q,W]}],invert:[{invert:[``,R,q,W]}],saturate:[{saturate:[R,q,W]}],sepia:[{sepia:[``,R,q,W]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,W]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[R,q,W]}],"backdrop-contrast":[{"backdrop-contrast":[R,q,W]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,R,q,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[R,q,W]}],"backdrop-invert":[{"backdrop-invert":[``,R,q,W]}],"backdrop-opacity":[{"backdrop-opacity":[R,q,W]}],"backdrop-saturate":[{"backdrop-saturate":[R,q,W]}],"backdrop-sepia":[{"backdrop-sepia":[``,R,q,W]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,W]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[R,`initial`,q,W]}],ease:[{ease:[`linear`,`initial`,_,q,W]}],delay:[{delay:[R,q,W]}],animate:[{animate:[`none`,v,q,W]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,W]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:X()}],"rotate-x":[{"rotate-x":X()}],"rotate-y":[{"rotate-y":X()}],"rotate-z":[{"rotate-z":X()}],scale:[{scale:Z()}],"scale-x":[{"scale-x":Z()}],"scale-y":[{"scale-y":Z()}],"scale-z":[{"scale-z":Z()}],"scale-3d":[`scale-3d`],skew:[{skew:Q()}],"skew-x":[{"skew-x":Q()}],"skew-y":[{"skew-y":Q()}],transform:[{transform:[q,W,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:$()}],"translate-x":[{"translate-x":$()}],"translate-y":[{"translate-y":$()}],"translate-z":[{"translate-z":$()}],"translate-none":[`translate-none`],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,W]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,W]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[R,J,G,ue]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),Ce=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})}));export{Se as n,Ce as t}; \ No newline at end of file +import{t as e}from"./rolldown-runtime-CIDIeb-o.js";var t=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),r=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),i=`-`,a=[],o=`arbitrary..`,s=e=>{let n=u(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return l(e);let t=e.split(i);return c(t,t[0]===``&&t.length>1?1:0,n)},getConflictingClassGroupIds:(e,n)=>{if(n){let n=o[e],i=r[e];return n?i?t(i,n):n:i||a}return r[e]||a}}},c=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],a=n.nextPart.get(r);if(a){let n=c(e,t+1,a);if(n)return n}let o=n.validators;if(o===null)return;let s=t===0?e.join(i):e.slice(t).join(i),l=o.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?o+r:void 0})(),u=e=>{let{theme:t,classGroups:n}=e;return d(n,t)},d=(e,t)=>{let n=r();for(let r in e){let i=e[r];f(i,n,r,t)}return n},f=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){m(e,t,n);return}if(typeof e==`function`){h(e,t,n,r);return}g(e,t,n,r)},m=(e,t,n)=>{let r=e===``?t:_(t,e);r.classGroupId=n},h=(e,t,r,i)=>{if(v(e)){f(e(i),t,r,i);return}t.validators===null&&(t.validators=[]),t.validators.push(n(r,e))},g=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,a=t.split(i),o=a.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,y=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},b=`!`,x=`:`,S=[],C=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),w=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return C(t,l,c,u)};if(t){let e=t+x,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):C(S,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},T=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},ee=e=>({cache:y(e.cacheSize),parseClassName:w(e),sortModifiers:T(e),...s(e)}),te=/\s+/,E=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(te),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+b:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e0?` `+c:c)}return c},ne=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=ee(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=E(e,n);return i(e,a),a};return a=o,(...e)=>a(ne(...e))},k=[],A=e=>{let t=t=>t[e]||k;return t.isThemeGetter=!0,t},j=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,M=/^\((?:(\w[\w-]*):)?(.+)\)$/i,re=/^\d+\/\d+$/,N=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ie=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,P=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,I=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,L=e=>re.test(e),R=e=>!!e&&!Number.isNaN(Number(e)),z=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith(`%`)&&R(e.slice(0,-1)),B=e=>N.test(e),oe=()=>!0,V=e=>ie.test(e)&&!P.test(e),H=()=>!1,U=e=>F.test(e),se=e=>I.test(e),ce=e=>!W(e)&&!q(e),le=e=>X(e,_e,H),W=e=>j.test(e),G=e=>X(e,ve,V),ue=e=>X(e,ye,R),de=e=>X(e,Q,H),fe=e=>X(e,$,se),K=e=>X(e,xe,U),q=e=>M.test(e),J=e=>Z(e,ve),pe=e=>Z(e,be),me=e=>Z(e,Q),he=e=>Z(e,_e),ge=e=>Z(e,$),Y=e=>Z(e,xe,!0),X=(e,t,n)=>{let r=j.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Z=(e,t,n=!1)=>{let r=M.exec(e);return r?r[1]?t(r[1]):n:!1},Q=e=>e===`position`||e===`percentage`,$=e=>e===`image`||e===`url`,_e=e=>e===`length`||e===`size`||e===`bg-size`,ve=e=>e===`length`,ye=e=>e===`number`,be=e=>e===`family-name`,xe=e=>e===`shadow`,Se=O(()=>{let e=A(`color`),t=A(`font`),n=A(`text`),r=A(`font-weight`),i=A(`tracking`),a=A(`leading`),o=A(`breakpoint`),s=A(`container`),c=A(`spacing`),l=A(`radius`),u=A(`shadow`),d=A(`inset-shadow`),f=A(`text-shadow`),p=A(`drop-shadow`),m=A(`blur`),h=A(`perspective`),g=A(`aspect`),_=A(`ease`),v=A(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,W],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,W,c],T=()=>[L,`full`,`auto`,...w()],ee=()=>[z,`none`,`subgrid`,q,W],te=()=>[`auto`,{span:[`full`,z,q,W]},z,q,W],E=()=>[z,`auto`,q,W],ne=()=>[`auto`,`min`,`max`,`fr`,q,W],D=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],j=()=>[L,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],M=()=>[e,q,W],re=()=>[...b(),me,de,{position:[q,W]}],N=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,he,le,{size:[q,W]}],P=()=>[ae,J,G],F=()=>[``,`none`,`full`,l,q,W],I=()=>[``,R,J,G],V=()=>[`solid`,`dashed`,`dotted`,`double`],H=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],U=()=>[R,ae,me,de],se=()=>[``,`none`,m,q,W],X=()=>[`none`,R,q,W],Z=()=>[`none`,R,q,W],Q=()=>[R,q,W],$=()=>[L,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[B],breakpoint:[B],color:[oe],container:[B],"drop-shadow":[B],ease:[`in`,`out`,`in-out`],font:[ce],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[B],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[B],shadow:[B],spacing:[`px`,R],text:[B],"text-shadow":[B],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,L,W,q,g]}],container:[`container`],columns:[{columns:[R,W,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[z,`auto`,q,W]}],basis:[{basis:[L,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[R,L,`auto`,`initial`,`none`,W]}],grow:[{grow:[``,R,q,W]}],shrink:[{shrink:[``,R,q,W]}],order:[{order:[z,`first`,`last`,`none`,q,W]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...D(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...D()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:j()}],w:[{w:[s,`screen`,...j()]}],"min-w":[{"min-w":[s,`screen`,`none`,...j()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...j()]}],h:[{h:[`screen`,`lh`,...j()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...j()]}],"max-h":[{"max-h":[`screen`,`lh`,...j()]}],"font-size":[{text:[`base`,n,J,G]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,q,ue]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ae,W]}],"font-family":[{font:[pe,W,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,W]}],"line-clamp":[{"line-clamp":[R,`none`,q,ue]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,W]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,W]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...V(),`wavy`]}],"text-decoration-thickness":[{decoration:[R,`from-font`,`auto`,q,G]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[R,`auto`,q,W]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,W]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,W]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},z,q,W],radial:[``,q,W],conic:[z,q,W]},ge,fe]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...V(),`hidden`,`none`]}],"divide-style":[{divide:[...V(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...V(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[R,q,W]}],"outline-w":[{outline:[``,R,J,G]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,Y,K]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,Y,K]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[R,G]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,Y,K]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[R,q,W]}],"mix-blend":[{"mix-blend":[...H(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":H()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[R]}],"mask-image-linear-from-pos":[{"mask-linear-from":U()}],"mask-image-linear-to-pos":[{"mask-linear-to":U()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":U()}],"mask-image-t-to-pos":[{"mask-t-to":U()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":U()}],"mask-image-r-to-pos":[{"mask-r-to":U()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":U()}],"mask-image-b-to-pos":[{"mask-b-to":U()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":U()}],"mask-image-l-to-pos":[{"mask-l-to":U()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":U()}],"mask-image-x-to-pos":[{"mask-x-to":U()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":U()}],"mask-image-y-to-pos":[{"mask-y-to":U()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[q,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":U()}],"mask-image-radial-to-pos":[{"mask-radial-to":U()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[R]}],"mask-image-conic-from-pos":[{"mask-conic-from":U()}],"mask-image-conic-to-pos":[{"mask-conic-to":U()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,W]}],filter:[{filter:[``,`none`,q,W]}],blur:[{blur:se()}],brightness:[{brightness:[R,q,W]}],contrast:[{contrast:[R,q,W]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Y,K]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,R,q,W]}],"hue-rotate":[{"hue-rotate":[R,q,W]}],invert:[{invert:[``,R,q,W]}],saturate:[{saturate:[R,q,W]}],sepia:[{sepia:[``,R,q,W]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,W]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[R,q,W]}],"backdrop-contrast":[{"backdrop-contrast":[R,q,W]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,R,q,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[R,q,W]}],"backdrop-invert":[{"backdrop-invert":[``,R,q,W]}],"backdrop-opacity":[{"backdrop-opacity":[R,q,W]}],"backdrop-saturate":[{"backdrop-saturate":[R,q,W]}],"backdrop-sepia":[{"backdrop-sepia":[``,R,q,W]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,W]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[R,`initial`,q,W]}],ease:[{ease:[`linear`,`initial`,_,q,W]}],delay:[{delay:[R,q,W]}],animate:[{animate:[`none`,v,q,W]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,W]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:X()}],"rotate-x":[{"rotate-x":X()}],"rotate-y":[{"rotate-y":X()}],"rotate-z":[{"rotate-z":X()}],scale:[{scale:Z()}],"scale-x":[{"scale-x":Z()}],"scale-y":[{"scale-y":Z()}],"scale-z":[{"scale-z":Z()}],"scale-3d":[`scale-3d`],skew:[{skew:Q()}],"skew-x":[{"skew-x":Q()}],"skew-y":[{"skew-y":Q()}],transform:[{transform:[q,W,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:$()}],"translate-x":[{"translate-x":$()}],"translate-y":[{"translate-y":$()}],"translate-z":[{"translate-z":$()}],"translate-none":[`translate-none`],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,W]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,W]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[R,J,G,ue]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),Ce=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})}));export{Se as n,Ce as t}; \ No newline at end of file diff --git a/docs/assets/vendor-vue-router-CWDMmE-U.js b/docs/assets/vendor-vue-router-1sDnnIWZ.js similarity index 84% rename from docs/assets/vendor-vue-router-CWDMmE-U.js rename to docs/assets/vendor-vue-router-1sDnnIWZ.js index baaa94d..3c0ae71 100644 --- a/docs/assets/vendor-vue-router-CWDMmE-U.js +++ b/docs/assets/vendor-vue-router-1sDnnIWZ.js @@ -1 +1 @@ -import{Cn as e,Et as t,Ht as n,It as r,Nt as i,Rt as a,gn as o,hn as s,pn as c,qt as l,tn as u,vn as d}from"./game-logic-CfBcTF_c.js";var f=typeof document<`u`;function p(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function m(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&p(e.default)}var h=Object.assign;function g(e,t){let n={};for(let r in t){let i=t[r];n[r]=v(i)?i.map(e):e(i)}return n}var _=()=>{},v=Array.isArray;function y(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var b=/#/g,ee=/&/g,te=/\//g,ne=/=/g,re=/\?/g,ie=/\+/g,x=/%5B/g,S=/%5D/g,C=/%5E/g,w=/%60/g,ae=/%7B/g,oe=/%7C/g,T=/%7D/g,se=/%20/g;function E(e){return e==null?``:encodeURI(``+e).replace(oe,`|`).replace(x,`[`).replace(S,`]`)}function ce(e){return E(e).replace(ae,`{`).replace(T,`}`).replace(C,`^`)}function D(e){return E(e).replace(ie,`%2B`).replace(se,`+`).replace(b,`%23`).replace(ee,`%26`).replace(w,"`").replace(ae,`{`).replace(T,`}`).replace(C,`^`)}function le(e){return D(e).replace(ne,`%3D`)}function ue(e){return E(e).replace(b,`%23`).replace(re,`%3F`)}function de(e){return ue(e).replace(te,`%2F`)}function O(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var k=/\/$/,fe=e=>e.replace(k,``);function pe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=F(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:O(o)}}function me(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function A(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function he(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&j(t.matched[r],n.matched[i])&&M(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function j(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function M(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!N(e[n],t[n]))return!1;return!0}function N(e,t){return v(e)?P(e,t):v(t)?P(t,e):e===t}function P(e,t){return v(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function F(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var I={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},L=function(e){return e.pop=`pop`,e.push=`push`,e}({}),R=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function z(e){if(!e)if(f){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),fe(e)}var B=/^[^#]+#/;function V(e,t){return e.replace(B,`#`)+t}function H(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var U=()=>({left:window.scrollX,top:window.scrollY});function ge(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=H(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function _e(e,t){return(history.state?history.state.position-t:-1)+e}var W=new Map;function ve(e,t){W.set(e,t)}function ye(e){let t=W.get(e);return W.delete(e),t}function be(e){return typeof e==`string`||e&&typeof e==`object`}function xe(e){return typeof e==`string`||typeof e==`symbol`}var G=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),Se=Symbol(``);G.MATCHER_NOT_FOUND,G.NAVIGATION_GUARD_REDIRECT,G.NAVIGATION_ABORTED,G.NAVIGATION_CANCELLED,G.NAVIGATION_DUPLICATED;function K(e,t){return h(Error(),{type:e,[Se]:!0},t)}function q(e,t){return e instanceof Error&&Se in e&&(t==null||!!(e.type&t))}function Ce(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&D(e)):[r&&D(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Te(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=v(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var Ee=Symbol(``),De=Symbol(``),J=Symbol(``),Oe=Symbol(``),ke=Symbol(``);function Y(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function X(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(K(G.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):be(e)?c(K(G.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ae(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(p(s)){let c=(s.__vccOpts||s)[t];c&&a.push(X(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=m(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&X(c,n,r,o,e,i)()}))}}return a}function je(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oj(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>j(e,s))||i.push(s))}return[n,r,i]}var Me=()=>location.protocol+`//`+location.host;function Ne(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),A(n,``)}return A(n,e)+r+i}function Pe(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Ne(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:L.pop,direction:u?u>0?R.forward:R.back:R.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(h({},e.state,{scroll:U()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Fe(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?U():null}}function Ie(e){let{history:t,location:n}=window,r={value:Ne(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Me()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,h({},t.state,Fe(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=h({},i.value,t.state,{forward:e,scroll:U()});a(o.current,o,!0),a(e,h({},Fe(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Le(e){e=z(e);let t=Ie(e),n=Pe(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=h({location:``,base:e,go:r,createHref:V.bind(null,e)},t,n);return Object.defineProperty(i,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,`state`,{enumerable:!0,get:()=>t.state.value}),i}function Re(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Le(e)}var Z=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Q||{}),ze={type:Z.Static,value:``},Be=/[a-zA-Z0-9_]/;function Ve(e){if(!e)return[[]];if(e===`/`)return[[ze]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Q.Static?a.push({type:Z.Static,value:l}):n===Q.Param||n===Q.ParamRegExp||n===Q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Z.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===$.Static+$.Segment?1:-1:0}function qe(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Ye={strict:!1,end:!0,sensitive:!1};function Xe(e,t,n){let r=h(Ge(Ve(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Ze(e,t){let n=[],r=new Map;t=y(Ye,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=$e(e);s.aliasOf=r&&r.record;let l=y(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push($e(h({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Xe(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!tt(d)&&o(e.name)),at(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:_}function o(e){if(xe(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=rt(e,n);n.splice(t,0,e),e.record.name&&!tt(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw K(G.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=h(Qe(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Qe(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw K(G.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=h({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:nt(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Qe(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function $e(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:et(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function et(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function tt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nt(e){return e.reduce((e,t)=>h(e,t.meta),{})}function rt(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;qe(e,t[i])<0?r=i:n=i+1}let i=it(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function it(e){let t=e;for(;t=t.parent;)if(at(t)&&qe(e,t)===0)return t}function at({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ot(n){let r=a(J),i=a(Oe),o=t(()=>{let t=e(n.to);return r.resolve(t)}),s=t(()=>{let{matched:e}=o.value,{length:t}=e,n=e[t-1],r=i.matched;if(!n||!r.length)return-1;let a=r.findIndex(j.bind(null,n));if(a>-1)return a;let s=dt(e[t-2]);return t>1&&dt(n)===s&&r[r.length-1].path!==s?r.findIndex(j.bind(null,e[t-2])):a}),c=t(()=>s.value>-1&&ut(i.params,o.value.params)),l=t(()=>s.value>-1&&s.value===i.matched.length-1&&M(i.params,o.value.params));function u(t={}){if(lt(t)){let t=r[e(n.replace)?`replace`:`push`](e(n.to)).catch(_);return n.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>t),t}return Promise.resolve()}return{route:o,href:t(()=>o.value.href),isActive:c,isExactActive:l,navigate:u}}function st(e){return e.length===1?e[0]:e}var ct=i({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ot,setup(e,{slots:n}){let i=c(ot(e)),{options:o}=a(J),s=t(()=>({[ft(e.activeClass,o.linkActiveClass,`router-link-active`)]:i.isActive,[ft(e.exactActiveClass,o.linkExactActiveClass,`router-link-exact-active`)]:i.isExactActive}));return()=>{let t=n.default&&st(n.default(i));return e.custom?t:r(`a`,{"aria-current":i.isExactActive?e.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:s.value},t)}}});function lt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ut(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!v(i)||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function dt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var ft=(e,t,n)=>e??t??n,pt=i({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(n,{attrs:i,slots:o}){let c=a(ke),d=t(()=>n.route||c.value),f=a(De,0),p=t(()=>{let t=e(f),{matched:n}=d.value,r;for(;(r=n[t])&&!r.components;)t++;return t}),m=t(()=>d.value.matched[p.value]);l(De,t(()=>p.value+1)),l(Ee,m),l(ke,d);let g=s();return u(()=>[g.value,m.value,n.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!j(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=d.value,t=n.name,a=m.value,s=a&&a.components[t];if(!s)return mt(o.default,{Component:s,route:e});let c=a.props[t],l=r(s,h({},c?c===!0?e.params:typeof c==`function`?c(e):c:null,i,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[t]=null)},ref:g}));return mt(o.default,{Component:l,route:e})||l}}});function mt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ht=pt;function gt(t){let r=Ze(t.routes,t),i=t.parseQuery||Ce,a=t.stringifyQuery||we,s=t.history,c=Y(),l=Y(),u=Y(),p=d(I),m=I;f&&t.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let y=g.bind(null,e=>``+e),b=g.bind(null,de),ee=g.bind(null,O);function te(e,t){let n,i;return xe(e)?(n=r.getRecordMatcher(e),i=t):i=e,r.addRoute(i,n)}function ne(e){let t=r.getRecordMatcher(e);t&&r.removeRoute(t)}function re(){return r.getRoutes().map(e=>e.record)}function ie(e){return!!r.getRecordMatcher(e)}function x(e,t){if(t=h({},t||p.value),typeof e==`string`){let n=pe(i,e,t.path),a=r.resolve({path:n.path},t),o=s.createHref(n.fullPath);return h(n,a,{params:ee(a.params),hash:O(n.hash),redirectedFrom:void 0,href:o})}let n;if(e.path!=null)n=h({},e,{path:pe(i,e.path,t.path).path});else{let r=h({},e.params);for(let e in r)r[e]??delete r[e];n=h({},e,{params:b(r)}),t.params=b(t.params)}let o=r.resolve(n,t),c=e.hash||``;o.params=y(ee(o.params));let l=me(a,h({},e,{hash:ce(c),path:o.path})),u=s.createHref(l);return h({fullPath:l,hash:c,query:a===we?Te(e.query):e.query||{}},o,{redirectedFrom:void 0,href:u})}function S(e){return typeof e==`string`?pe(i,e,p.value.path):h({},e)}function C(e,t){if(m!==e)return K(G.NAVIGATION_CANCELLED,{from:t,to:e})}function w(e){return T(e)}function ae(e){return w(h(S(e),{replace:!0}))}function oe(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=S(i):{path:i},i.params={}),h({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=m=x(e),r=p.value,i=e.state,o=e.force,s=e.replace===!0,c=oe(n,r);if(c)return T(h(S(c),{state:typeof c==`object`?h({},i,c.state):i,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let u;return!o&&he(a,r,n)&&(u=K(G.NAVIGATION_DUPLICATED,{to:l,from:r}),R(r,r,!0,!1)),(u?Promise.resolve(u):D(l,r)).catch(e=>q(e)?q(e,G.NAVIGATION_GUARD_REDIRECT)?e:F(e):N(e,l,r)).then(e=>{if(e){if(q(e,G.NAVIGATION_GUARD_REDIRECT))return T(h({replace:s},S(e.to),{state:typeof e.to==`object`?h({},i,e.to.state):i,force:o}),t||l)}else e=ue(l,r,!0,s,i);return le(l,r,e),e})}function se(e,t){let n=C(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){let t=V.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function D(e,t){let n,[r,i,a]=je(e,t);n=Ae(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(X(r,e,t))});let o=se.bind(null,e,t);return n.push(o),W(n).then(()=>{n=[];for(let r of c.list())n.push(X(r,e,t));return n.push(o),W(n)}).then(()=>{n=Ae(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(X(r,e,t))});return n.push(o),W(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(v(r.beforeEnter))for(let i of r.beforeEnter)n.push(X(i,e,t));else n.push(X(r.beforeEnter,e,t));return n.push(o),W(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ae(a,`beforeRouteEnter`,e,t,E),n.push(o),W(n))).then(()=>{n=[];for(let r of l.list())n.push(X(r,e,t));return n.push(o),W(n)}).catch(e=>q(e,G.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function le(e,t,n){u.list().forEach(r=>E(()=>r(e,t,n)))}function ue(e,t,n,r,i){let a=C(e,t);if(a)return a;let o=t===I,c=f?history.state:{};n&&(r||o?s.replace(e.fullPath,h({scroll:o&&c&&c.scroll},i)):s.push(e.fullPath,i)),p.value=e,R(e,t,n,o),F()}let k;function fe(){k||=s.listen((e,t,n)=>{if(!H.listening)return;let r=x(e),i=oe(r,H.currentRoute.value);if(i){T(h(i,{replace:!0,force:!0}),r).catch(_);return}m=r;let a=p.value;f&&ve(_e(a.fullPath,n.delta),U()),D(r,a).catch(e=>q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_CANCELLED)?e:q(e,G.NAVIGATION_GUARD_REDIRECT)?(T(h(S(e.to),{force:!0}),r).then(e=>{q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===L.pop&&s.go(-1,!1)}).catch(_),Promise.reject()):(n.delta&&s.go(-n.delta,!1),N(e,r,a))).then(e=>{e||=ue(r,a,!1),e&&(n.delta&&!q(e,G.NAVIGATION_CANCELLED)?s.go(-n.delta,!1):n.type===L.pop&&q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),le(r,a,e)}).catch(_)})}let A=Y(),j=Y(),M;function N(e,t,n){F(e);let r=j.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function P(){return M&&p.value!==I?Promise.resolve():new Promise((e,t)=>{A.add([e,t])})}function F(e){return M||(M=!e,fe(),A.list().forEach(([t,n])=>e?n(e):t()),A.reset()),e}function R(e,r,i,a){let{scrollBehavior:o}=t;if(!f||!o)return Promise.resolve();let s=!i&&ye(_e(e.fullPath,0))||(a||!i)&&history.state&&history.state.scroll||null;return n().then(()=>o(e,r,s)).then(e=>e&&ge(e)).catch(t=>N(t,e,r))}let z=e=>s.go(e),B,V=new Set,H={currentRoute:p,listening:!0,addRoute:te,removeRoute:ne,clearRoutes:r.clearRoutes,hasRoute:ie,getRoutes:re,resolve:x,options:t,push:w,replace:ae,go:z,back:()=>z(-1),forward:()=>z(1),beforeEach:c.add,beforeResolve:l.add,afterEach:u.add,onError:j.add,isReady:P,install(t){t.component(`RouterLink`,ct),t.component(`RouterView`,ht),t.config.globalProperties.$router=H,Object.defineProperty(t.config.globalProperties,`$route`,{enumerable:!0,get:()=>e(p)}),f&&!B&&p.value===I&&(B=!0,w(s.location).catch(e=>{}));let n={};for(let e in I)Object.defineProperty(n,e,{get:()=>p.value[e],enumerable:!0});t.provide(J,H),t.provide(Oe,o(n)),t.provide(ke,p);let r=t.unmount;V.add(t),t.unmount=function(){V.delete(t),V.size<1&&(m=I,k&&k(),k=null,p.value=I,B=!1,M=!1),r()}}};function W(e){return e.reduce((e,t)=>e.then(()=>E(t)),Promise.resolve())}return H}function _t(){return a(J)}function vt(e){return a(Oe)}export{vt as a,Re as i,ht as n,_t as o,gt as r,ct as t}; \ No newline at end of file +import{Bn as e,Cn as t,Fn as n,Gn as r,Jt as i,Ln as a,Rn as o,hn as s,in as c,on as l,tn as u,un as d}from"./game-logic-Bi1l7y4K.js";var f=typeof document<`u`;function p(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function m(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&p(e.default)}var h=Object.assign;function g(e,t){let n={};for(let r in t){let i=t[r];n[r]=v(i)?i.map(e):e(i)}return n}var _=()=>{},v=Array.isArray;function y(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var b=/#/g,ee=/&/g,te=/\//g,ne=/=/g,re=/\?/g,ie=/\+/g,x=/%5B/g,S=/%5D/g,C=/%5E/g,w=/%60/g,ae=/%7B/g,oe=/%7C/g,T=/%7D/g,se=/%20/g;function E(e){return e==null?``:encodeURI(``+e).replace(oe,`|`).replace(x,`[`).replace(S,`]`)}function ce(e){return E(e).replace(ae,`{`).replace(T,`}`).replace(C,`^`)}function D(e){return E(e).replace(ie,`%2B`).replace(se,`+`).replace(b,`%23`).replace(ee,`%26`).replace(w,"`").replace(ae,`{`).replace(T,`}`).replace(C,`^`)}function le(e){return D(e).replace(ne,`%3D`)}function ue(e){return E(e).replace(b,`%23`).replace(re,`%3F`)}function de(e){return ue(e).replace(te,`%2F`)}function O(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var k=/\/$/,fe=e=>e.replace(k,``);function pe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=F(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:O(o)}}function me(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function A(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function he(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&j(t.matched[r],n.matched[i])&&M(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function j(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function M(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!N(e[n],t[n]))return!1;return!0}function N(e,t){return v(e)?P(e,t):v(t)?P(t,e):e===t}function P(e,t){return v(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function F(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var I={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},L=function(e){return e.pop=`pop`,e.push=`push`,e}({}),R=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function z(e){if(!e)if(f){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),fe(e)}var B=/^[^#]+#/;function V(e,t){return e.replace(B,`#`)+t}function H(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var U=()=>({left:window.scrollX,top:window.scrollY});function ge(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=H(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function _e(e,t){return(history.state?history.state.position-t:-1)+e}var W=new Map;function ve(e,t){W.set(e,t)}function ye(e){let t=W.get(e);return W.delete(e),t}function be(e){return typeof e==`string`||e&&typeof e==`object`}function xe(e){return typeof e==`string`||typeof e==`symbol`}var G=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),Se=Symbol(``);G.MATCHER_NOT_FOUND,G.NAVIGATION_GUARD_REDIRECT,G.NAVIGATION_ABORTED,G.NAVIGATION_CANCELLED,G.NAVIGATION_DUPLICATED;function K(e,t){return h(Error(),{type:e,[Se]:!0},t)}function q(e,t){return e instanceof Error&&Se in e&&(t==null||!!(e.type&t))}function Ce(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&D(e)):[r&&D(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Te(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=v(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var Ee=Symbol(``),De=Symbol(``),J=Symbol(``),Oe=Symbol(``),ke=Symbol(``);function Y(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function X(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(K(G.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):be(e)?c(K(G.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ae(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(p(s)){let c=(s.__vccOpts||s)[t];c&&a.push(X(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=m(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&X(c,n,r,o,e,i)()}))}}return a}function je(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oj(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>j(e,s))||i.push(s))}return[n,r,i]}var Me=()=>location.protocol+`//`+location.host;function Ne(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),A(n,``)}return A(n,e)+r+i}function Pe(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Ne(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:L.pop,direction:u?u>0?R.forward:R.back:R.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(h({},e.state,{scroll:U()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Fe(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?U():null}}function Ie(e){let{history:t,location:n}=window,r={value:Ne(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Me()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,h({},t.state,Fe(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=h({},i.value,t.state,{forward:e,scroll:U()});a(o.current,o,!0),a(e,h({},Fe(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Le(e){e=z(e);let t=Ie(e),n=Pe(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=h({location:``,base:e,go:r,createHref:V.bind(null,e)},t,n);return Object.defineProperty(i,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,`state`,{enumerable:!0,get:()=>t.state.value}),i}function Re(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Le(e)}var Z=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Q||{}),ze={type:Z.Static,value:``},Be=/[a-zA-Z0-9_]/;function Ve(e){if(!e)return[[]];if(e===`/`)return[[ze]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Q.Static?a.push({type:Z.Static,value:l}):n===Q.Param||n===Q.ParamRegExp||n===Q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Z.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===$.Static+$.Segment?1:-1:0}function qe(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Ye={strict:!1,end:!0,sensitive:!1};function Xe(e,t,n){let r=h(Ge(Ve(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Ze(e,t){let n=[],r=new Map;t=y(Ye,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=$e(e);s.aliasOf=r&&r.record;let l=y(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push($e(h({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Xe(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!tt(d)&&o(e.name)),at(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:_}function o(e){if(xe(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=rt(e,n);n.splice(t,0,e),e.record.name&&!tt(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw K(G.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=h(Qe(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Qe(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw K(G.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=h({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:nt(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Qe(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function $e(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:et(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function et(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function tt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nt(e){return e.reduce((e,t)=>h(e,t.meta),{})}function rt(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;qe(e,t[i])<0?r=i:n=i+1}let i=it(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function it(e){let t=e;for(;t=t.parent;)if(at(t)&&qe(e,t)===0)return t}function at({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ot(e){let t=l(J),n=l(Oe),a=i(()=>{let n=r(e.to);return t.resolve(n)}),o=i(()=>{let{matched:e}=a.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;let o=i.findIndex(j.bind(null,r));if(o>-1)return o;let s=dt(e[t-2]);return t>1&&dt(r)===s&&i[i.length-1].path!==s?i.findIndex(j.bind(null,e[t-2])):o}),s=i(()=>o.value>-1&&ut(n.params,a.value.params)),c=i(()=>o.value>-1&&o.value===n.matched.length-1&&M(n.params,a.value.params));function u(n={}){if(lt(n)){let n=t[r(e.replace)?`replace`:`push`](r(e.to)).catch(_);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:a,href:i(()=>a.value.href),isActive:s,isExactActive:c,navigate:u}}function st(e){return e.length===1?e[0]:e}var ct=u({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ot,setup(e,{slots:t}){let r=n(ot(e)),{options:a}=l(J),o=i(()=>({[ft(e.activeClass,a.linkActiveClass,`router-link-active`)]:r.isActive,[ft(e.exactActiveClass,a.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let n=t.default&&st(t.default(r));return e.custom?n:c(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},n)}}});function lt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ut(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!v(i)||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function dt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var ft=(e,t,n)=>e??t??n,pt=u({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:n,slots:o}){let u=l(ke),d=i(()=>e.route||u.value),f=l(De,0),p=i(()=>{let e=r(f),{matched:t}=d.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),m=i(()=>d.value.matched[p.value]);s(De,i(()=>p.value+1)),s(Ee,m),s(ke,d);let g=a();return t(()=>[g.value,m.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!j(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let t=d.value,r=e.name,i=m.value,a=i&&i.components[r];if(!a)return mt(o.default,{Component:a,route:t});let s=i.props[r],l=c(a,h({},s?s===!0?t.params:typeof s==`function`?s(t):s:null,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(i.instances[r]=null)},ref:g}));return mt(o.default,{Component:l,route:t})||l}}});function mt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ht=pt;function gt(t){let n=Ze(t.routes,t),i=t.parseQuery||Ce,a=t.stringifyQuery||we,s=t.history,c=Y(),l=Y(),u=Y(),p=e(I),m=I;f&&t.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let y=g.bind(null,e=>``+e),b=g.bind(null,de),ee=g.bind(null,O);function te(e,t){let r,i;return xe(e)?(r=n.getRecordMatcher(e),i=t):i=e,n.addRoute(i,r)}function ne(e){let t=n.getRecordMatcher(e);t&&n.removeRoute(t)}function re(){return n.getRoutes().map(e=>e.record)}function ie(e){return!!n.getRecordMatcher(e)}function x(e,t){if(t=h({},t||p.value),typeof e==`string`){let r=pe(i,e,t.path),a=n.resolve({path:r.path},t),o=s.createHref(r.fullPath);return h(r,a,{params:ee(a.params),hash:O(r.hash),redirectedFrom:void 0,href:o})}let r;if(e.path!=null)r=h({},e,{path:pe(i,e.path,t.path).path});else{let n=h({},e.params);for(let e in n)n[e]??delete n[e];r=h({},e,{params:b(n)}),t.params=b(t.params)}let o=n.resolve(r,t),c=e.hash||``;o.params=y(ee(o.params));let l=me(a,h({},e,{hash:ce(c),path:o.path})),u=s.createHref(l);return h({fullPath:l,hash:c,query:a===we?Te(e.query):e.query||{}},o,{redirectedFrom:void 0,href:u})}function S(e){return typeof e==`string`?pe(i,e,p.value.path):h({},e)}function C(e,t){if(m!==e)return K(G.NAVIGATION_CANCELLED,{from:t,to:e})}function w(e){return T(e)}function ae(e){return w(h(S(e),{replace:!0}))}function oe(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=S(i):{path:i},i.params={}),h({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=m=x(e),r=p.value,i=e.state,o=e.force,s=e.replace===!0,c=oe(n,r);if(c)return T(h(S(c),{state:typeof c==`object`?h({},i,c.state):i,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let u;return!o&&he(a,r,n)&&(u=K(G.NAVIGATION_DUPLICATED,{to:l,from:r}),R(r,r,!0,!1)),(u?Promise.resolve(u):D(l,r)).catch(e=>q(e)?q(e,G.NAVIGATION_GUARD_REDIRECT)?e:F(e):N(e,l,r)).then(e=>{if(e){if(q(e,G.NAVIGATION_GUARD_REDIRECT))return T(h({replace:s},S(e.to),{state:typeof e.to==`object`?h({},i,e.to.state):i,force:o}),t||l)}else e=ue(l,r,!0,s,i);return le(l,r,e),e})}function se(e,t){let n=C(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){let t=V.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function D(e,t){let n,[r,i,a]=je(e,t);n=Ae(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(X(r,e,t))});let o=se.bind(null,e,t);return n.push(o),W(n).then(()=>{n=[];for(let r of c.list())n.push(X(r,e,t));return n.push(o),W(n)}).then(()=>{n=Ae(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(X(r,e,t))});return n.push(o),W(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(v(r.beforeEnter))for(let i of r.beforeEnter)n.push(X(i,e,t));else n.push(X(r.beforeEnter,e,t));return n.push(o),W(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ae(a,`beforeRouteEnter`,e,t,E),n.push(o),W(n))).then(()=>{n=[];for(let r of l.list())n.push(X(r,e,t));return n.push(o),W(n)}).catch(e=>q(e,G.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function le(e,t,n){u.list().forEach(r=>E(()=>r(e,t,n)))}function ue(e,t,n,r,i){let a=C(e,t);if(a)return a;let o=t===I,c=f?history.state:{};n&&(r||o?s.replace(e.fullPath,h({scroll:o&&c&&c.scroll},i)):s.push(e.fullPath,i)),p.value=e,R(e,t,n,o),F()}let k;function fe(){k||=s.listen((e,t,n)=>{if(!H.listening)return;let r=x(e),i=oe(r,H.currentRoute.value);if(i){T(h(i,{replace:!0,force:!0}),r).catch(_);return}m=r;let a=p.value;f&&ve(_e(a.fullPath,n.delta),U()),D(r,a).catch(e=>q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_CANCELLED)?e:q(e,G.NAVIGATION_GUARD_REDIRECT)?(T(h(S(e.to),{force:!0}),r).then(e=>{q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===L.pop&&s.go(-1,!1)}).catch(_),Promise.reject()):(n.delta&&s.go(-n.delta,!1),N(e,r,a))).then(e=>{e||=ue(r,a,!1),e&&(n.delta&&!q(e,G.NAVIGATION_CANCELLED)?s.go(-n.delta,!1):n.type===L.pop&&q(e,G.NAVIGATION_ABORTED|G.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),le(r,a,e)}).catch(_)})}let A=Y(),j=Y(),M;function N(e,t,n){F(e);let r=j.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function P(){return M&&p.value!==I?Promise.resolve():new Promise((e,t)=>{A.add([e,t])})}function F(e){return M||(M=!e,fe(),A.list().forEach(([t,n])=>e?n(e):t()),A.reset()),e}function R(e,n,r,i){let{scrollBehavior:a}=t;if(!f||!a)return Promise.resolve();let o=!r&&ye(_e(e.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return d().then(()=>a(e,n,o)).then(e=>e&&ge(e)).catch(t=>N(t,e,n))}let z=e=>s.go(e),B,V=new Set,H={currentRoute:p,listening:!0,addRoute:te,removeRoute:ne,clearRoutes:n.clearRoutes,hasRoute:ie,getRoutes:re,resolve:x,options:t,push:w,replace:ae,go:z,back:()=>z(-1),forward:()=>z(1),beforeEach:c.add,beforeResolve:l.add,afterEach:u.add,onError:j.add,isReady:P,install(e){e.component(`RouterLink`,ct),e.component(`RouterView`,ht),e.config.globalProperties.$router=H,Object.defineProperty(e.config.globalProperties,`$route`,{enumerable:!0,get:()=>r(p)}),f&&!B&&p.value===I&&(B=!0,w(s.location).catch(e=>{}));let t={};for(let e in I)Object.defineProperty(t,e,{get:()=>p.value[e],enumerable:!0});e.provide(J,H),e.provide(Oe,o(t)),e.provide(ke,p);let n=e.unmount;V.add(e),e.unmount=function(){V.delete(e),V.size<1&&(m=I,k&&k(),k=null,p.value=I,B=!1,M=!1),n()}}};function W(e){return e.reduce((e,t)=>e.then(()=>E(t)),Promise.resolve())}return H}function _t(){return l(J)}function vt(e){return l(Oe)}export{vt as a,Re as i,ht as n,_t as o,gt as r,ct as t}; \ No newline at end of file diff --git a/docs/assets/vendor-vueuse-C7EbLx--.js b/docs/assets/vendor-vueuse-C7EbLx--.js deleted file mode 100644 index 3f4f3f0..0000000 --- a/docs/assets/vendor-vueuse-C7EbLx--.js +++ /dev/null @@ -1 +0,0 @@ -import{Cn as e,Et as t,Ht as n,Lt as r,Pt as i,Sn as a,Wt as o,hn as s,nn as c,tn as l,vn as u}from"./game-logic-CfBcTF_c.js";import{a as d,i as f,l as p,o as m,r as h,s as g,u as _}from"./vendor-others-CUjrprN5.js";var v=f?window:void 0,y=f?window.document:void 0;f&&window.navigator,f&&window.location;function b(e){let t=a(e);return t?.$el??t}function x(...n){let r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=t(()=>{let e=p(a(n[0])).filter(e=>e!=null);return e.every(e=>typeof e!=`string`)?e:void 0});return _(()=>[i.value?.map(e=>b(e))??[v].filter(e=>e!=null),p(a(i.value?n[1]:n[0])),p(e(i.value?n[2]:n[1])),a(i.value?n[3]:n[2])],([e,t,n,i],a,o)=>{if(!e?.length||!t?.length||!n?.length)return;let s=m(i)?{...i}:i,c=e.flatMap(e=>t.flatMap(t=>n.map(n=>r(e,t,n,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function S(){let e=u(!1),t=i();return t&&o(()=>{e.value=!0},t),e}function C(e){let n=S();return t(()=>(n.value,!!e()))}var w=Symbol(`vueuse-ssr-width`);function T(){let e=r()?h(w,null):null;return typeof e==`number`?e:void 0}function E(e,n={}){let{window:r=v,ssrWidth:i=T()}=n,o=C(()=>r&&`matchMedia`in r&&typeof r.matchMedia==`function`),s=u(typeof i==`number`),l=u(),d=u(!1);return c(()=>{if(s.value){s.value=!o.value,d.value=a(e).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||r);return n&&a&&(a=i>=g(n[1])),r&&a&&(a=i<=g(r[1])),t?!a:a});return}o.value&&(l.value=r.matchMedia(a(e)),d.value=l.value.matches)}),x(l,`change`,e=>{d.value=e.matches},{passive:!0}),t(()=>d.value)}function D(e){return JSON.parse(JSON.stringify(e))}function O(e,r,a,o={}){var c,u;let{clone:f=!1,passive:p=!1,eventName:m,deep:h=!1,defaultValue:g,shouldEmit:_}=o,v=i(),y=a||v?.emit||(v==null||(c=v.$emit)==null?void 0:c.bind(v))||(v==null||(u=v.proxy)==null||(u=u.$emit)==null?void 0:u.bind(v?.proxy)),b=m;r||=`modelValue`,b||=`update:${r.toString()}`;let x=e=>f?typeof f==`function`?f(e):D(e):e,S=()=>d(e[r])?x(e[r]):g,C=e=>{_?_(e)&&y(b,e):y(b,e)};if(p){let t=s(S()),i=!1;return l(()=>e[r],e=>{i||(i=!0,t.value=x(e),n(()=>i=!1))}),l(t,t=>{!i&&(t!==e[r]||h)&&C(t)},{deep:h}),t}else return t({get(){return S()},set(e){C(e)}})}export{O as i,x as n,E as r,y as t}; \ No newline at end of file diff --git a/docs/assets/vendor-vueuse-CJcfYqoW.js b/docs/assets/vendor-vueuse-CJcfYqoW.js new file mode 100644 index 0000000..37b8fb1 --- /dev/null +++ b/docs/assets/vendor-vueuse-CJcfYqoW.js @@ -0,0 +1 @@ +import{Bn as e,Cn as t,Gn as n,Jt as r,Ln as i,Wn as a,an as o,fn as s,nn as c,un as l,wn as u}from"./game-logic-Bi1l7y4K.js";import{a as d,i as f,l as p,o as m,r as h,s as g,u as _}from"./vendor-others-DTUzJ7S-.js";var v=f?window:void 0,y=f?window.document:void 0;f&&window.navigator,f&&window.location;function b(e){let t=a(e);return t?.$el??t}function x(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=r(()=>{let t=p(a(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return _(()=>[i.value?.map(e=>b(e))??[v].filter(e=>e!=null),p(a(i.value?e[1]:e[0])),p(n(i.value?e[2]:e[1])),a(i.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=m(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function S(){let t=e(!1),n=c();return n&&s(()=>{t.value=!0},n),t}function C(e){let t=S();return r(()=>(t.value,!!e()))}var w=Symbol(`vueuse-ssr-width`);function T(){let e=o()?h(w,null):null;return typeof e==`number`?e:void 0}function E(t,n={}){let{window:i=v,ssrWidth:o=T()}=n,s=C(()=>i&&`matchMedia`in i&&typeof i.matchMedia==`function`),c=e(typeof o==`number`),l=e(),d=e(!1);return u(()=>{if(c.value){c.value=!s.value,d.value=a(t).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=!!(n||r);return n&&i&&(i=o>=g(n[1])),r&&i&&(i=o<=g(r[1])),t?!i:i});return}s.value&&(l.value=i.matchMedia(a(t)),d.value=l.value.matches)}),x(l,`change`,e=>{d.value=e.matches},{passive:!0}),r(()=>d.value)}function D(e){return JSON.parse(JSON.stringify(e))}function O(e,n,a,o={}){var s,u;let{clone:f=!1,passive:p=!1,eventName:m,deep:h=!1,defaultValue:g,shouldEmit:_}=o,v=c(),y=a||v?.emit||(v==null||(s=v.$emit)==null?void 0:s.bind(v))||(v==null||(u=v.proxy)==null||(u=u.$emit)==null?void 0:u.bind(v?.proxy)),b=m;n||=`modelValue`,b||=`update:${n.toString()}`;let x=e=>f?typeof f==`function`?f(e):D(e):e,S=()=>d(e[n])?x(e[n]):g,C=e=>{_?_(e)&&y(b,e):y(b,e)};if(p){let r=i(S()),a=!1;return t(()=>e[n],e=>{a||(a=!0,r.value=x(e),l(()=>a=!1))}),t(r,t=>{!a&&(t!==e[n]||h)&&C(t)},{deep:h}),r}else return r({get(){return S()},set(e){C(e)}})}export{O as i,x as n,E as r,y as t}; \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index bf181ce..7273ba8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,21 +7,21 @@ OGame-Vue-Ts - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/electron/main.ts b/electron/main.ts index f67e743..a576c9a 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -1,26 +1,27 @@ import { app, BrowserWindow } from 'electron' // @ts-ignore -import path from "node:path"; +import path from 'node:path' import { fileURLToPath } from 'node:url' import { dirname } from 'node:path' +import pkg from '../package.json' app.whenReady().then(() => { - // @ts-ignore - const __filename = fileURLToPath(import.meta.url) - const __dirname = dirname(__filename) - const win = new BrowserWindow({ - title: 'OGame', - icon: path.join(__dirname, '../public/favicon.ico'), - width: 1200, - height: 800, - }) - win.setMenu(null); + // @ts-ignore + const __filename = fileURLToPath(import.meta.url) + const __dirname = dirname(__filename) + const win = new BrowserWindow({ + title: pkg.title, + icon: path.join(__dirname, '../public/favicon.ico'), + width: 1200, + height: 800 + }) + win.setMenu(null) - // You can use `process.env.VITE_DEV_SERVER_URL` when the vite command is called `serve` - if (process.env.VITE_DEV_SERVER_URL) { - win.loadURL(process.env.VITE_DEV_SERVER_URL) - } else { - // Load your file - win.loadFile('docs/index.html'); - } -}) \ No newline at end of file + // You can use `process.env.VITE_DEV_SERVER_URL` when the vite command is called `serve` + if (process.env.VITE_DEV_SERVER_URL) { + win.loadURL(process.env.VITE_DEV_SERVER_URL) + } else { + // Load your file + win.loadFile('docs/index.html') + } +}) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b981153 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8190 @@ +{ + "name": "ogame-vue-ts", + "version": "1.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ogame-vue-ts", + "version": "1.1.0", + "dependencies": { + "@tailwindcss/vite": "^4.1.17", + "@tanstack/vue-table": "^8.21.3", + "@vueuse/core": "^14.1.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "crypto-js": "^4.2.0", + "file-saver": "^2.0.5", + "finalhandler": "^2.1.1", + "lucide-vue-next": "^0.556.0", + "pinia": "^3.0.4", + "pinia-plugin-persistedstate": "^4.7.1", + "reka-ui": "^2.6.1", + "serve-static": "^2.2.0", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4.1.17", + "vue": "^3.5.24", + "vue-router": "4", + "vue-sonner": "^2.0.9" + }, + "devDependencies": { + "@types/crypto-js": "^4.2.2", + "@types/file-saver": "^2.0.7", + "@types/node": "^24.10.2", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/tsconfig": "^0.8.1", + "electron": "^30.0.0", + "electron-builder": "^26.0.12", + "electron-vite": "^5.0.0", + "tw-animate-css": "^1.4.0", + "typescript": "~5.9.3", + "vite": "npm:rolldown-vite@7.2.5", + "vite-plugin-electron": "^0.29.0", + "vite-plugin-electron-renderer": "^0.14.6", + "vue-tsc": "^3.1.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmmirror.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@electron/asar": { + "version": "3.2.18", + "resolved": "https://registry.npmmirror.com/@electron/asar/-/asar-3.2.18.tgz", + "integrity": "sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/fuses/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/fuses/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/node-gyp": { + "version": "10.2.0-electron.1", + "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-4MSBTT8y07YUDqf69/vSh80Hh791epYqGtWHO3zSKhYFwQg+gx9wi1PqbqP6YqC4WMsNxZ5l9oDmnWdK5pfCKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/node-gyp/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/node-gyp/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/node-gyp/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@electron/osx-sign/-/osx-sign-1.3.1.tgz", + "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/osx-sign/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/rebuild": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/@electron/rebuild/-/rebuild-3.7.0.tgz", + "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/rebuild/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/rebuild/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/rebuild/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@electron/universal/-/universal-2.0.1.tgz", + "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.2.7", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.3.2", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.3.2", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/windows-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/@emnapi/core/-/core-1.7.1.tgz", + "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@floating-ui/vue": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/vue/-/vue-1.1.9.tgz", + "integrity": "sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.4", + "@floating-ui/utils": "^0.2.10", + "vue-demi": ">=0.13.0" + } + }, + "node_modules/@floating-ui/vue/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@internationalized/date": { + "version": "3.10.0", + "resolved": "https://registry.npmmirror.com/@internationalized/date/-/date-3.10.0.tgz", + "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.5", + "resolved": "https://registry.npmmirror.com/@internationalized/number/-/number-3.6.5.tgz", + "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.0.tgz", + "integrity": "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@oxc-project/runtime": { + "version": "0.97.0", + "resolved": "https://registry.npmmirror.com/@oxc-project/runtime/-/runtime-0.97.0.tgz", + "integrity": "sha512-yH0zw7z+jEws4dZ4IUKoix5Lh3yhqIJWF9Dc8PWvhpo7U7O+lJrv7ZZL4BeRO0la8LBQFwcCewtLBnVV7hPe/w==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.97.0", + "resolved": "https://registry.npmmirror.com/@oxc-project/types/-/types-0.97.0.tgz", + "integrity": "sha512-lxmZK4xFrdvU0yZiDwgVQTCvh2gHWBJCBk5ALsrtsBWhs0uDIi+FTOnXRQeQfs304imdvTdaakT/lqwQ8hkOXQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.50.tgz", + "integrity": "sha512-XlEkrOIHLyGT3avOgzfTFSjG+f+dZMw+/qd+Y3HLN86wlndrB/gSimrJCk4gOhr1XtRtEKfszpadI3Md4Z4/Ag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.50.tgz", + "integrity": "sha512-+JRqKJhoFlt5r9q+DecAGPLZ5PxeLva+wCMtAuoFMWPoZzgcYrr599KQ+Ix0jwll4B4HGP43avu9My8KtSOR+w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.50.tgz", + "integrity": "sha512-fFXDjXnuX7/gQZQm/1FoivVtRcyAzdjSik7Eo+9iwPQ9EgtA5/nB2+jmbzaKtMGG3q+BnZbdKHCtOacmNrkIDA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.50.tgz", + "integrity": "sha512-F1b6vARy49tjmT/hbloplzgJS7GIvwWZqt+tAHEstCh0JIh9sa8FAMVqEmYxDviqKBaAI8iVvUREm/Kh/PD26Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.50.tgz", + "integrity": "sha512-U6cR76N8T8M6lHj7EZrQ3xunLPxSvYYxA8vJsBKZiFZkT8YV4kjgCO3KwMJL0NOjQCPGKyiXO07U+KmJzdPGRw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.50.tgz", + "integrity": "sha512-ONgyjofCrrE3bnh5GZb8EINSFyR/hmwTzZ7oVuyUB170lboza1VMCnb8jgE6MsyyRgHYmN8Lb59i3NKGrxrYjw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.50.tgz", + "integrity": "sha512-L0zRdH2oDPkmB+wvuTl+dJbXCsx62SkqcEqdM+79LOcB+PxbAxxjzHU14BuZIQdXcAVDzfpMfaHWzZuwhhBTcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.50.tgz", + "integrity": "sha512-gyoI8o/TGpQd3OzkJnh1M2kxy1Bisg8qJ5Gci0sXm9yLFzEXIFdtc4EAzepxGvrT2ri99ar5rdsmNG0zP0SbIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.50.tgz", + "integrity": "sha512-zti8A7M+xFDpKlghpcCAzyOi+e5nfUl3QhU023ce5NCgUxRG5zGP2GR9LTydQ1rnIPwZUVBWd4o7NjZDaQxaXA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.50.tgz", + "integrity": "sha512-eZUssog7qljrrRU9Mi0eqYEPm3Ch0UwB+qlWPMKSUXHNqhm3TvDZarJQdTevGEfu3EHAXJvBIe0YFYr0TPVaMA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.50.tgz", + "integrity": "sha512-nmCN0nIdeUnmgeDXiQ+2HU6FT162o+rxnF7WMkBm4M5Ds8qTU7Dzv2Wrf22bo4ftnlrb2hKK6FSwAJSAe2FWLg==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.7" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.50.tgz", + "integrity": "sha512-7kcNLi7Ua59JTTLvbe1dYb028QEPaJPJQHqkmSZ5q3tJueUeb6yjRtx8mw4uIqgWZcnQHAR3PrLN4XRJxvgIkA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.50.tgz", + "integrity": "sha512-lL70VTNvSCdSZkDPPVMwWn/M2yQiYvSoXw9hTLgdIWdUfC3g72UaruezusR6ceRuwHCY1Ayu2LtKqXkBO5LIwg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.50.tgz", + "integrity": "sha512-4qU4x5DXWB4JPjyTne/wBNPqkbQU8J45bl21geERBKtEittleonioACBL1R0PsBu0Aq21SwMK5a9zdBkWSlQtQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.53", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz", + "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.21.3", + "resolved": "https://registry.npmmirror.com/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.13", + "resolved": "https://registry.npmmirror.com/@tanstack/virtual-core/-/virtual-core-3.13.13.tgz", + "integrity": "sha512-uQFoSdKKf5S8k51W5t7b2qpfkyIbdHMzAn+AMQvHPxKUPeo1SsGaA4JRISQT87jm28b7z8OEqPcg1IOZagQHcA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-table": { + "version": "8.21.3", + "resolved": "https://registry.npmmirror.com/@tanstack/vue-table/-/vue-table-8.21.3.tgz", + "integrity": "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw==", + "license": "MIT", + "dependencies": { + "@tanstack/table-core": "8.21.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": ">=3.2" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.13", + "resolved": "https://registry.npmmirror.com/@tanstack/vue-virtual/-/vue-virtual-3.13.13.tgz", + "integrity": "sha512-Cf2xIEE8nWAfsX0N5nihkPYMeQRT+pHt4NEkuP8rNCn6lVnLDiV8rC8IeIxbKmQC0yPnj4SIBLwXYVf86xxKTQ==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.13.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/crypto-js": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/file-saver": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.4", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.10.4.tgz", + "integrity": "sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/plist": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@types/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/verror": { + "version": "1.10.11", + "resolved": "https://registry.npmmirror.com/@types/verror/-/verror-1.10.11.tgz", + "integrity": "sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz", + "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.53" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.26", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.26.tgz", + "integrity": "sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.26" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.26", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.26.tgz", + "integrity": "sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.26", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.26.tgz", + "integrity": "sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.26", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.25.tgz", + "integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.25", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.25.tgz", + "integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.25.tgz", + "integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.25", + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.25.tgz", + "integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.1.8.tgz", + "integrity": "sha512-PfwAW7BLopqaJbneChNL6cUOTL3GL+0l8paYP5shhgY5toBNidWnMXWM+qDwL7MC9+zDtzCF2enT8r6VPu64iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.26", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.25.tgz", + "integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.25.tgz", + "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/shared": "3.5.25" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.25.tgz", + "integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.25", + "@vue/runtime-core": "3.5.25", + "@vue/shared": "3.5.25", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.25.tgz", + "integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "vue": "3.5.25" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.25.tgz", + "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-14.1.0.tgz", + "integrity": "sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.1.0", + "@vueuse/shared": "14.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/metadata": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-14.1.0.tgz", + "integrity": "sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-14.1.0.tgz", + "integrity": "sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alien-signals": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.1.1.tgz", + "integrity": "sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-bin": { + "version": "5.0.0-alpha.12", + "resolved": "https://registry.npmmirror.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.12.tgz", + "integrity": "sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/app-builder-lib": { + "version": "26.0.12", + "resolved": "https://registry.npmmirror.com/app-builder-lib/-/app-builder-lib-26.0.12.tgz", + "integrity": "sha512-+/CEPH1fVKf6HowBUs6LcAIoRcjeqgvAeoSE+cl7Y7LndyQ9ViGPYibNk7wmhMHzNgHIuIbw4nWADPO+4mjgWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/asar": "3.2.18", + "@electron/fuses": "^1.8.0", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.1", + "@electron/rebuild": "3.7.0", + "@electron/universal": "2.0.1", + "@malept/flatpak-bundler": "^0.4.0", + "@types/fs-extra": "9.0.13", + "async-exit-hook": "^2.0.1", + "builder-util": "26.0.11", + "builder-util-runtime": "9.3.1", + "chromium-pickle-js": "^0.2.0", + "config-file-ts": "0.2.8-rc1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "26.0.11", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "is-ci": "^3.0.0", + "isbinaryfile": "^5.0.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.0.0", + "plist": "3.1.0", + "resedit": "^1.7.0", + "semver": "^7.3.8", + "tar": "^6.1.12", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "26.0.12", + "electron-builder-squirrel-windows": "26.0.12" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.7", + "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.7.tgz", + "integrity": "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "26.0.11", + "resolved": "https://registry.npmmirror.com/builder-util/-/builder-util-26.0.11.tgz", + "integrity": "sha512-xNjXfsldUEe153h1DraD0XvDOpqGR0L5eKFkdReB7eFW5HqysDZFfly4rckda6y9dF39N3pkPlOblcfHKGw+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "5.0.0-alpha.12", + "builder-util-runtime": "9.3.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.6", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "sanitize-filename": "^1.6.3", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.3.1", + "resolved": "https://registry.npmmirror.com/builder-util-runtime/-/builder-util-runtime-9.3.1.tgz", + "integrity": "sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001760", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-file-ts": { + "version": "0.2.8-rc1", + "resolved": "https://registry.npmmirror.com/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz", + "integrity": "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.3.12", + "typescript": "^5.4.3" + } + }, + "node_modules/config-file-ts/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/config-file-ts/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/config-file-ts/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/config-file-ts/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "26.0.12", + "resolved": "https://registry.npmmirror.com/dmg-builder/-/dmg-builder-26.0.12.tgz", + "integrity": "sha512-59CAAjAhTaIMCN8y9kD573vDkxbs1uhDcrFLHSgutYdPcGOU35Rf95725snvzEOy4BFB7+eLJ8djCNPmGwG67w==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.0.12", + "builder-util": "26.0.11", + "builder-util-runtime": "9.3.1", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "30.5.1", + "resolved": "https://registry.npmmirror.com/electron/-/electron-30.5.1.tgz", + "integrity": "sha512-AhL7+mZ8Lg14iaNfoYTkXQ2qee8mmsQyllKdqxlpv/zrKgfxz6jNVtcRRbQtLxtF8yzcImWdfTQROpYiPumdbw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "26.0.12", + "resolved": "https://registry.npmmirror.com/electron-builder/-/electron-builder-26.0.12.tgz", + "integrity": "sha512-cD1kz5g2sgPTMFHjLxfMjUK5JABq3//J4jPswi93tOPFz6btzXYtK5NrDt717NRbukCUDOrrvmYVOWERlqoiXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.0.12", + "builder-util": "26.0.11", + "builder-util-runtime": "9.3.1", + "chalk": "^4.1.2", + "dmg-builder": "26.0.12", + "fs-extra": "^10.1.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "26.0.12", + "resolved": "https://registry.npmmirror.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.12.tgz", + "integrity": "sha512-kpwXM7c/ayRUbYVErQbsZ0nQZX4aLHQrPEG9C4h9vuJCXylwFH8a7Jgi2VpKIObzCXO7LKHiCw4KdioFLFOgqA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "26.0.12", + "builder-util": "26.0.11", + "electron-winstaller": "5.4.0" + } + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-publish": { + "version": "26.0.11", + "resolved": "https://registry.npmmirror.com/electron-publish/-/electron-publish-26.0.11.tgz", + "integrity": "sha512-a8QRH0rAPIWH9WyyS5LbNvW9Ark6qe63/LqDB7vu2JXYpi0Gma5Q60Dh4tmTqhOBQt0xsrzD8qE7C+D7j+B24A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "26.0.11", + "builder-util-runtime": "9.3.1", + "chalk": "^4.1.2", + "form-data": "^4.0.0", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/electron-vite": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/electron-vite/-/electron-vite-5.0.0.tgz", + "integrity": "sha512-OHp/vjdlubNlhNkPkL/+3JD34ii5ov7M0GpuXEVdQeqdQ3ulvVR7Dg/rNBLfS5XPIFwgoBLDf9sjjrL+CuDyRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.4", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "cac": "^6.7.14", + "esbuild": "^0.25.11", + "magic-string": "^0.30.19", + "picocolors": "^1.1.1" + }, + "bin": { + "electron-vite": "bin/electron-vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@swc/core": "^1.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + } + } + }, + "node_modules/electron-winstaller": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/electron-winstaller/-/electron-winstaller-5.4.0.tgz", + "integrity": "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron/node_modules/@types/node": { + "version": "20.19.27", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/electron/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmmirror.com/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/isbinaryfile": { + "version": "5.0.7", + "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-vue-next": { + "version": "0.556.0", + "resolved": "https://registry.npmmirror.com/lucide-vue-next/-/lucide-vue-next-0.556.0.tgz", + "integrity": "sha512-JvdCM2smkWrMDhkfD/FpZiWekkbWD6MZLstIFx/FOVZgULrnMr5hegCB9LlTdgllEFnQYQs8hhHC1WYcAV9HTA==", + "license": "ISC", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.85.0", + "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.85.0.tgz", + "integrity": "sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-api-version/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.7.1", + "resolved": "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.7.1.tgz", + "integrity": "sha512-WHOqh2esDlR3eAaknPbqXrkkj0D24h8shrDPqysgCFR6ghqP/fpFfJmMPJp0gETHsvrh9YNNg6dQfo2OEtDnIQ==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4" + }, + "peerDependencies": { + "@nuxt/kit": ">=3.0.0", + "@pinia/nuxt": ">=0.10.0", + "pinia": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmmirror.com/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/reka-ui": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/reka-ui/-/reka-ui-2.6.1.tgz", + "integrity": "sha512-XK7cJDQoNuGXfCNzBBo/81Yg/OgjPwvbabnlzXG2VsdSgNsT6iIkuPBPr+C0Shs+3bb0x0lbPvgQAhMSCKm5Ww==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.13", + "@floating-ui/vue": "^1.1.6", + "@internationalized/date": "^3.5.0", + "@internationalized/number": "^3.5.0", + "@tanstack/vue-virtual": "^3.12.0", + "@vueuse/core": "^12.5.0", + "@vueuse/shared": "^12.5.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "ohash": "^2.0.11" + }, + "peerDependencies": { + "vue": ">= 3.2.0" + } + }, + "node_modules/reka-ui/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/reka-ui/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/reka-ui/node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmmirror.com/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/rolldown/-/rolldown-1.0.0-beta.50.tgz", + "integrity": "sha512-JFULvCNl/anKn99eKjOSEubi0lLmNqQDAjyEMME2T4CwezUDL0i6t1O9xZsu2OMehPnV2caNefWpGF+8TnzB6A==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.97.0", + "@rolldown/pluginutils": "1.0.0-beta.50" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.50", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.50", + "@rolldown/binding-darwin-x64": "1.0.0-beta.50", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.50", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.50", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.50", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.50", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.50", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.50", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.50", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.50", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.50", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.50", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.50" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz", + "integrity": "sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/send/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmmirror.com/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwind-merge": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/temp/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tiny-async-pool": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", + "integrity": "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.5.0" + } + }, + "node_modules/tiny-async-pool/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tw-animate-css": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/tw-animate-css/-/tw-animate-css-1.4.0.tgz", + "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/vite": { + "name": "rolldown-vite", + "version": "7.2.5", + "resolved": "https://registry.npmmirror.com/rolldown-vite/-/rolldown-vite-7.2.5.tgz", + "integrity": "sha512-u09tdk/huMiN8xwoiBbig197jKdCamQTtOruSalOzbqGje3jdHiV0njQlAW0YvzoahkirFePNQ4RYlfnRQpXZA==", + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "0.97.0", + "fdir": "^6.5.0", + "lightningcss": "^1.30.2", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rolldown": "1.0.0-beta.50", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "esbuild": "^0.25.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-electron": { + "version": "0.29.0", + "resolved": "https://registry.npmmirror.com/vite-plugin-electron/-/vite-plugin-electron-0.29.0.tgz", + "integrity": "sha512-HP0DI9Shg41hzt55IKYVnbrChWXHX95QtsEQfM+szQBpWjVhVGMlqRjVco6ebfQjWNr+Ga+PeoBjMIl8zMaufw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "vite-plugin-electron-renderer": "*" + }, + "peerDependenciesMeta": { + "vite-plugin-electron-renderer": { + "optional": true + } + } + }, + "node_modules/vite-plugin-electron-renderer": { + "version": "0.14.6", + "resolved": "https://registry.npmmirror.com/vite-plugin-electron-renderer/-/vite-plugin-electron-renderer-0.14.6.tgz", + "integrity": "sha512-oqkWFa7kQIkvHXG7+Mnl1RTroA4sP0yesKatmAy0gjZC4VwUqlvF9IvOpHd1fpLWsqYX/eZlVxlhULNtaQ78Jw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.25", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.25.tgz", + "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.25", + "@vue/compiler-sfc": "3.5.25", + "@vue/runtime-dom": "3.5.25", + "@vue/server-renderer": "3.5.25", + "@vue/shared": "3.5.25" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-sonner": { + "version": "2.0.9", + "resolved": "https://registry.npmmirror.com/vue-sonner/-/vue-sonner-2.0.9.tgz", + "integrity": "sha512-i6BokNlNDL93fpzNxN/LZSn6D6MzlO+i3qXt6iVZne3x1k7R46d5HlFB4P8tYydhgqOrRbIZEsnRd3kG7qGXyw==", + "license": "MIT", + "peerDependencies": { + "@nuxt/kit": "^4.0.3", + "@nuxt/schema": "^4.0.3", + "nuxt": "^4.0.3" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@nuxt/schema": { + "optional": true + }, + "nuxt": { + "optional": true + } + } + }, + "node_modules/vue-tsc": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.1.8.tgz", + "integrity": "sha512-deKgwx6exIHeZwF601P1ktZKNF0bepaSN4jBU3AsbldPx9gylUc1JDxYppl82yxgkAgaz0Y0LCLOi+cXe9HMYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.26", + "@vue/language-core": "3.1.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index a0a09aa..c142305 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "email": "1962257451@qq.com" }, "private": true, - "version": "1.1.0", - "buildDate": "2025/12/14 15:57:43", + "version": "1.2.0", + "buildDate": "2025/12/15 08:22:52", "main": "dist-electron/main.js", "type": "module", "scripts": { @@ -17,7 +17,7 @@ "build": "vue-tsc -b && vite build && node update-build-date.js", "preview": "vite preview", "build:server": "pnpm run build && go build", - "build:electron": "pnpm run build && electron-builder" + "build:electron": "cross-env ELECTRON_BUILD=1 pnpm run build && electron-builder" }, "dependencies": { "@tailwindcss/vite": "^4.1.17", @@ -45,6 +45,7 @@ "@types/node": "^24.10.2", "@vitejs/plugin-vue": "^6.0.1", "@vue/tsconfig": "^0.8.1", + "cross-env": "^7.0.3", "electron": "^39.2.7", "electron-builder": "^26.0.12", "electron-vite": "^5.0.0", @@ -63,6 +64,9 @@ "electron-winstaller", "esbuild", "vue-demi" + ], + "ignoredBuiltDependencies": [ + "electron" ] }, "packageManager": "pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63af91e..2f4a5a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,6 +81,9 @@ importers: '@vue/tsconfig': specifier: ^0.8.1 version: 0.8.1(typescript@5.9.3)(vue@3.5.25(typescript@5.9.3)) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 electron: specifier: ^39.2.7 version: 39.2.7 @@ -1114,6 +1117,11 @@ packages: cross-dirname@0.1.0: resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -3548,6 +3556,10 @@ snapshots: cross-dirname@0.1.0: optional: true + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.6 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 diff --git a/src/App.vue b/src/App.vue index 8222e95..da61302 100644 --- a/src/App.vue +++ b/src/App.vue @@ -228,7 +228,18 @@ - + + + + {{ confirmDialogTitle }} + {{ confirmDialogMessage }} + + + {{ t('common.cancel') }} + {{ t('common.confirm') }} + + + @@ -242,7 +253,6 @@ import { onMounted, onUnmounted, computed, ref } from 'vue' import { RouterView, RouterLink } from 'vue-router' import { useGameStore } from '@/stores/gameStore' - import { useUniverseStore } from '@/stores/universeStore' import { useTheme } from '@/composables/useTheme' import { useI18n } from '@/composables/useI18n' import { localeNames, detectBrowserLocale, type Locale } from '@/locales' @@ -265,11 +275,18 @@ SidebarTrigger } from '@/components/ui/sidebar' import ResourceIcon from '@/components/ResourceIcon.vue' - import ConfirmDialog from '@/components/ConfirmDialog.vue' import DetailDialog from '@/components/DetailDialog.vue' import Sonner from '@/components/ui/sonner/Sonner.vue' - import { MissionType } from '@/types/game' - import type { BuildQueueItem, FleetMission } from '@/types/game' + import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle + } from '@/components/ui/alert-dialog' import { formatNumber, formatTime, getResourceColor } from '@/utils/format' import { Moon, @@ -289,175 +306,52 @@ Wrench, ChevronsLeft } from 'lucide-vue-next' - import * as gameLogic from '@/logic/gameLogic' - import * as planetLogic from '@/logic/planetLogic' import * as officerLogic from '@/logic/officerLogic' - import * as buildingValidation from '@/logic/buildingValidation' import * as resourceLogic from '@/logic/resourceLogic' - import * as researchValidation from '@/logic/researchValidation' - import * as fleetLogic from '@/logic/fleetLogic' - import * as shipLogic from '@/logic/shipLogic' - import pkg from '../package.json' + import { useGameLifecycle } from '@/composables/useGameLifecycle' + import { useMissionHandler } from '@/composables/useMissionHandler' + import { useNPCHandler } from '@/composables/useNPCHandler' + import { useQueueHandler } from '@/composables/useQueueHandler' + import { useGameUpdate } from '@/composables/useGameUpdate' import { migrateGameData } from '@/utils/migration' - - // 执行数据迁移(在 store 初始化之前) + import pkg from '../package.json' migrateGameData() - const gameStore = useGameStore() - const universeStore = useUniverseStore() const { isDark } = useTheme() const { t } = useI18n() - const confirmDialog = ref | null>(null) - + const confirmDialogOpen = ref(false) + const confirmDialogTitle = ref('') + const confirmDialogMessage = ref('') + const confirmDialogAction = ref<(() => void) | null>(null) // 所有可用的语言选项 const locales: Locale[] = ['zh-CN', 'zh-TW', 'en', 'de', 'ru', 'ko', 'ja'] // 侧边栏状态(不持久化,根据屏幕尺寸初始化) - // PC端(≥1024px)默认打开,移动端默认关闭 const sidebarOpen = ref(window.innerWidth >= 1024) - const initGame = async () => { - const shouldInit = gameLogic.shouldInitializeGame(gameStore.player.planets) - if (!shouldInit) { - const now = Date.now() + // 初始化 composables + const { initGame } = useGameLifecycle() - // 计算离线收益(直接同步计算) - const bonuses = officerLogic.calculateActiveBonuses(gameStore.player.officers, now) - gameStore.player.planets.forEach(planet => { - resourceLogic.updatePlanetResources(planet, now, bonuses) - }) + const { processMissionArrival, processMissionReturn } = useMissionHandler(t) - generateNPCPlanets() - return - } - gameStore.player = gameLogic.initializePlayer(gameStore.player.id, t('common.playerName')) - const initialPlanet = planetLogic.createInitialPlanet(gameStore.player.id, t('planet.homePlanet')) - gameStore.player.planets = [initialPlanet] - gameStore.currentPlanetId = initialPlanet.id - } + const { processNPCMissionArrival, processNPCMissionReturn, updateNPCGrowth, updateNPCBehavior } = useNPCHandler() - const generateNPCPlanets = () => { - const npcCount = 200 - for (let i = 0; i < npcCount; i++) { - const position = gameLogic.generateRandomPosition() - const key = gameLogic.generatePositionKey(position.galaxy, position.system, position.position) - if (universeStore.planets[key]) continue - const npcPlanet = planetLogic.createNPCPlanet(i, position, t('planet.planetPrefix')) - universeStore.planets[key] = npcPlanet - } - } + const { handleCancelBuild, handleCancelResearch, getItemName, getRemainingTime, getQueueProgress } = useQueueHandler( + t, + confirmDialogOpen, + confirmDialogTitle, + confirmDialogMessage, + confirmDialogAction + ) - const updateGame = () => { - if (gameStore.isPaused) return - const now = Date.now() - gameStore.gameTime = now - // 检查军官过期 - gameLogic.checkOfficersExpiration(gameStore.player.officers, now) - // 处理游戏更新(建造队列、研究队列等) - const result = gameLogic.processGameUpdate(gameStore.player, now) - gameStore.player.researchQueue = result.updatedResearchQueue - // 处理舰队任务 - gameStore.player.fleetMissions.forEach(mission => { - if (mission.status === 'outbound' && now >= mission.arrivalTime) { - processMissionArrival(mission) - } else if (mission.status === 'returning' && mission.returnTime && now >= mission.returnTime) { - processMissionReturn(mission) - } - }) - } - - const processMissionArrival = async (mission: FleetMission) => { - // 从宇宙星球地图中查找目标星球 - const targetKey = gameLogic.generatePositionKey( - mission.targetPosition.galaxy, - mission.targetPosition.system, - mission.targetPosition.position - ) - // 先从玩家星球中查找,再从宇宙地图中查找 - const targetPlanet = - gameStore.player.planets.find( - p => - p.position.galaxy === mission.targetPosition.galaxy && - p.position.system === mission.targetPosition.system && - p.position.position === mission.targetPosition.position - ) || universeStore.planets[targetKey] - - if (mission.missionType === MissionType.Transport) { - fleetLogic.processTransportArrival(mission, targetPlanet) - } else if (mission.missionType === MissionType.Attack) { - const attackResult = await fleetLogic.processAttackArrival(mission, targetPlanet, gameStore.player, null, gameStore.player.planets) - if (attackResult) { - gameStore.player.battleReports.push(attackResult.battleResult) - if (attackResult.moon) { - gameStore.player.planets.push(attackResult.moon) - } - if (attackResult.debrisField) { - // 将残骸场添加到游戏状态 - universeStore.debrisFields[attackResult.debrisField.id] = attackResult.debrisField - } - } - } else if (mission.missionType === MissionType.Colonize) { - const newPlanet = fleetLogic.processColonizeArrival(mission, targetPlanet, gameStore.player.id, t('planet.colonyPrefix')) - if (newPlanet) { - gameStore.player.planets.push(newPlanet) - } - } else if (mission.missionType === MissionType.Spy) { - const spyReport = fleetLogic.processSpyArrival(mission, targetPlanet, gameStore.player.id) - if (spyReport) gameStore.player.spyReports.push(spyReport) - } else if (mission.missionType === MissionType.Deploy) { - const deployed = fleetLogic.processDeployArrival(mission, targetPlanet, gameStore.player.id) - if (deployed) { - const missionIndex = gameStore.player.fleetMissions.indexOf(mission) - if (missionIndex > -1) gameStore.player.fleetMissions.splice(missionIndex, 1) - return - } - } else if (mission.missionType === MissionType.Recycle) { - // 处理回收任务 - const debrisId = `debris_${mission.targetPosition.galaxy}_${mission.targetPosition.system}_${mission.targetPosition.position}` - const debrisField = universeStore.debrisFields[debrisId] - const recycleResult = fleetLogic.processRecycleArrival(mission, debrisField) - if (recycleResult && debrisField) { - if (recycleResult.remainingDebris && (recycleResult.remainingDebris.metal > 0 || recycleResult.remainingDebris.crystal > 0)) { - // 更新残骸场 - universeStore.debrisFields[debrisId] = { - id: debrisField.id, - position: debrisField.position, - resources: recycleResult.remainingDebris, - createdAt: debrisField.createdAt, - expiresAt: debrisField.expiresAt - } - } else { - // 残骸场已被完全收集,删除 - delete universeStore.debrisFields[debrisId] - } - } - } else if (mission.missionType === MissionType.Destroy) { - // 处理行星毁灭任务 - const destroyResult = fleetLogic.processDestroyArrival(mission, targetPlanet, gameStore.player) - if (destroyResult && destroyResult.success && destroyResult.planetId) { - // 星球被摧毁 - // 从玩家星球列表中移除(如果是玩家的星球) - const planetIndex = gameStore.player.planets.findIndex(p => p.id === destroyResult.planetId) - if (planetIndex > -1) { - gameStore.player.planets.splice(planetIndex, 1) - } else { - // 不是玩家星球,从宇宙地图中移除 - delete universeStore.planets[targetKey] - } - - // TODO: 可以添加战斗报告或摧毁报告来通知玩家结果 - } - } - } - - const processMissionReturn = (mission: FleetMission) => { - const originPlanet = gameStore.player.planets.find(p => p.id === mission.originPlanetId) - if (!originPlanet) return - shipLogic.addFleet(originPlanet.fleet, mission.fleet) - resourceLogic.addResources(originPlanet.resources, mission.cargo) - const missionIndex = gameStore.player.fleetMissions.indexOf(mission) - if (missionIndex > -1) gameStore.player.fleetMissions.splice(missionIndex, 1) - } + const { updateGame } = useGameUpdate( + processMissionArrival, + processMissionReturn, + processNPCMissionArrival, + processNPCMissionReturn, + updateNPCGrowth, + updateNPCBehavior + ) // 游戏循环定时器 let gameLoop: ReturnType | null = null @@ -474,7 +368,7 @@ if (isFirstVisit) { gameStore.locale = detectBrowserLocale() } - await initGame() + await initGame(t('common.playerName'), t('planet.homePlanet'), t('planet.planetPrefix')) // 启动游戏循环 gameLoop = setInterval(() => { updateGame() @@ -561,71 +455,12 @@ sidebarOpen.value = !sidebarOpen.value } - // 获取队列项的名称 - const getItemName = (item: BuildQueueItem): string => { - if (item.type === 'building' || item.type === 'demolish') { - const buildingName = t(`buildings.${item.itemType}`) - return item.type === 'demolish' ? `${t('buildingsView.demolish')} - ${buildingName}` : buildingName - } else if (item.type === 'technology') { - return t(`technologies.${item.itemType}`) - } else if (item.type === 'ship') { - return t(`ships.${item.itemType}`) - } else if (item.type === 'defense') { - return t(`defenses.${item.itemType}`) + // 处理确认对话框的确认操作 + const handleConfirmAction = () => { + if (confirmDialogAction.value) { + confirmDialogAction.value() } - return item.itemType - } - - // 获取剩余时间 - const getRemainingTime = (item: BuildQueueItem): number => { - const now = Date.now() - return Math.max(0, Math.floor((item.endTime - now) / 1000)) - } - - // 获取队列进度 - const getQueueProgress = (item: BuildQueueItem): number => { - const now = Date.now() - const total = item.endTime - item.startTime - const elapsed = now - item.startTime - return Math.min(100, Math.max(0, (elapsed / total) * 100)) - } - - // 取消建造 - const handleCancelBuild = (queueId: string) => { - confirmDialog.value?.show({ - title: t('queue.cancelBuild'), - message: t('queue.confirmCancel'), - onConfirm: () => { - if (!gameStore.currentPlanet) return false - const { item, index } = buildingValidation.findQueueItem(gameStore.currentPlanet.buildQueue, queueId) - if (!item) return false - if (item.type === 'building') { - const refund = buildingValidation.cancelBuildingUpgrade(gameStore.currentPlanet, item) - resourceLogic.addResources(gameStore.currentPlanet.resources, refund) - } - gameStore.currentPlanet.buildQueue.splice(index, 1) - return true - } - }) - } - - // 取消研究 - const handleCancelResearch = (queueId: string) => { - confirmDialog.value?.show({ - title: t('queue.cancelResearch'), - message: t('queue.confirmCancel'), - onConfirm: () => { - if (!gameStore.currentPlanet) return false - const { item, index } = buildingValidation.findQueueItem(gameStore.player.researchQueue, queueId) - if (!item) return false - if (item.type === 'technology') { - const refund = researchValidation.cancelTechnologyResearch(item) - resourceLogic.addResources(gameStore.currentPlanet.resources, refund) - } - gameStore.player.researchQueue.splice(index, 1) - return true - } - }) + confirmDialogOpen.value = false } diff --git a/src/components/AlertDialog.vue b/src/components/AlertDialog.vue deleted file mode 100644 index 636d03b..0000000 --- a/src/components/AlertDialog.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/src/components/BattleReportDialog.vue b/src/components/BattleReportDialog.vue index 7b9c03d..535cd4e 100644 --- a/src/components/BattleReportDialog.vue +++ b/src/components/BattleReportDialog.vue @@ -1,15 +1,18 @@ @@ -270,7 +273,7 @@ import { useUniverseStore } from '@/stores/universeStore' import { useI18n } from '@/composables/useI18n' import { useGameConfig } from '@/composables/useGameConfig' - import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog' + import { Dialog, ScrollableDialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip' import ResourceIcon from '@/components/ResourceIcon.vue' diff --git a/src/components/CardUnlockOverlay.vue b/src/components/CardUnlockOverlay.vue index 6a3158a..95e3eba 100644 --- a/src/components/CardUnlockOverlay.vue +++ b/src/components/CardUnlockOverlay.vue @@ -13,7 +13,19 @@ - + + + + {{ requirementsDialogTitle }} + + {{ requirementsDialogMessage }} + + + + {{ t('common.confirm') }} + + + @@ -25,7 +37,15 @@ import { BuildingType, TechnologyType } from '@/types/game' import { Lock } from 'lucide-vue-next' import { Button } from '@/components/ui/button' - import AlertDialog from '@/components/AlertDialog.vue' + import { + AlertDialog, + AlertDialogAction, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle + } from '@/components/ui/alert-dialog' import * as publicLogic from '@/logic/publicLogic' interface Props { @@ -37,7 +57,11 @@ const gameStore = useGameStore() const { t } = useI18n() const { BUILDINGS, TECHNOLOGIES } = useGameConfig() - const requirementsDialog = ref | null>(null) + + // AlertDialog 状态 + const requirementsDialogOpen = ref(false) + const requirementsDialogTitle = ref('') + const requirementsDialogMessage = ref('') const isUnlocked = computed(() => { // 如果已经建造过(level > 0),则认为已解锁,不显示遮罩 @@ -72,9 +96,8 @@ } const showRequirements = () => { - requirementsDialog.value?.show({ - title: t('common.requirementsNotMet'), - message: getRequirementsList() - }) + requirementsDialogTitle.value = t('common.requirementsNotMet') + requirementsDialogMessage.value = getRequirementsList() + requirementsDialogOpen.value = true } diff --git a/src/components/ConfirmDialog.vue b/src/components/ConfirmDialog.vue deleted file mode 100644 index ae7d32f..0000000 --- a/src/components/ConfirmDialog.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/src/components/DetailDialog.vue b/src/components/DetailDialog.vue index 52cdc3e..59a3e17 100644 --- a/src/components/DetailDialog.vue +++ b/src/components/DetailDialog.vue @@ -1,81 +1,61 @@ diff --git a/src/views/GalaxyView.vue b/src/views/GalaxyView.vue index 4ec4758..5f14dad 100644 --- a/src/views/GalaxyView.vue +++ b/src/views/GalaxyView.vue @@ -8,12 +8,18 @@ {{ t('galaxyView.selectCoordinates') }} -

+
@@ -34,6 +40,7 @@
-
- +
+ + + + + + + +
+
+ {{ t('galaxyView.selectPlanetToView') }} +
+ +
+
+
+
+ +
+ + + + + + +
+
+ {{ t('galaxyView.selectPlanetToView') }} +
+ +
+
+
@@ -72,8 +164,32 @@ :key="slot.position" class="flex items-center gap-2 sm:gap-4 p-2 sm:p-3 border rounded-lg hover:bg-muted/50 transition-colors" :class="{ - 'bg-blue-50 dark:bg-blue-950 border-blue-300 dark:border-blue-700': isMyPlanet(slot.planet), - 'bg-muted/30': !slot.planet + // 空位置 + 'bg-muted/30': !slot.planet, + // 我的星球 - 蓝色 + 'bg-blue-50 dark:bg-blue-950 border-blue-300 dark:border-blue-700': slot.planet && isMyPlanet(slot.planet), + // 高亮NPC - 黄色 + 'bg-yellow-50 dark:bg-yellow-950/30 border-yellow-400 dark:border-yellow-600 ring-2 ring-yellow-400 dark:ring-yellow-500': + slot.planet && isHighlightedNpcPlanet(slot.planet) && !isMyPlanet(slot.planet), + // 友好NPC - 绿色 + 'bg-green-50 dark:bg-green-950/30 border-green-300 dark:border-green-700': + slot.planet && + !isMyPlanet(slot.planet) && + !isHighlightedNpcPlanet(slot.planet) && + getRelation(slot.planet)?.status === RelationStatus.Friendly, + // 敌对NPC - 红色 + 'bg-red-50 dark:bg-red-950/30 border-red-300 dark:border-red-700': + slot.planet && + !isMyPlanet(slot.planet) && + !isHighlightedNpcPlanet(slot.planet) && + getRelation(slot.planet)?.status === RelationStatus.Hostile, + // 中立NPC - 灰色 + 'bg-gray-50 dark:bg-gray-950/30 border-gray-300 dark:border-gray-700': + slot.planet && + !isMyPlanet(slot.planet) && + !isHighlightedNpcPlanet(slot.planet) && + getPlanetNPC(slot.planet) && + (!getRelation(slot.planet) || getRelation(slot.planet)?.status === RelationStatus.Neutral) }" > @@ -84,32 +200,104 @@
-
-

{{ slot.planet.name }}

- {{ t('galaxyView.mine') }} - {{ t('galaxyView.hostile') }} + +
+ +
+

{{ slot.planet.name }}

+ + [{{ slot.planet.position.galaxy }}:{{ slot.planet.position.system }}:{{ slot.planet.position.position }}] + +
+ +
+ {{ t('galaxyView.mine') }} + + {{ getRelationStatusText(slot.planet) }} + + + + + + + + + + +
+

{{ t('galaxyView.debrisField') }}

+
+
+ + {{ t('resources.metal') }}: + + {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.metal) }} + +
+
+ + {{ t('resources.crystal') }}: + + {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.crystal) }} + +
+
+
+
+
+
-

+ +

+ +
+ {{ t('diplomacy.reputation') }}: + + {{ getReputationValue(slot.planet)! > 0 ? '+' : '' }}{{ getReputationValue(slot.planet) }} + +
-
{{ t('galaxyView.emptySlot') }}
- - -
-
- {{ t('galaxyView.debrisField') }} -
-
- - {{ t('resources.metal') }}: - {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.metal) }} - - - {{ t('resources.crystal') }}: - {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.crystal) }} - -
+ +
+
{{ t('galaxyView.emptySlot') }}
+ + + + + + {{ t('galaxyView.debris') }} + + + +
+

{{ t('galaxyView.debrisField') }}

+
+
+ + {{ t('resources.metal') }}: + + {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.metal) }} + +
+
+ + {{ t('resources.crystal') }}: + + {{ formatNumber(getDebrisFieldAt(currentGalaxy, currentSystem, slot.position)!.resources.crystal) }} + +
+
+
+
+
@@ -136,6 +324,16 @@

{{ t('galaxyView.attack') }}

+ + + + + +

{{ t('galaxyView.sendGift') }}

+
+
@@ -174,44 +377,122 @@ - + + + + {{ alertDialogTitle }} + + {{ alertDialogMessage }} + + + + {{ t('common.cancel') }} + {{ t('common.confirm') }} + + +
diff --git a/src/views/MessagesView.vue b/src/views/MessagesView.vue index 4755d7b..57ba4c6 100644 --- a/src/views/MessagesView.vue +++ b/src/views/MessagesView.vue @@ -3,85 +3,293 @@

{{ t('messagesView.title') }}

-
- - -
+ + + + + {{ tab.label }} + + + - -
- - {{ t('messagesView.noBattleReports') }} - + + + + {{ t('messagesView.noBattleReports') }} + - - -
-
- - {{ t('messagesView.battleReport') }} - {{ t('messagesView.unread') }} - + +
+
+ + {{ t('messagesView.battleReport') }} + {{ t('messagesView.unread') }} + + {{ getBattleResultText(report) }} + +
+ +
+ + {{ formatDate(report.timestamp) }} + +
+ + + + + + + {{ t('messagesView.noSpyReports') }} + + + + + +
+
+ + {{ t('messagesView.spyReport') }} + {{ t('messagesView.unread') }} + {{ report.targetPlanetId }} +
+ +
+ + {{ formatDate(report.timestamp) }} + +
+
+ + + + +
+
+ + {{ t('messagesView.spiedNotification') }} + {{ t('messagesView.unread') }} + + {{ notification.detectionSuccess ? t('messagesView.detected') : t('messagesView.undetected') }} + +
+ +
+ + {{ notification.npcName }} → {{ notification.targetPlanetName }} · {{ formatDate(notification.timestamp) }} + +
+
+
+ + + + + {{ t('messagesView.noNPCActivity') }} + + + + + +
+
+ + {{ t('messagesView.npcRecycleActivity') }} + {{ t('messagesView.unread') }} +
+
- -
- - {{ formatDate(report.timestamp) }} - - - -
+ + {{ notification.npcName }} → + {{ + notification.targetPlanetName || + `[${notification.targetPosition.galaxy}:${notification.targetPosition.system}:${notification.targetPosition.position}]` + }} + · {{ formatDate(notification.timestamp) }} + +
+
- -
- - {{ t('messagesView.noSpyReports') }} - - - - -
-
- - {{ t('messagesView.spyReport') }} - {{ t('messagesView.unread') }} - {{ report.targetPlanetId }} + + + +
+
+ + {{ t('messagesView.giftFrom').replace('{npcName}', gift.fromNpcName) }} + {{ t('messagesView.unread') }} +
+
- -
- - {{ formatDate(report.timestamp) }} - - - -
+ {{ formatDate(gift.timestamp) }} +
+ +
+
+
{{ t('messagesView.giftResources') }}:
+
+
{{ t('resources.metal') }}: {{ gift.resources.metal.toLocaleString() }}
+
{{ t('resources.crystal') }}: {{ gift.resources.crystal.toLocaleString() }}
+
+ {{ t('resources.deuterium') }}: {{ gift.resources.deuterium.toLocaleString() }} +
+
+
+
+ {{ t('messagesView.expectedReputation') }}: + +{{ gift.expectedReputationGain }} +
+
+ + +
+
+
+
+ + + + +
+
+ + + {{ t('messagesView.giftRejectedBy').replace('{npcName}', rejection.npcName) }} + + {{ t('messagesView.unread') }} +
+ +
+ {{ formatDate(rejection.timestamp) }} +
+ +
+
+
{{ t('messagesView.rejectedResources') }}:
+
+
+ {{ t('resources.metal') }}: {{ rejection.rejectedResources.metal.toLocaleString() }} +
+
+ {{ t('resources.crystal') }}: {{ rejection.rejectedResources.crystal.toLocaleString() }} +
+
+ {{ t('resources.deuterium') }}: {{ rejection.rejectedResources.deuterium.toLocaleString() }} +
+
+
+
+ {{ t('messagesView.currentReputation') }}: + {{ rejection.currentReputation }} +
+
+ {{ t('messagesView.rejectionReason.' + rejection.reason) }} +
+
+
+
+ + + + + + {{ t('messagesView.noMissionReports') }} + + + + +
+
+ + {{ getMissionTypeName(report.missionType) }} + {{ t('messagesView.unread') }} + + {{ report.success ? t('messagesView.success') : t('messagesView.failed') }} + +
+ +
+ + {{ report.originPlanetName }} → + {{ + report.targetPlanetName || + `[${report.targetPosition.galaxy}:${report.targetPosition.system}:${report.targetPosition.position}]` + }} + · {{ formatDate(report.timestamp) }} + +
+
+
+ @@ -96,17 +304,30 @@ import { useI18n } from '@/composables/useI18n' import { computed, ref } from 'vue' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' + import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' import BattleReportDialog from '@/components/BattleReportDialog.vue' import SpyReportDialog from '@/components/SpyReportDialog.vue' import { formatDate } from '@/utils/format' - import { X, Sword, Eye } from 'lucide-vue-next' - import type { BattleResult, SpyReport } from '@/types/game' + import { X, Sword, Eye, AlertTriangle, Package, Recycle, Gift, Ban, Check, Users } from 'lucide-vue-next' + import type { + BattleResult, + SpyReport, + SpiedNotification, + NPCActivityNotification, + MissionReport, + GiftNotification, + GiftRejectedNotification + } from '@/types/game' + import { MissionType } from '@/types/game' + import { useNPCStore } from '@/stores/npcStore' + import * as diplomaticLogic from '@/logic/diplomaticLogic' const gameStore = useGameStore() + const npcStore = useNPCStore() const { t } = useI18n() - const activeTab = ref<'battles' | 'spy'>('battles') + const activeTab = ref<'battles' | 'spy' | 'missions' | 'npc'>('battles') // 对话框状态 const showBattleDialog = ref(false) @@ -124,6 +345,30 @@ return [...gameStore.player.spyReports].sort((a, b) => b.timestamp - a.timestamp) }) + // 排序后的被侦查通知(最新的在前) + const sortedSpiedNotifications = computed(() => { + if (!gameStore.player.spiedNotifications) { + return [] + } + return [...gameStore.player.spiedNotifications].sort((a, b) => b.timestamp - a.timestamp) + }) + + // 排序后的任务报告(最新的在前) + const sortedMissionReports = computed(() => { + if (!gameStore.player.missionReports) { + return [] + } + return [...gameStore.player.missionReports].sort((a, b) => b.timestamp - a.timestamp) + }) + + // 排序后的NPC活动通知(最新的在前) + const sortedNPCActivityNotifications = computed(() => { + if (!gameStore.player.npcActivityNotifications) { + return [] + } + return [...gameStore.player.npcActivityNotifications].sort((a, b) => b.timestamp - a.timestamp) + }) + // 未读战斗报告数量 const unreadBattles = computed(() => { return gameStore.player.battleReports.filter(r => !r.read).length @@ -134,6 +379,126 @@ return gameStore.player.spyReports.filter(r => !r.read).length }) + // 未读被侦查通知数量 + const unreadSpiedNotifications = computed(() => { + if (!gameStore.player.spiedNotifications) { + return 0 + } + return gameStore.player.spiedNotifications.filter(n => !n.read).length + }) + + // 未读NPC活动通知数量 + const unreadNPCActivity = computed(() => { + if (!gameStore.player.npcActivityNotifications) { + return 0 + } + return gameStore.player.npcActivityNotifications.filter(n => !n.read).length + }) + + // 未读任务报告数量 + const unreadMissionReports = computed(() => { + if (!gameStore.player.missionReports) { + return 0 + } + return gameStore.player.missionReports.filter(r => !r.read).length + }) + + // 未读礼物通知数量 + const unreadGiftNotifications = computed(() => { + if (!gameStore.player.giftNotifications) { + return 0 + } + return gameStore.player.giftNotifications.filter(n => !n.read).length + }) + + // 未读礼物被拒绝通知数量 + const unreadGiftRejected = computed(() => { + if (!gameStore.player.giftRejectedNotifications) { + return 0 + } + return gameStore.player.giftRejectedNotifications.filter(n => !n.read).length + }) + + // 合并:侦查相关未读总数(侦查报告 + 被侦查通知) + const unreadSpyTotal = computed(() => { + return unreadSpyReports.value + unreadSpiedNotifications.value + }) + + // 合并:NPC相关未读总数(NPC活动 + 礼物通知 + 礼物被拒绝) + const unreadNPCTotal = computed(() => { + return unreadNPCActivity.value + unreadGiftNotifications.value + unreadGiftRejected.value + }) + + // 标签页配置 + const tabs = computed(() => [ + { + value: 'battles', + icon: Sword, + label: t('messagesView.battles'), + unreadCount: unreadBattles.value + }, + { + value: 'spy', + icon: Eye, + label: t('messagesView.spy'), + unreadCount: unreadSpyTotal.value + }, + { + value: 'missions', + icon: Package, + label: t('messagesView.missions'), + unreadCount: unreadMissionReports.value + }, + { + value: 'npc', + icon: Users, + label: t('messagesView.npc'), + unreadCount: unreadNPCTotal.value + } + ]) + + // 排序后的礼物通知(最新的在前) + const sortedGiftNotifications = computed(() => { + if (!gameStore.player.giftNotifications) { + return [] + } + return [...gameStore.player.giftNotifications].sort((a, b) => b.timestamp - a.timestamp) + }) + + // 排序后的礼物被拒绝通知(最新的在前) + const sortedGiftRejectedNotifications = computed(() => { + if (!gameStore.player.giftRejectedNotifications) { + return [] + } + return [...gameStore.player.giftRejectedNotifications].sort((a, b) => b.timestamp - a.timestamp) + }) + + // 判断战斗结果Badge颜色 + const getBattleResultVariant = (report: BattleResult): 'default' | 'destructive' | 'secondary' => { + if (report.winner === 'draw') { + return 'secondary' + } + + // 判断玩家是攻击方还是防守方 + const isPlayerAttacker = report.attackerId === gameStore.player.id + const playerWon = isPlayerAttacker ? report.winner === 'attacker' : report.winner === 'defender' + + return playerWon ? 'default' : 'destructive' + } + + // 获取战斗结果文本 + const getBattleResultText = (report: BattleResult): string => { + if (report.winner === 'draw') { + return t('messagesView.draw') + } + + // 判断玩家是攻击方还是防守方 + const isPlayerAttacker = report.attackerId === gameStore.player.id + const playerWon = isPlayerAttacker ? report.winner === 'attacker' : report.winner === 'defender' + + return playerWon ? t('messagesView.victory') : t('messagesView.defeat') + } + // 打开战斗报告 const openBattleReport = (report: BattleResult) => { selectedBattleReport.value = report @@ -154,6 +519,14 @@ } } + // 打开被侦查通知 + const openSpiedNotification = (notification: SpiedNotification) => { + // 标记为已读 + if (!notification.read) { + notification.read = true + } + } + // 删除战斗报告 const deleteBattleReport = (reportId: string) => { const index = gameStore.player.battleReports.findIndex(r => r.id === reportId) @@ -169,4 +542,117 @@ gameStore.player.spyReports.splice(index, 1) } } + + // 删除被侦查通知 + const deleteSpiedNotification = (notificationId: string) => { + if (!gameStore.player.spiedNotifications) { + return + } + const index = gameStore.player.spiedNotifications.findIndex(n => n.id === notificationId) + if (index > -1) { + gameStore.player.spiedNotifications.splice(index, 1) + } + } + + // 打开NPC活动通知 + const openNPCActivityNotification = (notification: NPCActivityNotification) => { + // 标记为已读 + if (!notification.read) { + notification.read = true + } + } + + // 删除NPC活动通知 + const deleteNPCActivityNotification = (notificationId: string) => { + if (!gameStore.player.npcActivityNotifications) { + return + } + const index = gameStore.player.npcActivityNotifications.findIndex(n => n.id === notificationId) + if (index > -1) { + gameStore.player.npcActivityNotifications.splice(index, 1) + } + } + + // 获取任务类型名称 + const getMissionTypeName = (missionType: string): string => { + const typeMap: Record = { + [MissionType.Transport]: t('fleetView.transport'), + [MissionType.Colonize]: t('fleetView.colonize'), + [MissionType.Deploy]: t('fleetView.deploy'), + [MissionType.Recycle]: t('fleetView.recycle'), + [MissionType.Destroy]: t('fleetView.destroy') + } + return typeMap[missionType] || missionType + } + + // 打开任务报告 + const openMissionReport = (report: MissionReport) => { + // 标记为已读 + if (!report.read) { + report.read = true + } + } + + // 删除任务报告 + const deleteMissionReport = (reportId: string) => { + if (!gameStore.player.missionReports) { + return + } + const index = gameStore.player.missionReports.findIndex(r => r.id === reportId) + if (index > -1) { + gameStore.player.missionReports.splice(index, 1) + } + } + + // 标记礼物通知为已读 + const markGiftAsRead = (gift: GiftNotification) => { + if (!gift.read) { + gift.read = true + } + } + + // 接受礼物 + const acceptGift = (gift: GiftNotification) => { + const npc = npcStore.npcs.find(n => n.id === gift.fromNpcId) + if (npc) { + diplomaticLogic.acceptNPCGift(gameStore.player, npc, gift) + } + } + + // 拒绝礼物 + const rejectGift = (gift: GiftNotification) => { + const npc = npcStore.npcs.find(n => n.id === gift.fromNpcId) + if (npc) { + diplomaticLogic.rejectNPCGift(gameStore.player, npc, gift) + } + } + + // 删除礼物通知 + const deleteGiftNotification = (giftId: string) => { + if (!gameStore.player.giftNotifications) { + return + } + const index = gameStore.player.giftNotifications.findIndex(g => g.id === giftId) + if (index > -1) { + gameStore.player.giftNotifications.splice(index, 1) + } + } + + // 标记礼物被拒绝通知为已读 + const markGiftRejectedAsRead = (rejection: GiftRejectedNotification) => { + if (!rejection.read) { + rejection.read = true + } + } + + // 删除礼物被拒绝通知 + const deleteGiftRejectedNotification = (rejectionId: string) => { + if (!gameStore.player.giftRejectedNotifications) { + return + } + const index = gameStore.player.giftRejectedNotifications.findIndex(r => r.id === rejectionId) + if (index > -1) { + gameStore.player.giftRejectedNotifications.splice(index, 1) + } + } diff --git a/src/views/OfficersView.vue b/src/views/OfficersView.vue index 3262512..28cca7d 100644 --- a/src/views/OfficersView.vue +++ b/src/views/OfficersView.vue @@ -5,14 +5,18 @@
-
-
- {{ OFFICERS[officerType].name }} - {{ OFFICERS[officerType].description }} +
+
+ {{ OFFICERS[officerType].name }} + + {{ t('officersView.activated') }} + + + {{ t('officersView.inactive') }} +
- {{ t('officersView.activated') }} - {{ t('officersView.inactive') }}
+ {{ OFFICERS[officerType].description }} @@ -30,44 +34,21 @@

{{ t('officersView.recruitCost') }} (7{{ t('officersView.days') }}):

-
- - {{ t('resources.metal') }}: +
+ + {{ t(`resources.${resourceType.key}`) }}: - {{ formatNumber(OFFICERS[officerType].cost.metal) }} - -
-
- - {{ t('resources.crystal') }}: - - {{ formatNumber(OFFICERS[officerType].cost.crystal) }} - -
-
- - {{ t('resources.deuterium') }}: - - {{ formatNumber(OFFICERS[officerType].cost.deuterium) }} - -
-
- - {{ t('resources.darkMatter') }}: - - {{ formatNumber(OFFICERS[officerType].cost.darkMatter) }} + {{ formatNumber(OFFICERS[officerType].cost[resourceType.key]) }}
@@ -121,14 +102,19 @@
-
- - -
@@ -136,9 +122,36 @@
+ + + + + {{ alertDialogTitle }} + + {{ alertDialogMessage }} + + + + {{ t('common.confirm') }} + + + + - - + + + + {{ confirmDialogTitle }} + + {{ confirmDialogMessage }} + + + + {{ t('common.cancel') }} + {{ t('common.confirm') }} + + +
@@ -150,8 +163,16 @@ import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' import ResourceIcon from '@/components/ResourceIcon.vue' - import AlertDialog from '@/components/AlertDialog.vue' - import ConfirmDialog from '@/components/ConfirmDialog.vue' + import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle + } from '@/components/ui/alert-dialog' import { formatNumber, formatTime, formatDate, getResourceCostColor } from '@/utils/format' import * as officerLogic from '@/logic/officerLogic' import * as resourceLogic from '@/logic/resourceLogic' @@ -162,8 +183,32 @@ const { OFFICERS } = useGameConfig() const gameStore = useGameStore() const planet = computed(() => gameStore.currentPlanet) - const alertDialog = ref | null>(null) - const confirmDialog = ref | null>(null) + + // AlertDialog 状态 + const alertDialogOpen = ref(false) + const alertDialogTitle = ref('') + const alertDialogMessage = ref('') + + // ConfirmDialog 状态 + const confirmDialogOpen = ref(false) + const confirmDialogTitle = ref('') + const confirmDialogMessage = ref('') + const confirmDialogAction = ref<(() => void) | null>(null) + + const handleConfirmDialogConfirm = () => { + if (confirmDialogAction.value) { + confirmDialogAction.value() + } + confirmDialogOpen.value = false + } + + // 资源类型配置(用于成本显示) + const costResourceTypes = [ + { key: 'metal' as const }, + { key: 'crystal' as const }, + { key: 'deuterium' as const }, + { key: 'darkMatter' as const } + ] // 检查军官是否激活 const isOfficerActive = (officerType: OfficerType): boolean => { @@ -212,19 +257,17 @@ // 招募军官 const handleHire = (officerType: OfficerType) => { - confirmDialog.value?.show({ - title: t('officersView.hireTitle'), - message: t('officersView.hireMessage').replace('{name}', OFFICERS.value[officerType].name), - onConfirm: () => { - const success = hireOfficer(officerType, 7) - if (!success) { - alertDialog.value?.show({ - title: t('officersView.hireFailed'), - message: t('officersView.insufficientResources') - }) - } + confirmDialogTitle.value = t('officersView.hireTitle') + confirmDialogMessage.value = t('officersView.hireMessage').replace('{name}', OFFICERS.value[officerType].name) + confirmDialogAction.value = () => { + const success = hireOfficer(officerType, 7) + if (!success) { + alertDialogTitle.value = t('officersView.hireFailed') + alertDialogMessage.value = t('officersView.insufficientResources') + alertDialogOpen.value = true } - }) + } + confirmDialogOpen.value = true } const renewOfficer = (officerType: OfficerType, duration: number = 7): boolean => { @@ -241,29 +284,26 @@ // 续约军官 const handleRenew = (officerType: OfficerType) => { - confirmDialog.value?.show({ - title: t('officersView.renewTitle'), - message: t('officersView.renewMessage').replace('{name}', OFFICERS.value[officerType].name), - onConfirm: () => { - const success = renewOfficer(officerType, 7) - if (!success) { - alertDialog.value?.show({ - title: t('officersView.renewFailed'), - message: t('officersView.insufficientResources') - }) - } + confirmDialogTitle.value = t('officersView.renewTitle') + confirmDialogMessage.value = t('officersView.renewMessage').replace('{name}', OFFICERS.value[officerType].name) + confirmDialogAction.value = () => { + const success = renewOfficer(officerType, 7) + if (!success) { + alertDialogTitle.value = t('officersView.renewFailed') + alertDialogMessage.value = t('officersView.insufficientResources') + alertDialogOpen.value = true } - }) + } + confirmDialogOpen.value = true } // 解雇军官 const handleDismiss = (officerType: OfficerType): void => { - confirmDialog.value?.show({ - title: t('officersView.dismissTitle'), - message: t('officersView.dismissMessage').replace('{name}', OFFICERS.value[officerType].name), - onConfirm: () => { - gameStore.player.officers[officerType] = officerLogic.createInactiveOfficer(officerType) - } - }) + confirmDialogTitle.value = t('officersView.dismissTitle') + confirmDialogMessage.value = t('officersView.dismissMessage').replace('{name}', OFFICERS.value[officerType].name) + confirmDialogAction.value = () => { + gameStore.player.officers[officerType] = officerLogic.createInactiveOfficer(officerType) + } + confirmDialogOpen.value = true } diff --git a/src/views/OverviewView.vue b/src/views/OverviewView.vue index 730b0c3..614bdd2 100644 --- a/src/views/OverviewView.vue +++ b/src/views/OverviewView.vue @@ -21,160 +21,153 @@
- + {{ t('overview.resourceOverview') }} - - - - {{ t('common.resourceType') }} - {{ t('resources.current') }} - {{ t('resources.max') }} - {{ t('resources.production') }}{{ t('resources.perHour') }} - {{ t('resources.consumption') }}{{ t('resources.perHour') }} - - - - - -
+ + + 概览 + 产量详情 + 消耗详情 + + + + +
+ + + {{ t('common.resourceType') }} + {{ t('resources.current') }} + {{ t('resources.max') }} + {{ t('resources.production') }}{{ t('resources.perHour') }} + {{ t('resources.consumption') }}{{ t('resources.perHour') }} + + + + + +
+ + {{ t(`resources.${resourceType.key}`) }} +
+
+ + {{ formatNumber(planet.resources[resourceType.key]) }} + + + {{ formatNumber(capacity?.[resourceType.key] || 0) }} + + + +{{ formatNumber(production?.[resourceType.key] || 0) }} + + + + + +
+
+
+ + + + +
+
+
- {{ t(`resources.${resourceType.key}`) }} + {{ t(`resources.${resourceType.key}`) }}
- - - + + + + + + + +
+ + {{ t(bonus.name) }} ({{ bonus.percentage > 0 ? '+' : '' }}{{ bonus.percentage }}%) + + + {{ bonus.value > 0 ? '+' : '' }}{{ formatNumber(Math.floor(bonus.value)) }}/{{ t('resources.hour') }} + +
+ + +
+ {{ t('overview.totalProduction') }} + + +{{ formatNumber(Math.floor(productionBreakdown[resourceType.key].finalProduction)) }}/{{ t('resources.hour') }} + +
+
+
+
+
+ + + +
+ +
- {{ formatNumber(planet.resources[resourceType.key]) }} - - - {{ formatNumber(capacity?.[resourceType.key] || 0) }} - - - +{{ formatNumber(production?.[resourceType.key] || 0) }} - - - - - - - - - - - - - - - {{ t('overview.productionSources') }} - {{ t('overview.productionSourcesDesc') }} - - -
-
-
- - {{ t(`resources.${resourceType.key}`) }} -
- -
- -
- - {{ t(productionBreakdown[resourceType.key].buildingName) }} - ({{ t('common.level') }} {{ productionBreakdown[resourceType.key].buildingLevel }}) + + {{ t(consumptionBreakdown[consumptionType.key].buildingName) }} + ({{ t('common.level') }} {{ consumptionBreakdown[consumptionType.key].buildingLevel }}) - - +{{ formatNumber(Math.floor(productionBreakdown[resourceType.key].baseProduction)) }}/{{ t('resources.hour') }} + + -{{ formatNumber(Math.floor(consumptionBreakdown[consumptionType.key].consumption)) }}/{{ t('resources.hour') }}
- -
- - {{ t(bonus.name) }} - - - {{ bonus.value > 0 ? '+' : '' }}{{ bonus.value }}% + +
+ {{ t('overview.totalConsumption') }} + + -{{ formatNumber(Math.floor(consumptionBreakdown.total)) }}/{{ t('resources.hour') }}
- -
- {{ t('overview.totalProduction') }} - - +{{ formatNumber(Math.floor(productionBreakdown[resourceType.key].finalProduction)) }}/{{ t('resources.hour') }} - + +
+ {{ t('overview.noConsumption') }}
-
-
- - - - - - - {{ t('overview.consumptionSources') }} - {{ t('overview.consumptionSourcesDesc') }} - - -
- -
- - {{ t(consumptionBreakdown.metalMine.buildingName) }} - ({{ t('common.level') }} {{ consumptionBreakdown.metalMine.buildingLevel }}) - - - -{{ formatNumber(Math.floor(consumptionBreakdown.metalMine.consumption)) }}/{{ t('resources.hour') }} - -
- - -
- - {{ t(consumptionBreakdown.crystalMine.buildingName) }} - ({{ t('common.level') }} {{ consumptionBreakdown.crystalMine.buildingLevel }}) - - - -{{ formatNumber(Math.floor(consumptionBreakdown.crystalMine.consumption)) }}/{{ t('resources.hour') }} - -
- - -
- - {{ t(consumptionBreakdown.deuteriumSynthesizer.buildingName) }} - ({{ t('common.level') }} {{ consumptionBreakdown.deuteriumSynthesizer.buildingLevel }}) - - - -{{ formatNumber(Math.floor(consumptionBreakdown.deuteriumSynthesizer.consumption)) }}/{{ t('resources.hour') }} - -
- - -
- {{ t('overview.totalConsumption') }} - - -{{ formatNumber(Math.floor(consumptionBreakdown.total)) }}/{{ t('resources.hour') }} - -
- - -
- {{ t('overview.noConsumption') }} -
-
+ +
@@ -202,6 +195,7 @@ import { useGameConfig } from '@/composables/useGameConfig' import { computed } from 'vue' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' + import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' @@ -210,7 +204,6 @@ import type { Planet } from '@/types/game' import * as publicLogic from '@/logic/publicLogic' import * as resourceLogic from '@/logic/resourceLogic' - import * as officerLogic from '@/logic/officerLogic' const gameStore = useGameStore() const { t } = useI18n() @@ -228,8 +221,7 @@ // 资源产量详细breakdown const productionBreakdown = computed(() => { if (!planet.value) return null - const bonuses = officerLogic.calculateActiveBonuses(gameStore.player.officers, Date.now()) - return resourceLogic.calculateProductionBreakdown(planet.value, bonuses) + return resourceLogic.calculateProductionBreakdown(planet.value, gameStore.player.officers, Date.now()) }) // 资源消耗详细breakdown @@ -243,10 +235,13 @@ { key: 'metal' as const }, { key: 'crystal' as const }, { key: 'deuterium' as const }, - { key: 'darkMatter' as const }, - { key: 'energy' as const } + { key: 'energy' as const }, + { key: 'darkMatter' as const } ] + // 消耗类型配置 + const consumptionTypes = [{ key: 'metalMine' as const }, { key: 'crystalMine' as const }, { key: 'deuteriumSynthesizer' as const }] + // 月球相关 const moon = computed(() => { if (!planet.value || planet.value.isMoon) return null diff --git a/src/views/ResearchView.vue b/src/views/ResearchView.vue index b3c17f6..96343bf 100644 --- a/src/views/ResearchView.vue +++ b/src/views/ResearchView.vue @@ -9,54 +9,44 @@ -
-
+
+
{{ TECHNOLOGIES[techType].name }} - {{ TECHNOLOGIES[techType].description }} + + Lv {{ getTechLevel(techType) }} +
- Lv {{ getTechLevel(techType) }}
+ {{ TECHNOLOGIES[techType].description }}

{{ t('researchView.researchCost') }}:

-
- - {{ t('resources.metal') }}: - - {{ formatNumber(getTechnologyCost(techType, getTechLevel(techType) + 1).metal) }} - -
-
- - {{ t('resources.crystal') }}: - - {{ formatNumber(getTechnologyCost(techType, getTechLevel(techType) + 1).crystal) }} - -
-
- - {{ t('resources.deuterium') }}: +
+ + {{ t(`resources.${resourceType.key}`) }}: - {{ formatNumber(getTechnologyCost(techType, getTechLevel(techType) + 1).deuterium) }} + {{ formatNumber(getTechnologyCost(techType, getTechLevel(techType) + 1)[resourceType.key]) }}
@@ -71,7 +61,19 @@
- + + + + {{ alertDialogTitle }} + + {{ alertDialogMessage }} + + + + {{ t('common.confirm') }} + + +
@@ -87,7 +89,15 @@ import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' import ResourceIcon from '@/components/ResourceIcon.vue' - import AlertDialog from '@/components/AlertDialog.vue' + import { + AlertDialog, + AlertDialogAction, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle + } from '@/components/ui/alert-dialog' import UnlockRequirement from '@/components/UnlockRequirement.vue' import CardUnlockOverlay from '@/components/CardUnlockOverlay.vue' import { formatNumber, getResourceCostColor } from '@/utils/format' @@ -101,7 +111,19 @@ const { TECHNOLOGIES, BUILDINGS } = useGameConfig() const planet = computed(() => gameStore.currentPlanet) const player = computed(() => gameStore.player) - const alertDialog = ref | null>(null) + + // AlertDialog 状态 + const alertDialogOpen = ref(false) + const alertDialogTitle = ref('') + const alertDialogMessage = ref('') + + // 资源类型配置(用于成本显示) + const costResourceTypes = [ + { key: 'metal' as const }, + { key: 'crystal' as const }, + { key: 'deuterium' as const }, + { key: 'darkMatter' as const } + ] const researchTechnology = (techType: TechnologyType): boolean => { if (!gameStore.currentPlanet) return false @@ -117,7 +139,8 @@ gameStore.currentPlanet, techType, currentLevel, - gameStore.player.officers + gameStore.player.officers, + gameStore.player.technologies ) gameStore.player.researchQueue.push(queueItem) return true @@ -149,7 +172,11 @@ return t('researchView.maxLevelReached') // "等级已满" } - if (player.value.researchQueue.length > 0) return t('researchView.research') + // 检查研究队列是否已满 + const maxQueue = publicLogic.getMaxResearchQueue(gameStore.player.technologies) + if (player.value.researchQueue.length >= maxQueue) { + return t('researchView.research') + } // 检查前置条件 if (!checkUpgradeRequirements(techType)) { @@ -196,19 +223,17 @@ const handleResearch = (techType: TechnologyType) => { // 检查前置条件 if (!checkUpgradeRequirements(techType)) { - alertDialog.value?.show({ - title: t('common.requirementsNotMet'), - message: getRequirementsList(techType) - }) + alertDialogTitle.value = t('common.requirementsNotMet') + alertDialogMessage.value = getRequirementsList(techType) + alertDialogOpen.value = true return } const success = researchTechnology(techType) if (!success) { - alertDialog.value?.show({ - title: t('researchView.researchFailed'), - message: t('researchView.researchFailedMessage') - }) + alertDialogTitle.value = t('researchView.researchFailed') + alertDialogMessage.value = t('researchView.researchFailedMessage') + alertDialogOpen.value = true } } @@ -229,7 +254,11 @@ return false } - if (player.value.researchQueue.length > 0) return false + // 检查研究队列是否已满 + const maxQueue = publicLogic.getMaxResearchQueue(gameStore.player.technologies) + if (player.value.researchQueue.length >= maxQueue) { + return false + } const cost = getTechnologyCost(techType, currentLevel + 1) @@ -237,7 +266,8 @@ publicLogic.checkRequirements(planet.value, gameStore.player.technologies, config.requirements) && planet.value.resources.metal >= cost.metal && planet.value.resources.crystal >= cost.crystal && - planet.value.resources.deuterium >= cost.deuterium + planet.value.resources.deuterium >= cost.deuterium && + planet.value.resources.darkMatter >= cost.darkMatter ) } diff --git a/src/views/SettingsView.vue b/src/views/SettingsView.vue index 706e200..a48efdf 100644 --- a/src/views/SettingsView.vue +++ b/src/views/SettingsView.vue @@ -164,7 +164,7 @@ let confirmCallback: (() => void) | null = null const openGithub = () => { - window.open(`https://github.com/${pkg.author}/${pkg.name}`, '_blank') + window.open(`https://github.com/${pkg.author.name}/${pkg.name}`, '_blank') } const openQQGroup = () => { @@ -180,6 +180,8 @@ const gameData = localStorage.getItem(pkg.name) // 获取地图数据 const universeData = localStorage.getItem(`${pkg.name}-universe`) + // 获取npc数据 + const npcData = localStorage.getItem(`${pkg.name}-npcs`) if (!gameData) { toast.error(t('settings.exportFailed')) @@ -189,6 +191,7 @@ // 合并数据 const exportData = { game: gameData, + npcs: npcData, universe: universeData || null } @@ -247,6 +250,10 @@ localStorage.setItem(`${pkg.name}-universe`, importData.universe) } + if (importData.npcs) { + localStorage.setItem(`${pkg.name}-npcs`, importData.npcs) + } + toast.success(t('settings.importSuccess')) // 延迟刷新页面以让toast显示 setTimeout(() => window.location.reload(), 1000) diff --git a/src/views/ShipyardView.vue b/src/views/ShipyardView.vue index 86814c7..b493b8b 100644 --- a/src/views/ShipyardView.vue +++ b/src/views/ShipyardView.vue @@ -23,7 +23,7 @@ class="h-full transition-all duration-300" :class="fleetStorageUsage > maxFleetStorage ? 'bg-destructive' : 'bg-primary'" :style="{ width: `${Math.min((fleetStorageUsage / maxFleetStorage) * 100, 100)}%` }" - >
+ />
@@ -31,9 +31,9 @@
- + {{ SHIPS[shipType].name }} @@ -64,34 +64,19 @@

{{ t('shipyardView.unitCost') }}:

-
- - {{ t('resources.metal') }}: +
+ + {{ t(`resources.${resourceType.key}`) }}: - {{ formatNumber(SHIPS[shipType].cost.metal) }} - -
-
- - {{ t('resources.crystal') }}: - - {{ formatNumber(SHIPS[shipType].cost.crystal) }} - -
-
- - {{ t('resources.deuterium') }}: - - {{ formatNumber(SHIPS[shipType].cost.deuterium) }} + {{ formatNumber(SHIPS[shipType].cost[resourceType.key]) }}
@@ -112,34 +97,19 @@

{{ t('shipyardView.totalCost') }}:

-
- - {{ t('resources.metal') }}: +
+ + {{ t(`resources.${resourceType.key}`) }}: - {{ formatNumber(getTotalCost(shipType).metal) }} - -
-
- - {{ t('resources.crystal') }}: - - {{ formatNumber(getTotalCost(shipType).crystal) }} - -
-
- - {{ t('resources.deuterium') }}: - - {{ formatNumber(getTotalCost(shipType).deuterium) }} + {{ formatNumber(getTotalCost(shipType)[resourceType.key]) }}
@@ -152,7 +122,19 @@
- + + + + {{ alertDialogTitle }} + + {{ alertDialogMessage }} + + + + {{ t('common.confirm') }} + + +
@@ -168,7 +150,15 @@ import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import ResourceIcon from '@/components/ResourceIcon.vue' - import AlertDialog from '@/components/AlertDialog.vue' + import { + AlertDialog, + AlertDialogAction, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle + } from '@/components/ui/alert-dialog' import UnlockRequirement from '@/components/UnlockRequirement.vue' import CardUnlockOverlay from '@/components/CardUnlockOverlay.vue' import { formatNumber, getResourceCostColor } from '@/utils/format' @@ -181,7 +171,19 @@ const { t } = useI18n() const { SHIPS } = useGameConfig() const planet = computed(() => gameStore.currentPlanet) - const alertDialog = ref | null>(null) + + // AlertDialog 状态 + const alertDialogOpen = ref(false) + const alertDialogTitle = ref('') + const alertDialogMessage = ref('') + + // 资源类型配置(用于成本显示) + const costResourceTypes = [ + { key: 'metal' as const }, + { key: 'crystal' as const }, + { key: 'deuterium' as const }, + { key: 'darkMatter' as const } + ] // 舰队仓储使用量 const fleetStorageUsage = computed(() => { @@ -201,11 +203,15 @@ [ShipType.HeavyFighter]: 0, [ShipType.Cruiser]: 0, [ShipType.Battleship]: 0, + [ShipType.Battlecruiser]: 0, + [ShipType.Bomber]: 0, + [ShipType.Destroyer]: 0, [ShipType.SmallCargo]: 0, [ShipType.LargeCargo]: 0, [ShipType.ColonyShip]: 0, [ShipType.Recycler]: 0, [ShipType.EspionageProbe]: 0, + [ShipType.SolarSatellite]: 0, [ShipType.DarkMatterHarvester]: 0, [ShipType.Deathstar]: 0 }) @@ -223,19 +229,17 @@ const handleBuild = (shipType: ShipType) => { const quantity = quantities.value[shipType] if (quantity <= 0) { - alertDialog.value?.show({ - title: t('shipyardView.inputError'), - message: t('shipyardView.inputErrorMessage') - }) + alertDialogTitle.value = t('shipyardView.inputError') + alertDialogMessage.value = t('shipyardView.inputErrorMessage') + alertDialogOpen.value = true return } const success = buildShip(shipType, quantity) if (!success) { - alertDialog.value?.show({ - title: t('shipyardView.buildFailed'), - message: t('shipyardView.buildFailedMessage') - }) + alertDialogTitle.value = t('shipyardView.buildFailed') + alertDialogMessage.value = t('shipyardView.buildFailedMessage') + alertDialogOpen.value = true } else { quantities.value[shipType] = 0 } @@ -252,14 +256,16 @@ const totalCost = { metal: config.cost.metal * quantity, crystal: config.cost.crystal * quantity, - deuterium: config.cost.deuterium * quantity + deuterium: config.cost.deuterium * quantity, + darkMatter: config.cost.darkMatter * quantity } return ( publicLogic.checkRequirements(planet.value, gameStore.player.technologies, config.requirements) && planet.value.resources.metal >= totalCost.metal && planet.value.resources.crystal >= totalCost.crystal && - planet.value.resources.deuterium >= totalCost.deuterium + planet.value.resources.deuterium >= totalCost.deuterium && + planet.value.resources.darkMatter >= totalCost.darkMatter ) } @@ -270,7 +276,8 @@ return { metal: config.cost.metal * quantity, crystal: config.cost.crystal * quantity, - deuterium: config.cost.deuterium * quantity + deuterium: config.cost.deuterium * quantity, + darkMatter: config.cost.darkMatter * quantity } } diff --git a/tsconfig.app.json b/tsconfig.app.json index db1f651..4d6bb4d 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -3,6 +3,7 @@ "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "types": ["vite/client"], + "lib": ["ES2020", "DOM", "DOM.Iterable"], "paths": { "@/*": ["./src/*"] }, diff --git a/vite.config.ts b/vite.config.ts index 37f1c55..31d3476 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -2,62 +2,70 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import tailwindcss from '@tailwindcss/vite' import path from 'node:path' -import electron from 'vite-plugin-electron/simple' +import { fileURLToPath } from 'node:url' -export default defineConfig({ - base: './', - build: { - outDir: 'docs', - sourcemap: false, - cssCodeSplit: true, - chunkSizeWarningLimit: 1000, - rollupOptions: { - output: { - manualChunks(id) { - // Vue 核心框架 - if (id.includes('node_modules/vue/') || id.includes('node_modules/@vue/')) return 'vendor-vue-core' - // Vue 生态 - if (id.includes('node_modules/vue-router')) return 'vendor-vue-router' - if (id.includes('node_modules/pinia')) return 'vendor-pinia' - // UI 组件库 - if (id.includes('node_modules/reka-ui')) return 'vendor-reka-ui' - if (id.includes('node_modules/@vueuse/core')) return 'vendor-vueuse' - if (id.includes('node_modules/lucide-vue-next')) return 'vendor-icons' - // 工具库 - if (id.includes('node_modules/crypto-js')) return 'vendor-crypto' - if (id.includes('node_modules/file-saver')) return 'vendor-utils' - if (id.includes('node_modules/clsx') || id.includes('node_modules/tailwind-merge')) return 'vendor-utils' - // Tailwind CSS - if (id.includes('node_modules/@tailwindcss') || id.includes('node_modules/tailwindcss')) return 'vendor-tailwind' - // 游戏逻辑模块 - if (id.includes('/src/logic/')) return 'game-logic' - // 配置和类型 - if (id.includes('/src/config/') || id.includes('/src/types/')) return 'game-config' - // 本地化 - if (id.includes('/src/locales/')) return 'game-i18n' - // 其他 node_modules 依赖 - if (id.includes('node_modules/')) return 'vendor-others' - }, - // 优化输出文件名 - chunkFileNames: 'assets/[name]-[hash].js', - entryFileNames: 'assets/[name]-[hash].js', - assetFileNames: 'assets/[name]-[hash].[ext]' - } - } - }, - plugins: [ - vue(), - tailwindcss(), - electron({ +const __dirname = path.dirname(fileURLToPath(import.meta.url)) + +export default defineConfig(async () => { + const plugins = [vue(), tailwindcss()] + + // 只在 ELECTRON_BUILD 环境变量存在时才加载 Electron 插件 + if (process.env.ELECTRON_BUILD) { + // @ts-ignore - 动态导入 electron 插件 + const { default: electron } = await import('vite-plugin-electron/simple') + const electronPlugins = await electron({ main: { - // Shortcut of `build.lib.entry` entry: 'electron/main.ts', }, - // Optional: Use Node.js API in the Renderer process renderer: {}, - }), - ], - resolve: { alias: { '@': path.resolve(__dirname, './src') } }, - // 优化依赖预构建 - optimizeDeps: { include: ['vue', 'vue-router', 'pinia', 'reka-ui', '@vueuse/core', 'lucide-vue-next', 'crypto-js', 'file-saver'] } + }) + plugins.push(...electronPlugins) + } + + return { + base: './', + build: { + outDir: 'docs', + sourcemap: false, + cssCodeSplit: true, + chunkSizeWarningLimit: 1000, + rollupOptions: { + output: { + manualChunks(id: string) { + // Vue 核心框架 + if (id.includes('node_modules/vue/') || id.includes('node_modules/@vue/')) return 'vendor-vue-core' + // Vue 生态 + if (id.includes('node_modules/vue-router')) return 'vendor-vue-router' + if (id.includes('node_modules/pinia')) return 'vendor-pinia' + // UI 组件库 + if (id.includes('node_modules/reka-ui')) return 'vendor-reka-ui' + if (id.includes('node_modules/@vueuse/core')) return 'vendor-vueuse' + if (id.includes('node_modules/lucide-vue-next')) return 'vendor-icons' + // 工具库 + if (id.includes('node_modules/crypto-js')) return 'vendor-crypto' + if (id.includes('node_modules/file-saver')) return 'vendor-utils' + if (id.includes('node_modules/clsx') || id.includes('node_modules/tailwind-merge')) return 'vendor-utils' + // Tailwind CSS + if (id.includes('node_modules/@tailwindcss') || id.includes('node_modules/tailwindcss')) return 'vendor-tailwind' + // 游戏逻辑模块 + if (id.includes('/src/logic/')) return 'game-logic' + // 配置和类型 + if (id.includes('/src/config/') || id.includes('/src/types/')) return 'game-config' + // 本地化 + if (id.includes('/src/locales/')) return 'game-i18n' + // 其他 node_modules 依赖 + if (id.includes('node_modules/')) return 'vendor-others' + }, + // 优化输出文件名 + chunkFileNames: 'assets/[name]-[hash].js', + entryFileNames: 'assets/[name]-[hash].js', + assetFileNames: 'assets/[name]-[hash].[ext]' + } + } + }, + plugins, + resolve: { alias: { '@': path.resolve(__dirname, './src') } }, + // 优化依赖预构建 + optimizeDeps: { include: ['vue', 'vue-router', 'pinia', 'reka-ui', '@vueuse/core', 'lucide-vue-next', 'crypto-js', 'file-saver'] } + } })