@av-pi-studio/web-client 0.0.117 → 0.0.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +12 -12
  2. package/dist/web/assets/BinaryFallbackViewer-DZ6fyGsu.js +1 -0
  3. package/dist/web/assets/{ChatPanel-Dh8HDToX.js → ChatPanel-yRv-CSyg.js} +5 -5
  4. package/dist/web/assets/CodeView-HA63pf1I.js +1 -0
  5. package/dist/web/assets/{DiffView-H0nfCGhg.js → DiffView-Bp1YwIcs.js} +1 -1
  6. package/dist/web/assets/FilePanel-KbN8R1q4.js +1 -0
  7. package/dist/web/assets/HtmlViewer-BlBKng1E.js +1 -0
  8. package/dist/web/assets/ImageViewer-CSOSyfvS.js +1 -0
  9. package/dist/web/assets/MarkdownFileViewer-lxpM7SOl.js +1 -0
  10. package/dist/web/assets/ModelProvidersPanel-CB3LnoWb.js +1 -0
  11. package/dist/web/assets/MoleculeViewerPanel-B2E7mzSf.js +1 -0
  12. package/dist/web/assets/PdfViewer-DhWWrlIg.js +1 -0
  13. package/dist/web/assets/SaveFileButton-B7-DaZRk.js +1 -0
  14. package/dist/web/assets/SettingsDialog-PvCzy46o.js +8 -0
  15. package/dist/web/assets/SkillsPanel-BAOCx8Mk.js +1 -0
  16. package/dist/web/assets/{StatusBadge-4Ta2PiFt.js → StatusBadge-eoBBn7zF.js} +1 -1
  17. package/dist/web/assets/{Switch-DrRVfYsF.js → Switch-DvBJf8Rd.js} +1 -1
  18. package/dist/web/assets/TerminalPanel-D7OImgct.js +1 -0
  19. package/dist/web/assets/TextViewer-BYKfoK_A.js +1 -0
  20. package/dist/web/assets/VideoViewer-D5zXCCTy.js +1 -0
  21. package/dist/web/assets/ViewersPanel-CcXyTny7.js +1 -0
  22. package/dist/web/assets/{abnfDiagram-N423BO3Z-DAM-L4Gi.js → abnfDiagram-N423BO3Z-CpfpOF_O.js} +1 -1
  23. package/dist/web/assets/{arc-B5fbklv-.js → arc-DBTSI6_N.js} +1 -1
  24. package/dist/web/assets/{architectureDiagram-T3A2C74G-g5YdBqOD.js → architectureDiagram-T3A2C74G-BSevfMW_.js} +1 -1
  25. package/dist/web/assets/{blockDiagram-VBNYF7ZC-CnQe9SwF.js → blockDiagram-VBNYF7ZC-mjH_gzpo.js} +1 -1
  26. package/dist/web/assets/{c4Diagram-5PPSVZJV-hnI3bmAh.js → c4Diagram-5PPSVZJV-CKvGPw0r.js} +1 -1
  27. package/dist/web/assets/channel-DewxN4Jo.js +1 -0
  28. package/dist/web/assets/{chunk-2GRJ4B5K-ga2EpiBM.js → chunk-2GRJ4B5K-DX9yxpY8.js} +1 -1
  29. package/dist/web/assets/{chunk-2Q5K7J3B-8EL89tcM.js → chunk-2Q5K7J3B-CLN7DvaK.js} +1 -1
  30. package/dist/web/assets/{chunk-5RXB4S5H-ny9nLzV7.js → chunk-5RXB4S5H-_JxweRkX.js} +1 -1
  31. package/dist/web/assets/{chunk-5VM5RSS4-D8AiE16-.js → chunk-5VM5RSS4-3BAvSy1_.js} +1 -1
  32. package/dist/web/assets/{chunk-6Q2QTUOP-BEyDElR_.js → chunk-6Q2QTUOP-DQLD88Lm.js} +1 -1
  33. package/dist/web/assets/{chunk-GF5L2VYU-BOQX5MLe.js → chunk-GF5L2VYU-D-1fx8P7.js} +1 -1
  34. package/dist/web/assets/{chunk-JWPE2WC7-DZ7yLQfa.js → chunk-JWPE2WC7-C2fToatl.js} +1 -1
  35. package/dist/web/assets/{chunk-KBJHAD2P-ogydf6uq.js → chunk-KBJHAD2P-DHjSexvX.js} +1 -1
  36. package/dist/web/assets/{chunk-RYQCIY6F-B4kX-J9n.js → chunk-RYQCIY6F-DsVSVTjX.js} +1 -1
  37. package/dist/web/assets/{chunk-XXDRQBXY-CJ0O9VGU.js → chunk-XXDRQBXY-Csxxsn8g.js} +1 -1
  38. package/dist/web/assets/classDiagram-JCYQIIEL-YbS66O-E.js +1 -0
  39. package/dist/web/assets/classDiagram-v2-OCEON4UE-YbS66O-E.js +1 -0
  40. package/dist/web/assets/{cose-bilkent-JH36ORCC-lwzifGUR.js → cose-bilkent-JH36ORCC-DIVX_YPY.js} +1 -1
  41. package/dist/web/assets/{cynefin-VYW2F7L2-UwoALUYS.js → cynefin-VYW2F7L2-fVS7Seyd.js} +1 -1
  42. package/dist/web/assets/{cynefinDiagram-MW4NZA55-Dal57Q23.js → cynefinDiagram-MW4NZA55-krsTOg0x.js} +1 -1
  43. package/dist/web/assets/{dagre-VZM6K2ZE-CKlrZnar.js → dagre-VZM6K2ZE-Byz_9-UR.js} +1 -1
  44. package/dist/web/assets/{diagram-7IWD3JNH-FMn1vsHL.js → diagram-7IWD3JNH-CAwWHICT.js} +1 -1
  45. package/dist/web/assets/{diagram-B4RE2ZJO-CI5rpxKQ.js → diagram-B4RE2ZJO-zvv-V2co.js} +1 -1
  46. package/dist/web/assets/{diagram-LBJQPF4R-BOVH3I-f.js → diagram-LBJQPF4R-i5y2WTdZ.js} +1 -1
  47. package/dist/web/assets/{diagram-Q27KOJAE-DmuUX06N.js → diagram-Q27KOJAE-B1inWemu.js} +1 -1
  48. package/dist/web/assets/{diagram-UB23O5K3-Cw9DrP-K.js → diagram-UB23O5K3-Dh89SZOh.js} +1 -1
  49. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-f4TEQ7_W.js → ebnfDiagram-BXEA7PRR-su2ygatX.js} +1 -1
  50. package/dist/web/assets/{erDiagram-JOGREHBK-CF47Mcra.js → erDiagram-JOGREHBK-BbsgEzQn.js} +1 -1
  51. package/dist/web/assets/{flowDiagram-UKHOOZJN-rdiIClpu.js → flowDiagram-UKHOOZJN-Chl_0-ag.js} +1 -1
  52. package/dist/web/assets/{ganttDiagram-PKOTCBZU-BBqllMXi.js → ganttDiagram-PKOTCBZU-CYMojHU0.js} +1 -1
  53. package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-6sOrT3Es.js → gitGraphDiagram-DS77QQ5N-BZQF2UJa.js} +1 -1
  54. package/dist/web/assets/{graph-DUOUaKTD.js → graph-q4AqDxwU.js} +1 -1
  55. package/dist/web/assets/{href-resolution-XVtyCiRv.js → href-resolution-73JOZBv8.js} +1 -1
  56. package/dist/web/assets/index-DFue5iwi.js +19 -0
  57. package/dist/web/assets/{index-DbyP1ZAT.css → index-Dg0mhDS9.css} +1 -1
  58. package/dist/web/assets/{infoDiagram-6WML65LV-B8DQ1Ntn.js → infoDiagram-6WML65LV-L2kKwrdb.js} +1 -1
  59. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CL_6Xhdk.js → ishikawaDiagram-WSZJBQD7-B-hdpT0j.js} +1 -1
  60. package/dist/web/assets/{journeyDiagram-NVQOT4AX-iO2oB_PM.js → journeyDiagram-NVQOT4AX-DtZbDU0g.js} +1 -1
  61. package/dist/web/assets/{kanban-definition-27J2QSJJ-Bq5zUdk6.js → kanban-definition-27J2QSJJ-BNVi4euz.js} +1 -1
  62. package/dist/web/assets/{layout-CKWK6l6a.js → layout-ZLTTNfUo.js} +1 -1
  63. package/dist/web/assets/{linear-hDCiku2e.js → linear-Dg9CPt0k.js} +1 -1
  64. package/dist/web/assets/markdown-CIs21q13.js +5 -0
  65. package/dist/web/assets/{mermaid.core-CHAol8ex.js → mermaid.core-524tR-D2.js} +4 -4
  66. package/dist/web/assets/{mindmap-definition-FAOFIHXS-BBmO4Gks.js → mindmap-definition-FAOFIHXS-CJKkZcYQ.js} +1 -1
  67. package/dist/web/assets/{ordinal-Bt4q2WDw.js → ordinal-B7gl1e82.js} +1 -1
  68. package/dist/web/assets/{pegDiagram-VL7TDLO6-DqQhyw9T.js → pegDiagram-VL7TDLO6-C29SbD0M.js} +1 -1
  69. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BS5cr7Al.js → pieDiagram-7S7Q4E2Y-BpeO9BuX.js} +1 -1
  70. package/dist/web/assets/{provider-auth-store-B0otZuIW.js → provider-auth-store-CpmUGwuu.js} +1 -1
  71. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-BLDUr9qC.js → quadrantDiagram-CIZ2JOQS-yU4K00QE.js} +1 -1
  72. package/dist/web/assets/{railroadDiagram-AXF67PYL-VFMEovCO.js → railroadDiagram-AXF67PYL-DIkSup17.js} +1 -1
  73. package/dist/web/assets/{requirementDiagram-LRYGKXZP-B1AZqGHF.js → requirementDiagram-LRYGKXZP-DB5tgpS1.js} +1 -1
  74. package/dist/web/assets/{sankeyDiagram-W5VNT64P-DsZPKpe8.js → sankeyDiagram-W5VNT64P-DYPa3r0S.js} +1 -1
  75. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-BiJ-GnCG.js → sequenceDiagram-SI44F4Z6-C_rD0zxP.js} +1 -1
  76. package/dist/web/assets/{sizeCapture-X5ZJPWSS-C2FFfWkK.js → sizeCapture-X5ZJPWSS-DzC-Nn78.js} +1 -1
  77. package/dist/web/assets/{stateDiagram-OKZ733FA-qFV_v5ZT.js → stateDiagram-OKZ733FA-DQdSURcD.js} +1 -1
  78. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BCmrjJ-P.js +1 -0
  79. package/dist/web/assets/{swimlanes-SLNWSIFB-9sGFMDql.js → swimlanes-SLNWSIFB-BA-Oww3o.js} +2 -2
  80. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BtietnZ5.js +8 -0
  81. package/dist/web/assets/{timeline-definition-Z64GVDOM-D3ypJvTh.js → timeline-definition-Z64GVDOM-C7JXpk1W.js} +1 -1
  82. package/dist/web/assets/use-file-download-DXQ8x6cp.js +1 -0
  83. package/dist/web/assets/{use-file-watch-Ca_f0M8P.js → use-file-watch-Bi_rtv7D.js} +1 -1
  84. package/dist/web/assets/{use-provider-auth-list-BfHGDiIE.js → use-provider-auth-list-Bxn9HTsw.js} +1 -1
  85. package/dist/web/assets/{vendor-dnd-CayJj8TC.js → vendor-dnd-vJGfGIIi.js} +1 -1
  86. package/dist/web/assets/{vendor-highlight-2yu9fuIs.js → vendor-highlight-DaCUEPaW.js} +1 -1
  87. package/dist/web/assets/{vendor-icons-DEs9VPZK.js → vendor-icons-CSCeICuX.js} +1 -1
  88. package/dist/web/assets/{vendor-markdown-BdpekPki.js → vendor-markdown-Bo-Xpsuy.js} +1 -1
  89. package/dist/web/assets/{vendor-molviewer-DeAF8d5d.js → vendor-molviewer-7FbONJs2.js} +1 -1
  90. package/dist/web/assets/{vendor-overlays-SaWbfdX8.js → vendor-overlays-DjMT65Ip.js} +1 -1
  91. package/dist/web/assets/{vendor-pdfjs-BrYGnqfM.js → vendor-pdfjs-BSchhGel.js} +2 -2
  92. package/dist/web/assets/{vendor-query-i7fr__Xm.js → vendor-query-CDNPrdQ8.js} +1 -1
  93. package/dist/web/assets/{vendor-react-DQUAl2K8.js → vendor-react-Dka9ZH0B.js} +1 -1
  94. package/dist/web/assets/{vendor-D3SOLPPh.js → vendor-z183l2lP.js} +6 -6
  95. package/dist/web/assets/{vennDiagram-T6HMQDX7-CL6HBdNJ.js → vennDiagram-T6HMQDX7-C_y33Ta5.js} +1 -1
  96. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-CovrUiAA.js → wardleyDiagram-T6FBY63Y-gxOBkNAp.js} +1 -1
  97. package/dist/web/assets/{xychartDiagram-ELKLHX3M-B4B84nxd.js → xychartDiagram-ELKLHX3M-BEdGwPiU.js} +1 -1
  98. package/dist/web/index.html +9 -8
  99. package/package.json +5 -42
  100. package/dist/web/assets/BinaryFallbackViewer-BtxtcHuV.js +0 -1
  101. package/dist/web/assets/CodeView-CAB3SZYK.js +0 -1
  102. package/dist/web/assets/FilePanel-C8cn3iJj.js +0 -1
  103. package/dist/web/assets/HtmlViewer-C6i8TGWc.js +0 -1
  104. package/dist/web/assets/ImageViewer-CyNec5RW.js +0 -1
  105. package/dist/web/assets/MarkdownFileViewer-Ck__w_R6.js +0 -1
  106. package/dist/web/assets/ModelProvidersPanel-BzCxTWcG.js +0 -1
  107. package/dist/web/assets/MoleculeViewerPanel-Dm74U_GU.js +0 -1
  108. package/dist/web/assets/PdfViewer-DP5N6Zq4.js +0 -1
  109. package/dist/web/assets/SettingsDialog-DFOcdK5d.js +0 -8
  110. package/dist/web/assets/SkillsPanel-B1rX9W8m.js +0 -1
  111. package/dist/web/assets/TerminalPanel-Bl7fG-P0.js +0 -1
  112. package/dist/web/assets/TextViewer-C6sO1Esy.js +0 -1
  113. package/dist/web/assets/VideoViewer-cj1hw5cl.js +0 -1
  114. package/dist/web/assets/ViewersPanel-DtgabN6n.js +0 -1
  115. package/dist/web/assets/channel-BC5O3Fw2.js +0 -1
  116. package/dist/web/assets/classDiagram-JCYQIIEL-DtNk70ER.js +0 -1
  117. package/dist/web/assets/classDiagram-v2-OCEON4UE-DtNk70ER.js +0 -1
  118. package/dist/web/assets/index-DVjN3uZm.js +0 -19
  119. package/dist/web/assets/markdown-DNjz8eN5.js +0 -5
  120. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BLx9oVo-.js +0 -1
  121. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DXJEgu0Z.js +0 -8
  122. package/dist/web/assets/use-file-download-DF0pV2Qv.js +0 -1
@@ -1,4 +1,4 @@
1
- import{$ as zu,r as Ee,j as _,c as pY}from"./vendor-react-DQUAl2K8.js";var mY={};const hY=2048;function fY(e){const t=e.toLowerCase().match(/(\.[a-z0-9]+)$/);return t?t[1]:""}let gY=class{constructor(){this.readers=[]}register(e){if(this.readers.some(t=>t.meta.id===e.meta.id))throw new Error(`duplicate reader id: ${e.meta.id}`);return this.readers.push(e),this}list(){return this.readers.map(e=>e.meta)}supportedExtensions(){return[...new Set(this.readers.flatMap(e=>e.meta.extensions))].sort()}async resolve(e){const t=fY(e.filename),r=this.readers.filter(s=>s.meta.extensions.includes(t)),n=(await e.text()).slice(0,hY),a=r.length>0?r:this.readers.filter(s=>!s.meta.binary),o=await Promise.all(a.map(async s=>({r:s,score:await s.sniff(e,n),matchedExt:r.includes(s)})));o.sort((s,l)=>l.score-s.score||Number(l.matchedExt)-Number(s.matchedExt));const i=o[0];if(i&&i.score>=.1)return i.r;if(r.length===1)return r[0];throw new Error(`no reader could handle "${e.filename}". Supported: ${this.supportedExtensions().join(", ")}`)}};function l2(e,t,r,n,a,o){const i=Math.PI/180,s=n*i,l=a*i,u=o*i,c=Math.cos(s),d=Math.cos(l),p=Math.cos(u),m=Math.sin(u),f=r*d,h=r*(c-d*p)/m,y=1-c*c-d*d-p*p+2*c*d*p,g=r*Math.sqrt(Math.max(0,y))/m,x=new Float64Array(9);return x[0]=e,x[1]=0,x[2]=0,x[3]=t*p,x[4]=t*m,x[5]=0,x[6]=f,x[7]=h,x[8]=g,x}function Ls(e,t=[!0,!0,!0],r=[0,0,0]){return{vectors:e,pbc:t,origin:new Float64Array(r)}}function t1(e,t=[90,90,90],r=[0,0,0]){return h8(t)?yY(e,r):Ls(l2(e[0],e[1],e[2],t[0],t[1],t[2]),[!0,!0,!0],r)}function Mm(e){const[t,r,n]=e.map(s=>s*Math.PI/180);if(e.some(s=>!(s>0&&s<180)))return!1;const a=Math.cos(t),o=Math.cos(r),i=Math.cos(n);return 1-a*a-o*o-i*i+2*a*o*i>1e-6}function yY(e,t=[0,0,0]){const[r,n,a]=e;return Ls(new Float64Array([r,0,0,0,n,0,0,0,a]),[!0,!0,!0],t)}function h8(e){return e.every(t=>Math.abs(t-90)<1e-9)}const vY={meta:{id:"xyz",name:"XYZ / extended-XYZ",extensions:[".xyz",".extxyz"],kind:"both"},sniff(e,t){var r,n;const a=t.split(/\r?\n/),o=((r=a[0])==null?void 0:r.trim())??"";if(!/^\d+$/.test(o))return 0;const i=parseInt(o,10),s=((n=a[2])==null?void 0:n.trim())??"",l=/^[A-Za-z]{1,3}[0-9]*\s+[-+.\dEe]+\s+[-+.\dEe]+\s+[-+.\dEe]+/.test(s);return i>0&&l?.9:.4},async read(e,t){t.setSourceFormat("xyz");const r=(await e.text()).split(/\r?\n/);let n=0,a=0;const o=()=>{for(;n<r.length&&r[n].trim()==="";)n++;return n<r.length?r[n++]:null};for(;n<r.length;){const i=o();if(i===null)break;const s=parseInt(i.trim(),10);if(!Number.isFinite(s)||s<=0)break;const l=n<r.length?r[n++]:"",u=bY(l),c=new Float32Array(s*3);for(let d=0;d<s;d++){const p=r[n++];if(p===void 0)throw new Error(`XYZ truncated in frame ${a} at atom ${d}`);const m=p.trim().split(/\s+/),f=m[0]??"X",h=parseFloat(m[1]??"NaN"),y=parseFloat(m[2]??"NaN"),g=parseFloat(m[3]??"NaN");a===0?t.addAtom(f,h,y,g):(c[d*3]=h,c[d*3+1]=y,c[d*3+2]=g)}a===0?u&&(t.setCell(Ls(u)),t.note({source:"xyz",kind:"cell",severity:"info",message:'cell read from extended-XYZ Lattice="..."'})):t.addFrame(c,u?Ls(u):null),a++}a>1&&t.note({source:"xyz",kind:"trajectory",severity:"info",message:`read ${a} frames`})}};function bY(e){const t=e.match(/Lattice\s*=\s*"([^"]+)"/i);if(!t)return null;const r=t[1].trim().split(/\s+/).map(Number);return r.length!==9||r.some(n=>!Number.isFinite(n))?null:Float64Array.from(r)}const xY={meta:{id:"mol",name:"MDL MOL / SDF (V2000)",extensions:[".mol",".sdf"],kind:"both"},sniff(e,t){if(/V2000\s*$/m.test(t))return .95;const r=t.split(/\r?\n/)[3]??"";return/^\s*\d+\s+\d+/.test(r)?.4:0},async read(e,t){t.setSourceFormat("mol");const r=(await e.text()).split(/\r?\n/),n=r[3]??"",a=$v(n,0,3),o=$v(n,3,3);if(!Number.isFinite(a))throw new Error("MOL: could not read atom count");let i=4;for(let s=0;s<a;s++,i++){const l=r[i]??"",u=Rw(l,0,10),c=Rw(l,10,10),d=Rw(l,20,10),p=l.substring(31,34).trim()||(l.trim().split(/\s+/)[3]??"X");t.addAtom(p,u,c,d,{element:p})}for(let s=0;s<o;s++,i++){const l=r[i]??"",u=$v(l,0,3),c=$v(l,3,3),d=$v(l,6,3)||1;Number.isFinite(u)&&Number.isFinite(c)&&t.addBond(u-1,c-1,d)}o>0&&(t.markBondsFromFile(),t.note({source:"mol",kind:"bond",severity:"info",message:`${o} bonds read from file`}))}};function Rw(e,t,r){const n=parseFloat(e.substring(t,t+r));return Number.isFinite(n)?n:NaN}function $v(e,t,r){const n=e.substring(t,t+r).trim(),a=parseInt(n,10);return Number.isFinite(a)?a:NaN}const SY={meta:{id:"pdb",name:"Protein Data Bank (PDB)",extensions:[".pdb",".ent"],kind:"both"},sniff(e,t){return/^(ATOM|HETATM)/m.test(t)||/^CRYST1/m.test(t)||/^HEADER/m.test(t)?.85:0},async read(e,t){t.setSourceFormat("pdb");const r=(await e.text()).split(/\r?\n/);let n=0,a=[],o=!1,i=!1;for(const s of r){const l=s.substring(0,6).trim();if(l==="CRYST1"){const u=Ad(s,6,9),c=Ad(s,15,9),d=Ad(s,24,9),p=Ad(s,33,7),m=Ad(s,40,7),f=Ad(s,47,7);[u,c,d,p,m,f].every(Number.isFinite)&&u>0&&c>0&&d>0&&Mm([p,m,f])&&(t.setCell(Ls(l2(u,c,d,p,m,f))),t.note({source:"pdb",kind:"cell",severity:"info",message:"cell read from CRYST1"}));continue}if(l==="ATOM"||l==="HETATM"){const u=s.substring(12,16).trim(),c=s.substring(76,78).trim(),d=Ad(s,30,8),p=Ad(s,38,8),m=Ad(s,46,8);n===0?c?t.addAtom(u,d,p,m,{element:c}):(t.addAtom(u,d,p,m),/^(CA|CD|CO|HG|HF|NI|NA|NB|PB|SB|SN|CU|FE)$/i.test(u)&&(o=!0)):a.push(d,p,m);continue}if(l==="CONECT"){const u=VM(s,6,5);for(let c=11;c+5<=Math.max(s.length,31);c+=5){const d=VM(s,c,5);Number.isFinite(u)&&Number.isFinite(d)&&d>u&&(t.addBond(u-1,d-1,1),i=!0)}continue}if(l==="ENDMDL"){n>0&&t.addFrame(a),a=[],n++;continue}}i&&t.markBondsFromFile(),o&&t.note({source:"pdb",kind:"element",severity:"warning",message:'atom names present that are ambiguous as elements (e.g. "CA" = calcium or alpha-carbon); check the element panel'})}};function Ad(e,t,r){const n=parseFloat(e.substring(t,t+r));return Number.isFinite(n)?n:NaN}function VM(e,t,r){const n=parseInt(e.substring(t,t+r).trim(),10);return Number.isFinite(n)?n:NaN}const yg=10,CY={meta:{id:"gro",name:"GROMACS GRO",extensions:[".gro"],kind:"both"},sniff(e,t){const r=t.split(/\r?\n/);return/^\s*\d+\s*$/.test(r[1]??"")?.8:0},async read(e,t){t.setSourceFormat("gro"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=parseInt((r[1]??"").trim(),10);if(!Number.isFinite(n))throw new Error("GRO: bad atom count");for(let o=0;o<n;o++){const i=r[2+o]??"",s=i.substring(10,15).trim(),l=parseFloat(i.substring(20,28))*yg,u=parseFloat(i.substring(28,36))*yg,c=parseFloat(i.substring(36,44))*yg;t.addAtom(s,l,u,c)}const a=(r[2+n]??"").trim().split(/\s+/).map(Number);if(a.length>=3&&a.slice(0,3).every(o=>Number.isFinite(o)&&o>0)){const o=a[0],i=a[1],s=a[2],l=new Float64Array([o*yg,0,0,0,i*yg,0,0,0,s*yg]);t.setCell(Ls(l))}t.note({source:"gro",kind:"units",severity:"info",message:"positions/cell converted nm → Å"})}},HM=5e3,_Y={meta:{id:"lammpstrj",name:"LAMMPS dump",extensions:[".lammpstrj",".dump",".trj"],kind:"both"},sniff(e,t){return/^\s*ITEM:\s*TIMESTEP/m.test(t)?.95:0},async read(e,t){t.setSourceFormat("lammpstrj"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=[];for(let u=0;u<r.length;u++)(r[u]??"").startsWith("ITEM: TIMESTEP")&&n.push(u);if(n.length===0)throw new Error('LAMMPS: no "ITEM: TIMESTEP" found');let a=0,o=0,i=!1,s=!1,l=0;for(let u=0;u<n.length;u++){const c=n[u],d=u+1<n.length?n[u+1]:r.length,p=AY(r,c,d);if(!p||p.rows.length===0)continue;const m=p.rows.length<p.declared;if(a===0){for(const h of p.rows)t.addAtom(`type${h.type}`,h.x,h.y,h.z);if(t.setCell(qM(p.box)),o=p.rows.length,a=1,m){s=!0;break}continue}if(m){s=!0;break}if(p.rows.length!==o){l++;continue}const f=new Float32Array(o*3);for(let h=0;h<o;h++){const y=p.rows[h];f[h*3]=y.x,f[h*3+1]=y.y,f[h*3+2]=y.z}if(t.addFrame(f,qM(p.box)),a++,a>=HM){i=u+1<n.length;break}}if(a===0)throw new Error("LAMMPS: no complete frame found");t.note({source:"lammpstrj",kind:"coordinates",severity:"info",message:`LAMMPS dump: ${o} atoms, ${a} frame${a===1?"":"s"}. Assign elements per type in "Map types → elements".`}),l>0&&t.note({source:"lammpstrj",kind:"trajectory",severity:"warning",message:`${l} frame${l===1?"":"s"} skipped: atom count differed from the first frame (a changing-atom-count run can't play back with a fixed atom list).`}),s&&t.note({source:"lammpstrj",kind:"coordinates",severity:"warning",message:"file was truncated by the large-file size cap — later frames were not read."}),i&&t.note({source:"lammpstrj",kind:"trajectory",severity:"warning",message:`frame count capped at ${HM}; additional frames in the file were not read.`})}},GM={v:[1,0,0,0,1,0,0,0,1],origin:[0,0,0]};function qM(e){return Ls(new Float64Array(e.v),[!0,!0,!0],[...e.origin])}function wY(e,t,r,n){const a=b=>b.trim().split(/\s+/).map(Number).filter(Number.isFinite),o=a(t),i=a(r),s=a(n),l=e.replace(/^ITEM:\s*BOX BOUNDS/i,"").trim();if(/^abc\s+origin/i.test(l))return o.length<4||i.length<4||s.length<4?null:{v:[o[0],o[1],o[2],i[0],i[1],i[2],s[0],s[1],s[2]],origin:[o[3],i[3],s[3]]};if(o.length<2||i.length<2||s.length<2)return null;const u=/xy\s+xz\s+yz/i.test(l),c=u?o[2]??0:0,d=u?i[2]??0:0,p=u?s[2]??0:0,m=o[0]-Math.min(0,c,d,c+d),f=o[1]-Math.max(0,c,d,c+d),h=i[0]-Math.min(0,p),y=i[1]-Math.max(0,p),g=s[0],x=s[1];return{v:[f-m,0,0,c,y-h,0,d,p,x-g],origin:[m,h,g]}}function AY(e,t,r){const n=x=>{for(let b=t;b<r;b++)if((e[b]??"").startsWith(`ITEM: ${x}`))return b;return-1},a=n("NUMBER OF ATOMS");if(a<0)return null;const o=parseInt((e[a+1]??"").trim(),10);if(!Number.isFinite(o))return null;let i=GM;const s=n("BOX BOUNDS");s>=0&&(i=wY(e[s]??"",e[s+1]??"",e[s+2]??"",e[s+3]??"")??GM);const l=n("ATOMS");if(l<0)return null;const u=(e[l]??"").replace("ITEM: ATOMS","").trim().split(/\s+/),c=x=>u.indexOf(x),d=c("id"),p=c("type"),m=!(c("x")>=0||c("xu")>=0)&&c("xs")>=0,f=c("xu")>=0?c("xu"):c("x")>=0?c("x"):c("xs"),h=c("yu")>=0?c("yu"):c("y")>=0?c("y"):c("ys"),y=c("zu")>=0?c("zu"):c("z")>=0?c("z"):c("zs");if(f<0||h<0||y<0)throw new Error(`LAMMPS: no x/y/z columns in "${u.join(" ")}"`);const g=[];for(let x=0;x<o;x++){const b=e[l+1+x];if(b===void 0)break;const C=b.trim().split(/\s+/);if(C.length<=f)break;let S=parseFloat(C[f]),A=parseFloat(C[h]),E=parseFloat(C[y]);if(!Number.isFinite(S)||!Number.isFinite(A)||!Number.isFinite(E))continue;if(m){const P=i.v,M=i.origin,k=M[0]+S*P[0]+A*P[3]+E*P[6],D=M[1]+S*P[1]+A*P[4]+E*P[7],B=M[2]+S*P[2]+A*P[5]+E*P[8];S=k,A=D,E=B}const T=d>=0?parseInt(C[d]??"",10):x;g.push({id:Number.isFinite(T)?T:x,type:p>=0?C[p]??"?":"?",x:S,y:A,z:E})}return d>=0&&g.sort((x,b)=>x.id-b.id),{declared:o,box:i,rows:g}}const qI=["X","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr"],f8=new Map;qI.forEach((e,t)=>{t>0&&f8.set(e.toLowerCase(),t)});function ou(e){return f8.get(e.toLowerCase())??0}function Kr(e){return qI[e]??"X"}const g8={1:1.008,2:4.003,3:6.941,4:9.012,5:10.811,6:12.011,7:14.007,8:15.999,9:18.998,10:20.18,11:22.99,12:24.305,13:26.982,14:28.086,15:30.974,16:32.065,17:35.453,18:39.948,19:39.098,20:40.078,21:44.956,22:47.867,23:50.942,24:51.996,25:54.938,26:55.845,27:58.933,28:58.693,29:63.546,30:65.38,31:69.723,32:72.64,33:74.922,34:78.96,35:79.904,36:83.798,53:126.904,78:195.084,79:196.967,47:107.868,82:207.2};function TY(e){return g8[e]??0}function EY(e,t=.5){let r=0,n=1/0;for(const[a,o]of Object.entries(g8)){const i=Math.abs(o-e);i<n&&(n=i,r=Number(a))}return n<=t?{z:r,delta:n}:{z:0,delta:n}}const IY=.77,PY={1:.31,2:.28,3:1.28,4:.96,5:.84,6:.76,7:.71,8:.66,9:.57,10:.58,11:1.66,12:1.41,13:1.21,14:1.11,15:1.07,16:1.05,17:1.02,18:1.06,19:2.03,20:1.76,21:1.7,22:1.6,23:1.53,24:1.39,25:1.39,26:1.32,27:1.26,28:1.24,29:1.32,30:1.22,31:1.22,32:1.2,33:1.19,34:1.2,35:1.2,36:1.16,53:1.39,78:1.36,79:1.36,47:1.45,82:1.46};function cf(e){return PY[e]??IY}const DY=1.7,kY={1:1.2,2:1.4,3:1.82,4:1.53,5:1.92,6:1.7,7:1.55,8:1.52,9:1.47,10:1.54,11:2.27,12:1.73,13:1.84,14:2.1,15:1.8,16:1.8,17:1.75,18:1.88,19:2.75,20:2.31,26:2,28:1.63,29:1.4,30:1.39,35:1.85,46:1.63,47:1.72,53:1.98,78:1.75,79:1.66,82:2.02};function Bc(e){return kY[e]??DY}const MY=[1,.45,.7],BY={1:[1,1,1],6:[.35,.35,.35],7:[.19,.31,.97],8:[1,.05,.05],9:[.56,.88,.31],15:[1,.5,0],16:[1,1,.19],17:[.12,.94,.12],35:[.65,.16,.16],53:[.58,0,.58],11:[.67,.36,.95],12:[.54,1,0],19:[.56,.25,.83],20:[.24,1,0],26:[.88,.4,.2],30:[.49,.5,.69],29:[.78,.5,.2],2:[.85,1,1]};function y8(e){return BY[e]??MY}function RY(e){var t;const r=((t=e.match(/^[A-Za-z]+/))==null?void 0:t[0])??"";if(r.length===0)return{z:0,confidence:0,note:"no element letters found (looks like an atom type/index, not an element)"};const n=ou(r[0]);if(r.length>=2){const a=r[0].toUpperCase()+r[1].toLowerCase(),o=ou(a);if(o&&n)return{z:o,confidence:.5,note:`ambiguous label "${e}": could be ${Kr(o)} or ${Kr(n)} — assumed ${Kr(o)}`};if(o){const i=r.length>2?` (ignored trailing "${r.slice(2)}")`:"";return{z:o,confidence:r.length>2?.85:.95,note:i||void 0}}return n?{z:n,confidence:.7,note:`"${r}" is not an element; used leading "${Kr(n)}"`}:{z:0,confidence:0,note:`"${r}" is not a recognisable element`}}return n?{z:n,confidence:.9}:{z:0,confidence:0,note:`"${r}" is not a recognisable element`}}const FY={meta:{id:"mol2",name:"Tripos MOL2",extensions:[".mol2"],kind:"both"},sniff(e,t){return/@<TRIPOS>MOLECULE/.test(t)?.95:0},async read(e,t){t.setSourceFormat("mol2");const r=(await e.text()).split(/\r?\n/);let n="",a=0,o=0,i=0,s=!1;for(const l of r){const u=l.trim();if(u.startsWith("@<TRIPOS>")){n=u.slice(9).toUpperCase();continue}if(!(u===""||u.startsWith("#"))){if(n==="ATOM"){const c=u.split(/\s+/);if(c.length<6)continue;const d=c[1]??"X",p=parseFloat(c[2]),m=parseFloat(c[3]),f=parseFloat(c[4]),h=c[5]??"",y=LY(h),g=c.length>=9?parseFloat(c[8]):NaN,x=Number.isFinite(g)?g:void 0;x!==void 0&&o++,y?t.addAtom(d,p,m,f,{element:y,charge:x}):(t.addAtom(d,p,m,f,{charge:x}),i++)}else if(n==="CRYSIN"){const c=u.split(/\s+/).map(Number);c.length>=6&&c.slice(0,6).every(d=>Number.isFinite(d)&&d>0)&&Mm([c[3],c[4],c[5]])&&(t.setCell(Ls(l2(c[0],c[1],c[2],c[3],c[4],c[5]))),s=!0)}else if(n==="BOND"){const c=u.split(/\s+/);if(c.length<4)continue;const d=parseInt(c[1],10),p=parseInt(c[2],10);if(!Number.isFinite(d)||!Number.isFinite(p))continue;t.addBond(d-1,p-1,NY(c[3]??"1")),a++}}}a>0&&(t.markBondsFromFile(),t.note({source:"mol2",kind:"bond",severity:"info",message:`${a} bonds read from file`})),s&&t.note({source:"mol2",kind:"cell",severity:"info",message:"periodic cell read from @<TRIPOS>CRYSIN"}),o>0&&t.note({source:"mol2",kind:"charge",severity:"info",message:`${o} partial charges read from file`}),i>0&&t.note({source:"mol2",kind:"element",severity:"warning",message:`${i} atom(s) had an unrecognised SYBYL type; element left to inference — check the element panel`})}};function LY(e){const t=(e.split(".")[0]??"").trim();return t&&ou(t)>0?t:null}function NY(e){const t=parseInt(e,10);return Number.isFinite(t)&&t>=1&&t<=3?t:1}const OY={meta:{id:"lammps-data",name:"LAMMPS data",extensions:[".data",".lmp",".lammps"],kind:"both"},sniff(e,t){return/^\s*\d+\s+atoms\b/m.test(t)&&/^\s*\d+\s+atom types\b/m.test(t)?.9:/LAMMPS data file/i.test(t)?.7:0},async read(e,t){t.setSourceFormat("lammps-data"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=String.raw`[-+]?[\d.]+(?:[eE][-+]?\d+)?`,a={};let o=[0,0,0];for(const h of r){const y=h.trim().match(new RegExp(String.raw`^(${n})\s+(${n})\s+([xyz])lo\s+\3hi`));if(y){a[y[3]]=[parseFloat(y[1]),parseFloat(y[2])];continue}const g=h.trim().match(new RegExp(String.raw`^(${n})\s+(${n})\s+(${n})\s+xy\s+xz\s+yz`));g&&(o=[parseFloat(g[1]),parseFloat(g[2]),parseFloat(g[3])])}if(a.x&&a.y&&a.z){const h=b=>a[b][1]-a[b][0],[y,g,x]=o;t.setCell(Ls(new Float64Array([h("x"),0,0,y,h("y"),0,g,x,h("z")]),[!0,!0,!0],[a.x[0],a.y[0],a.z[0]]))}const i=new Set(["Masses","Atoms","Bonds","Velocities","Angles","Dihedrals","Impropers","Pair","Bond","Angle","Dihedral","Improper"]),s={};let l="";for(const h of r){const y=h.split("#")[0].trim(),g=h.trim().split(/\s+/)[0]??"";if(i.has(g)&&/^[A-Za-z]/.test(h.trim())){l=h.trim().replace(/\s*#.*$/,""),s[l]=[];continue}l&&y!==""&&(s[l]??(s[l]=[])).push(y)}const u=new Map;for(const h of s.Masses??[]){const y=h.split(/\s+/),g=parseInt(y[0],10),x=parseFloat(y[1]);if(!Number.isFinite(g)||!Number.isFinite(x))continue;const{z:b}=EY(x);b>0&&u.set(g,b)}const c=s.Atoms??[];if(c.length===0)throw new Error("LAMMPS data: no Atoms section");const d=new Map;let p=0,m=0;c.forEach((h,y)=>{const g=h.split(/\s+/).map(Number),x=g[0],b=g[2];let C=g[4],S=g[5],A=g[6],E=!0;[C,S,A].every(Number.isFinite)||(E=!1,C=g[g.length-3],S=g[g.length-2],A=g[g.length-1]);const T=E&&g.length>=7?g[3]:NaN,P=Number.isFinite(T)?T:void 0;P!==void 0&&m++;const M=u.get(b);M?t.addAtom(Kr(M),C,S,A,{element:M,charge:P}):(t.addAtom(`type${b}`,C,S,A,{charge:P}),p++),d.set(x,y)});let f=0;for(const h of s.Bonds??[]){const y=h.split(/\s+/).map(Number),g=d.get(y[2]),x=d.get(y[3]);g!==void 0&&x!==void 0&&(t.addBond(g,x,1),f++)}f>0&&(t.markBondsFromFile(),t.note({source:"lammps-data",kind:"bond",severity:"info",message:`${f} bonds read from file`})),t.note({source:"lammps-data",kind:"element",severity:"info",message:`elements identified from Masses for ${u.size} type(s)`}),m>0&&t.note({source:"lammps-data",kind:"charge",severity:"info",message:`${m} per-atom charges read from the atom_style full "q" column`}),p>0&&t.note({source:"lammps-data",kind:"element",severity:"warning",message:`${p} atom(s) had a type with no identifiable mass — assign in "Map types → elements"`})}};function jY(e){return e[0]*(e[4]*e[8]-e[5]*e[7])-e[1]*(e[3]*e[8]-e[5]*e[6])+e[2]*(e[3]*e[7]-e[4]*e[6])}function Pp(e){const t=jY(e);if(Math.abs(t)<1e-12)throw new Error("singular 3x3 matrix (degenerate cell?)");const r=1/t,n=new Float64Array(9);return n[0]=(e[4]*e[8]-e[5]*e[7])*r,n[1]=(e[2]*e[7]-e[1]*e[8])*r,n[2]=(e[1]*e[5]-e[2]*e[4])*r,n[3]=(e[5]*e[6]-e[3]*e[8])*r,n[4]=(e[0]*e[8]-e[2]*e[6])*r,n[5]=(e[2]*e[3]-e[0]*e[5])*r,n[6]=(e[3]*e[7]-e[4]*e[6])*r,n[7]=(e[1]*e[6]-e[0]*e[7])*r,n[8]=(e[0]*e[4]-e[1]*e[3])*r,n}function Hi(e,t){return[e[0]*t[0]+e[1]*t[3]+e[2]*t[6],e[0]*t[1]+e[1]*t[4]+e[2]*t[7],e[0]*t[2]+e[1]*t[5]+e[2]*t[8]]}const zY={meta:{id:"cif",name:"CIF / mmCIF",extensions:[".cif",".mmcif"],kind:"both"},sniff(e,t){return/^data_/m.test(t)&&/_atom_site\./m.test(t)?.9:/^data_/m.test(t)&&/_cell\.length_a|_cell_length_a/m.test(t)?.6:0},async read(e,t){t.setSourceFormat("cif"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=k=>{for(const D of r){const B=D.trim();for(const R of k)if(B.toLowerCase().startsWith(R)){const F=parseFloat(B.slice(R.length).trim().split(/\s+/)[0]??"");if(Number.isFinite(F))return F}}return NaN},a=n(["_cell.length_a","_cell_length_a"]),o=n(["_cell.length_b","_cell_length_b"]),i=n(["_cell.length_c","_cell_length_c"]),s=n(["_cell.angle_alpha","_cell_angle_alpha"]),l=n(["_cell.angle_beta","_cell_angle_beta"]),u=n(["_cell.angle_gamma","_cell_angle_gamma"]);let c=null;[a,o,i,s,l,u].every(Number.isFinite)&&a>0&&o>0&&i>0&&Mm([s,l,u])&&(c=l2(a,o,i,s,l,u),t.setCell(Ls(c)),t.note({source:"cif",kind:"cell",severity:"info",message:"cell read from _cell params"}));const d=[],p=[];let m=0;for(;m<r.length;)if(r[m].trim()==="loop_"){const k=[];let D=m+1;for(;D<r.length&&r[D].trim().startsWith("_");)k.push(r[D].trim()),D++;if(k.some(B=>B.toLowerCase().startsWith("_atom_site"))){for(d.push(...k);D<r.length;){const B=r[D].trim();if(B===""||B==="loop_"||B.startsWith("_")||B.startsWith("data_")||B.startsWith("#"))break;p.push(UY(B)),D++}break}m=D}else m++;if(d.length===0)throw new Error("CIF: no _atom_site loop found");const f=k=>d.findIndex(D=>{const B=D.toLowerCase();return k.some(R=>B.endsWith(R))}),h=f(["type_symbol"]),y=f(["label_atom_id","label",".id"]),g=f(["fract_x"]),x=f(["fract_y"]),b=f(["fract_z"]),C=f(["cartn_x"]),S=f(["cartn_y"]),A=f(["cartn_z"]),E=g>=0&&x>=0&&b>=0,T=E?g:C,P=E?x:S,M=E?b:A;if(T<0||P<0||M<0)throw new Error("CIF: atom_site has no fract_* or Cartn_* coordinates");if(E&&!c)throw new Error("CIF: fractional coordinates but no cell to convert them");for(const k of p){if(k.length<=T)continue;let D=parseFloat(Fw(k[T])),B=parseFloat(Fw(k[P])),R=parseFloat(Fw(k[M]));if(![D,B,R].every(Number.isFinite))continue;if(E){const H=Hi([D,B,R],c);D=H[0],B=H[1],R=H[2]}const F=h>=0?k[h]??"":"",N=(y>=0?k[y]:void 0)??F??"X";F&&/^[A-Za-z]{1,2}$/.test(F)?t.addAtom(N,D,B,R,{element:F}):t.addAtom(N,D,B,R)}}};function UY(e){const t=[],r=/'([^']*)'|"([^"]*)"|(\S+)/g;let n;for(;n=r.exec(e);)t.push(n[1]??n[2]??n[3]??"");return t}function Fw(e){return e.replace(/\(\d+\)\s*$/,"")}const VY={meta:{id:"poscar",name:"VASP POSCAR/CONTCAR",extensions:[".poscar",".contcar",".vasp"],kind:"both"},sniff(e,t){const r=e.filename.toLowerCase();if(/poscar|contcar/.test(r))return .9;const n=t.split(/\r?\n/),a=parseFloat((n[1]??"").trim()),o=i=>(i??"").trim().split(/\s+/).map(Number).filter(Number.isFinite).length===3;return Number.isFinite(a)&&o(n[2])&&o(n[3])&&o(n[4])?.55:0},async read(e,t){t.setSourceFormat("poscar"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=r[0]??"",a=parseFloat((r[1]??"1").trim())||1,o=x=>(x??"").trim().split(/\s+/).map(Number),i=o(r[2]),s=o(r[3]),l=o(r[4]);if([i,s,l].some(x=>x.length<3||x.some(b=>!Number.isFinite(b))))throw new Error("POSCAR: could not read the three lattice vectors");const u=new Float64Array([i[0]*a,i[1]*a,i[2]*a,s[0]*a,s[1]*a,s[2]*a,l[0]*a,l[1]*a,l[2]*a]);t.setCell(Ls(u));let c=5;const d=(r[5]??"").trim().split(/\s+/),p=d.length>0&&d.every(x=>ou(x)>0);let m,f;if(p?(m=d,f=(r[6]??"").trim().split(/\s+/).map(x=>parseInt(x,10)),c=7):(m=n.trim().split(/\s+/).filter(x=>ou(x)>0),f=d.map(x=>parseInt(x,10)),c=6),f.some(x=>!Number.isFinite(x))||f.length===0)throw new Error("POSCAR: bad atom counts");m.length!==f.length&&t.note({source:"poscar",kind:"element",severity:"warning",message:`element list (${m.length}) doesn't match species count (${f.length}); elements may be wrong`}),/^\s*s/i.test(r[c]??"")&&c++;const h=(r[c]??"").trim(),y=/^[ck]/i.test(h);c++;const g=[];for(let x=0;x<f.length;x++){const b=m[x]??"X";for(let C=0;C<f[x];C++)g.push(b)}for(let x=0;x<g.length;x++){const b=(r[c+x]??"").trim().split(/\s+/).map(Number);if(b.length<3||b.slice(0,3).some(T=>!Number.isFinite(T)))break;let C=b[0],S=b[1],A=b[2];if(y)C*=a,S*=a,A*=a;else{const T=Hi([C,S,A],u);C=T[0],S=T[1],A=T[2]}const E=g[x];ou(E)>0?t.addAtom(E,C,S,A,{element:E}):t.addAtom(E,C,S,A)}t.note({source:"poscar",kind:"cell",severity:"info",message:`VASP ${p?"v5":"v4"} POSCAR, ${y?"cartesian":"direct"} coords, ${g.length} atoms`})}},HY={meta:{id:"xsf",name:"XCrySDen XSF",extensions:[".xsf",".axsf"],kind:"both"},sniff(e,t){return/^\s*(CRYSTAL|SLAB|POLYMER|MOLECULE|ATOMS|PRIMCOORD|PRIMVEC)\b/m.test(t)?.85:0},async read(e,t){t.setSourceFormat("xsf"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/).map(l=>l.trim()),n=r.findIndex(l=>/^PRIMVEC\b/.test(l));if(n>=0){const l=[];for(let u=1;u<=3;u++)l.push(...r[n+u].split(/\s+/).map(Number));l.length===9&&l.every(Number.isFinite)&&(t.setCell(Ls(Float64Array.from(l))),t.note({source:"xsf",kind:"cell",severity:"info",message:"cell read from PRIMVEC"}))}const a=r.findIndex(l=>/^PRIMCOORD\b/.test(l));let o,i;if(a>=0)i=parseInt((r[a+1]??"").split(/\s+/)[0]??"",10),o=a+2;else{const l=r.findIndex(u=>/^ATOMS\b/.test(u));if(l<0)throw new Error("XSF: no PRIMCOORD or ATOMS block found");o=l+1,i=1/0}let s=0;for(let l=0;l<i&&o+l<r.length;l++){const u=r[o+l].split(/\s+/);if(u.length<4)break;const c=GY(u[0]),d=parseFloat(u[1]),p=parseFloat(u[2]),m=parseFloat(u[3]);if(!c||![d,p,m].every(Number.isFinite))break;t.addAtom(c,d,p,m,{element:c}),s++}if(s===0)throw new Error("XSF: no atoms parsed")}};function GY(e){if(/^\d+$/.test(e)){const t=parseInt(e,10);return t>0?Kr(t):null}return ou(e)>0?e:null}const t0=5e3,qY=4,WY={meta:{id:"gaussian-log",name:"Gaussian output",extensions:[".log",".out"],kind:"both"},sniff(e,t){return/Entering Gaussian System/.test(t)?.98:/Gaussian\(R\)\s+\d+\s+program|Copyright \(c\) [\d-]+, Gaussian, Inc\./.test(t)?.95:/^\s+(Standard|Input|Z-Matrix) orientation:/m.test(t)?.9:0},async read(e,t){t.setSourceFormat("gaussian-log"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=new Map,a=[];let o=0,i=null,s=!1;for(let E=0;E<r.length;E++){const T=r[E];if(!(T.length===0||T.charCodeAt(0)!==32))if(T.includes(" orientation:")){const P=XY(T);if(P){let M=n.get(P);M||n.set(P,M=[]),M.push(E)}}else if(T.includes("Optimization completed"))a.push(E);else if(o===0&&T.includes(" on scan point ")){const P=T.match(/out of\s+(\d+)\s*$/);P&&(o=parseInt(P[1],10))}else if(i===null&&T.includes("Charge =")){const P=T.match(/Charge =\s*(-?\d+)\s+Multiplicity =\s*(\d+)/);P&&(i=`charge ${P[1]}, multiplicity ${P[2]}`)}else T.includes("Error termination")&&(s=!0)}const l=n.get("input")??[],u=n.get("standard")??[],c=n.get("z-matrix")??[];let d="standard",p=u;for(const[E,T]of[["input",l],["z-matrix",c]])(T.length>p.length||E==="input"&&T.length===p.length&&T.length>0)&&(d=E,p=T);if(p.length===0)throw new Error(`No geometry found: this file has no "Standard orientation:" block. If it is not a Gaussian output, rename it with its own format's extension (.xyz, .pdb, .cif, …) so the right reader is used.`);const m=[];let f=0;for(const E of a){for(;f<p.length&&p[f]<E;)f++;if(f>0){const T=p[f-1];m[m.length-1]!==T&&m.push(T)}}const h=m.length===0;h&&m.push(p[p.length-1]);const y=m.length>t0,g=y?m.slice(0,t0):m;let x=0,b=0,C=0,S=0;for(const E of g){const T=$Y(r,E);if(T.length===0)continue;if(b===0){for(const M of T)M.z<=0&&S++,t.addAtom(Kr(M.z),M.x,M.y,M.zc,{element:M.z});x=T.length,b=1;continue}if(T.length!==x){C++;continue}const P=new Float32Array(x*3);for(let M=0;M<x;M++){const k=T[M];P[M*3]=k.x,P[M*3+1]=k.y,P[M*3+2]=k.zc}t.addFrame(P),b++}if(b===0)throw new Error("Gaussian log: geometry block found but no atoms could be read.");const A=d;o>0?t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`relaxed scan: ${b} converged geometries from ${o} scan points (${p.length} geometry blocks in file, ${A} orientation)`}):b>1?t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`${b} converged geometries from ${p.length} geometry blocks (${A} orientation)`}):t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`single geometry (${A} orientation)`}),h&&p.length>1&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`no "Optimization completed" in this log — showing the last of ${p.length} geometries, which is NOT a converged structure`}),s&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:'the job ended in "Error termination" — geometries may be incomplete'}),C>0&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`${C} geometry block(s) skipped: atom count differs from the first`}),y&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`stopped at ${t0} frames; ${m.length-t0} more converged geometries were not read`}),S>0&&t.note({source:"gaussian-log",kind:"element",severity:"warning",message:`${S} centre(s) have atomic number <= 0 (ghost/dummy) and have no element`}),i&&t.note({source:"gaussian-log",kind:"topology",severity:"info",message:i})}};function XY(e){const t=e.match(/^\s*(Standard|Input|Z-Matrix) orientation:/);return t?t[1].toLowerCase():null}function $Y(e,t){const r=[];for(let n=t+qY+1;n<e.length;n++){const a=e[n];if(a.startsWith(" ---"))break;const o=a.trim().split(/\s+/);if(o.length<5)break;const i=parseInt(o[1],10),s=parseFloat(o[o.length-3]),l=parseFloat(o[o.length-2]),u=parseFloat(o[o.length-1]);if(!Number.isFinite(i)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(u))break;r.push({z:i,x:s,y:l,zc:u})}return r}const KY={meta:{id:"gjf",name:"Gaussian input",extensions:[".gjf",".com"],kind:"both"},sniff(e,t){const r=t.split(/\r?\n/).slice(0,40).map(a=>a.trim());if(r.some(a=>YY.test(a)))return .95;const n=r.findIndex(a=>a.startsWith("#"));if(n>=0){let a=n;for(;a<r.length&&r[a]!=="";)a++;const o=r.slice(n,a).join(" ");if(ZY.test(o))return .95;if((o.match(QY)??[]).length>=2)return .9}return n>=0&&r.some((a,o)=>Nw.test(a)&&WM.test(r[o+1]??""))||r.some(a=>Lw.test(a))?.9:0},async read(e,t){t.setSourceFormat("gjf"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/).map(h=>h.trim()),n=r.findIndex(h=>Lw.test(h)),a=n>=0?r.slice(0,n):r,o=h=>{for(;h<a.length&&a[h]==="";)h++;return h},i=h=>{for(;h<a.length&&a[h]!=="";)h++;return h};let s=o(0);for(;s<a.length&&a[s].startsWith("%");)s=o(s+1);const l=s;if(s<a.length&&a[s].startsWith("#")&&(s=o(i(s)),s=o(i(s))),!Nw.test(a[s]??"")){const h=a.findIndex((y,g)=>g>=l&&Nw.test(y)&&WM.test(a[g+1]??""));if(h<0)throw new Error("Gaussian input: could not find the charge/multiplicity line above the geometry.");s=h}const u=a[s].split(/\s+/).map(h=>parseInt(h,10));t.setRaw("gjfHeader",a.slice(0,s+1).join(`
1
+ import{$ as zu,r as Ee,j as _,c as pY}from"./vendor-react-Dka9ZH0B.js";var mY={};const hY=2048;function fY(e){const t=e.toLowerCase().match(/(\.[a-z0-9]+)$/);return t?t[1]:""}let gY=class{constructor(){this.readers=[]}register(e){if(this.readers.some(t=>t.meta.id===e.meta.id))throw new Error(`duplicate reader id: ${e.meta.id}`);return this.readers.push(e),this}list(){return this.readers.map(e=>e.meta)}supportedExtensions(){return[...new Set(this.readers.flatMap(e=>e.meta.extensions))].sort()}async resolve(e){const t=fY(e.filename),r=this.readers.filter(s=>s.meta.extensions.includes(t)),n=(await e.text()).slice(0,hY),a=r.length>0?r:this.readers.filter(s=>!s.meta.binary),o=await Promise.all(a.map(async s=>({r:s,score:await s.sniff(e,n),matchedExt:r.includes(s)})));o.sort((s,l)=>l.score-s.score||Number(l.matchedExt)-Number(s.matchedExt));const i=o[0];if(i&&i.score>=.1)return i.r;if(r.length===1)return r[0];throw new Error(`no reader could handle "${e.filename}". Supported: ${this.supportedExtensions().join(", ")}`)}};function l2(e,t,r,n,a,o){const i=Math.PI/180,s=n*i,l=a*i,u=o*i,c=Math.cos(s),d=Math.cos(l),p=Math.cos(u),m=Math.sin(u),f=r*d,h=r*(c-d*p)/m,y=1-c*c-d*d-p*p+2*c*d*p,g=r*Math.sqrt(Math.max(0,y))/m,x=new Float64Array(9);return x[0]=e,x[1]=0,x[2]=0,x[3]=t*p,x[4]=t*m,x[5]=0,x[6]=f,x[7]=h,x[8]=g,x}function Ls(e,t=[!0,!0,!0],r=[0,0,0]){return{vectors:e,pbc:t,origin:new Float64Array(r)}}function t1(e,t=[90,90,90],r=[0,0,0]){return h8(t)?yY(e,r):Ls(l2(e[0],e[1],e[2],t[0],t[1],t[2]),[!0,!0,!0],r)}function Mm(e){const[t,r,n]=e.map(s=>s*Math.PI/180);if(e.some(s=>!(s>0&&s<180)))return!1;const a=Math.cos(t),o=Math.cos(r),i=Math.cos(n);return 1-a*a-o*o-i*i+2*a*o*i>1e-6}function yY(e,t=[0,0,0]){const[r,n,a]=e;return Ls(new Float64Array([r,0,0,0,n,0,0,0,a]),[!0,!0,!0],t)}function h8(e){return e.every(t=>Math.abs(t-90)<1e-9)}const vY={meta:{id:"xyz",name:"XYZ / extended-XYZ",extensions:[".xyz",".extxyz"],kind:"both"},sniff(e,t){var r,n;const a=t.split(/\r?\n/),o=((r=a[0])==null?void 0:r.trim())??"";if(!/^\d+$/.test(o))return 0;const i=parseInt(o,10),s=((n=a[2])==null?void 0:n.trim())??"",l=/^[A-Za-z]{1,3}[0-9]*\s+[-+.\dEe]+\s+[-+.\dEe]+\s+[-+.\dEe]+/.test(s);return i>0&&l?.9:.4},async read(e,t){t.setSourceFormat("xyz");const r=(await e.text()).split(/\r?\n/);let n=0,a=0;const o=()=>{for(;n<r.length&&r[n].trim()==="";)n++;return n<r.length?r[n++]:null};for(;n<r.length;){const i=o();if(i===null)break;const s=parseInt(i.trim(),10);if(!Number.isFinite(s)||s<=0)break;const l=n<r.length?r[n++]:"",u=bY(l),c=new Float32Array(s*3);for(let d=0;d<s;d++){const p=r[n++];if(p===void 0)throw new Error(`XYZ truncated in frame ${a} at atom ${d}`);const m=p.trim().split(/\s+/),f=m[0]??"X",h=parseFloat(m[1]??"NaN"),y=parseFloat(m[2]??"NaN"),g=parseFloat(m[3]??"NaN");a===0?t.addAtom(f,h,y,g):(c[d*3]=h,c[d*3+1]=y,c[d*3+2]=g)}a===0?u&&(t.setCell(Ls(u)),t.note({source:"xyz",kind:"cell",severity:"info",message:'cell read from extended-XYZ Lattice="..."'})):t.addFrame(c,u?Ls(u):null),a++}a>1&&t.note({source:"xyz",kind:"trajectory",severity:"info",message:`read ${a} frames`})}};function bY(e){const t=e.match(/Lattice\s*=\s*"([^"]+)"/i);if(!t)return null;const r=t[1].trim().split(/\s+/).map(Number);return r.length!==9||r.some(n=>!Number.isFinite(n))?null:Float64Array.from(r)}const xY={meta:{id:"mol",name:"MDL MOL / SDF (V2000)",extensions:[".mol",".sdf"],kind:"both"},sniff(e,t){if(/V2000\s*$/m.test(t))return .95;const r=t.split(/\r?\n/)[3]??"";return/^\s*\d+\s+\d+/.test(r)?.4:0},async read(e,t){t.setSourceFormat("mol");const r=(await e.text()).split(/\r?\n/),n=r[3]??"",a=$v(n,0,3),o=$v(n,3,3);if(!Number.isFinite(a))throw new Error("MOL: could not read atom count");let i=4;for(let s=0;s<a;s++,i++){const l=r[i]??"",u=Rw(l,0,10),c=Rw(l,10,10),d=Rw(l,20,10),p=l.substring(31,34).trim()||(l.trim().split(/\s+/)[3]??"X");t.addAtom(p,u,c,d,{element:p})}for(let s=0;s<o;s++,i++){const l=r[i]??"",u=$v(l,0,3),c=$v(l,3,3),d=$v(l,6,3)||1;Number.isFinite(u)&&Number.isFinite(c)&&t.addBond(u-1,c-1,d)}o>0&&(t.markBondsFromFile(),t.note({source:"mol",kind:"bond",severity:"info",message:`${o} bonds read from file`}))}};function Rw(e,t,r){const n=parseFloat(e.substring(t,t+r));return Number.isFinite(n)?n:NaN}function $v(e,t,r){const n=e.substring(t,t+r).trim(),a=parseInt(n,10);return Number.isFinite(a)?a:NaN}const SY={meta:{id:"pdb",name:"Protein Data Bank (PDB)",extensions:[".pdb",".ent"],kind:"both"},sniff(e,t){return/^(ATOM|HETATM)/m.test(t)||/^CRYST1/m.test(t)||/^HEADER/m.test(t)?.85:0},async read(e,t){t.setSourceFormat("pdb");const r=(await e.text()).split(/\r?\n/);let n=0,a=[],o=!1,i=!1;for(const s of r){const l=s.substring(0,6).trim();if(l==="CRYST1"){const u=Ad(s,6,9),c=Ad(s,15,9),d=Ad(s,24,9),p=Ad(s,33,7),m=Ad(s,40,7),f=Ad(s,47,7);[u,c,d,p,m,f].every(Number.isFinite)&&u>0&&c>0&&d>0&&Mm([p,m,f])&&(t.setCell(Ls(l2(u,c,d,p,m,f))),t.note({source:"pdb",kind:"cell",severity:"info",message:"cell read from CRYST1"}));continue}if(l==="ATOM"||l==="HETATM"){const u=s.substring(12,16).trim(),c=s.substring(76,78).trim(),d=Ad(s,30,8),p=Ad(s,38,8),m=Ad(s,46,8);n===0?c?t.addAtom(u,d,p,m,{element:c}):(t.addAtom(u,d,p,m),/^(CA|CD|CO|HG|HF|NI|NA|NB|PB|SB|SN|CU|FE)$/i.test(u)&&(o=!0)):a.push(d,p,m);continue}if(l==="CONECT"){const u=VM(s,6,5);for(let c=11;c+5<=Math.max(s.length,31);c+=5){const d=VM(s,c,5);Number.isFinite(u)&&Number.isFinite(d)&&d>u&&(t.addBond(u-1,d-1,1),i=!0)}continue}if(l==="ENDMDL"){n>0&&t.addFrame(a),a=[],n++;continue}}i&&t.markBondsFromFile(),o&&t.note({source:"pdb",kind:"element",severity:"warning",message:'atom names present that are ambiguous as elements (e.g. "CA" = calcium or alpha-carbon); check the element panel'})}};function Ad(e,t,r){const n=parseFloat(e.substring(t,t+r));return Number.isFinite(n)?n:NaN}function VM(e,t,r){const n=parseInt(e.substring(t,t+r).trim(),10);return Number.isFinite(n)?n:NaN}const yg=10,CY={meta:{id:"gro",name:"GROMACS GRO",extensions:[".gro"],kind:"both"},sniff(e,t){const r=t.split(/\r?\n/);return/^\s*\d+\s*$/.test(r[1]??"")?.8:0},async read(e,t){t.setSourceFormat("gro"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=parseInt((r[1]??"").trim(),10);if(!Number.isFinite(n))throw new Error("GRO: bad atom count");for(let o=0;o<n;o++){const i=r[2+o]??"",s=i.substring(10,15).trim(),l=parseFloat(i.substring(20,28))*yg,u=parseFloat(i.substring(28,36))*yg,c=parseFloat(i.substring(36,44))*yg;t.addAtom(s,l,u,c)}const a=(r[2+n]??"").trim().split(/\s+/).map(Number);if(a.length>=3&&a.slice(0,3).every(o=>Number.isFinite(o)&&o>0)){const o=a[0],i=a[1],s=a[2],l=new Float64Array([o*yg,0,0,0,i*yg,0,0,0,s*yg]);t.setCell(Ls(l))}t.note({source:"gro",kind:"units",severity:"info",message:"positions/cell converted nm → Å"})}},HM=5e3,_Y={meta:{id:"lammpstrj",name:"LAMMPS dump",extensions:[".lammpstrj",".dump",".trj"],kind:"both"},sniff(e,t){return/^\s*ITEM:\s*TIMESTEP/m.test(t)?.95:0},async read(e,t){t.setSourceFormat("lammpstrj"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=[];for(let u=0;u<r.length;u++)(r[u]??"").startsWith("ITEM: TIMESTEP")&&n.push(u);if(n.length===0)throw new Error('LAMMPS: no "ITEM: TIMESTEP" found');let a=0,o=0,i=!1,s=!1,l=0;for(let u=0;u<n.length;u++){const c=n[u],d=u+1<n.length?n[u+1]:r.length,p=AY(r,c,d);if(!p||p.rows.length===0)continue;const m=p.rows.length<p.declared;if(a===0){for(const h of p.rows)t.addAtom(`type${h.type}`,h.x,h.y,h.z);if(t.setCell(qM(p.box)),o=p.rows.length,a=1,m){s=!0;break}continue}if(m){s=!0;break}if(p.rows.length!==o){l++;continue}const f=new Float32Array(o*3);for(let h=0;h<o;h++){const y=p.rows[h];f[h*3]=y.x,f[h*3+1]=y.y,f[h*3+2]=y.z}if(t.addFrame(f,qM(p.box)),a++,a>=HM){i=u+1<n.length;break}}if(a===0)throw new Error("LAMMPS: no complete frame found");t.note({source:"lammpstrj",kind:"coordinates",severity:"info",message:`LAMMPS dump: ${o} atoms, ${a} frame${a===1?"":"s"}. Assign elements per type in "Map types → elements".`}),l>0&&t.note({source:"lammpstrj",kind:"trajectory",severity:"warning",message:`${l} frame${l===1?"":"s"} skipped: atom count differed from the first frame (a changing-atom-count run can't play back with a fixed atom list).`}),s&&t.note({source:"lammpstrj",kind:"coordinates",severity:"warning",message:"file was truncated by the large-file size cap — later frames were not read."}),i&&t.note({source:"lammpstrj",kind:"trajectory",severity:"warning",message:`frame count capped at ${HM}; additional frames in the file were not read.`})}},GM={v:[1,0,0,0,1,0,0,0,1],origin:[0,0,0]};function qM(e){return Ls(new Float64Array(e.v),[!0,!0,!0],[...e.origin])}function wY(e,t,r,n){const a=b=>b.trim().split(/\s+/).map(Number).filter(Number.isFinite),o=a(t),i=a(r),s=a(n),l=e.replace(/^ITEM:\s*BOX BOUNDS/i,"").trim();if(/^abc\s+origin/i.test(l))return o.length<4||i.length<4||s.length<4?null:{v:[o[0],o[1],o[2],i[0],i[1],i[2],s[0],s[1],s[2]],origin:[o[3],i[3],s[3]]};if(o.length<2||i.length<2||s.length<2)return null;const u=/xy\s+xz\s+yz/i.test(l),c=u?o[2]??0:0,d=u?i[2]??0:0,p=u?s[2]??0:0,m=o[0]-Math.min(0,c,d,c+d),f=o[1]-Math.max(0,c,d,c+d),h=i[0]-Math.min(0,p),y=i[1]-Math.max(0,p),g=s[0],x=s[1];return{v:[f-m,0,0,c,y-h,0,d,p,x-g],origin:[m,h,g]}}function AY(e,t,r){const n=x=>{for(let b=t;b<r;b++)if((e[b]??"").startsWith(`ITEM: ${x}`))return b;return-1},a=n("NUMBER OF ATOMS");if(a<0)return null;const o=parseInt((e[a+1]??"").trim(),10);if(!Number.isFinite(o))return null;let i=GM;const s=n("BOX BOUNDS");s>=0&&(i=wY(e[s]??"",e[s+1]??"",e[s+2]??"",e[s+3]??"")??GM);const l=n("ATOMS");if(l<0)return null;const u=(e[l]??"").replace("ITEM: ATOMS","").trim().split(/\s+/),c=x=>u.indexOf(x),d=c("id"),p=c("type"),m=!(c("x")>=0||c("xu")>=0)&&c("xs")>=0,f=c("xu")>=0?c("xu"):c("x")>=0?c("x"):c("xs"),h=c("yu")>=0?c("yu"):c("y")>=0?c("y"):c("ys"),y=c("zu")>=0?c("zu"):c("z")>=0?c("z"):c("zs");if(f<0||h<0||y<0)throw new Error(`LAMMPS: no x/y/z columns in "${u.join(" ")}"`);const g=[];for(let x=0;x<o;x++){const b=e[l+1+x];if(b===void 0)break;const C=b.trim().split(/\s+/);if(C.length<=f)break;let S=parseFloat(C[f]),A=parseFloat(C[h]),E=parseFloat(C[y]);if(!Number.isFinite(S)||!Number.isFinite(A)||!Number.isFinite(E))continue;if(m){const P=i.v,M=i.origin,k=M[0]+S*P[0]+A*P[3]+E*P[6],D=M[1]+S*P[1]+A*P[4]+E*P[7],B=M[2]+S*P[2]+A*P[5]+E*P[8];S=k,A=D,E=B}const T=d>=0?parseInt(C[d]??"",10):x;g.push({id:Number.isFinite(T)?T:x,type:p>=0?C[p]??"?":"?",x:S,y:A,z:E})}return d>=0&&g.sort((x,b)=>x.id-b.id),{declared:o,box:i,rows:g}}const qI=["X","H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr"],f8=new Map;qI.forEach((e,t)=>{t>0&&f8.set(e.toLowerCase(),t)});function ou(e){return f8.get(e.toLowerCase())??0}function Kr(e){return qI[e]??"X"}const g8={1:1.008,2:4.003,3:6.941,4:9.012,5:10.811,6:12.011,7:14.007,8:15.999,9:18.998,10:20.18,11:22.99,12:24.305,13:26.982,14:28.086,15:30.974,16:32.065,17:35.453,18:39.948,19:39.098,20:40.078,21:44.956,22:47.867,23:50.942,24:51.996,25:54.938,26:55.845,27:58.933,28:58.693,29:63.546,30:65.38,31:69.723,32:72.64,33:74.922,34:78.96,35:79.904,36:83.798,53:126.904,78:195.084,79:196.967,47:107.868,82:207.2};function TY(e){return g8[e]??0}function EY(e,t=.5){let r=0,n=1/0;for(const[a,o]of Object.entries(g8)){const i=Math.abs(o-e);i<n&&(n=i,r=Number(a))}return n<=t?{z:r,delta:n}:{z:0,delta:n}}const IY=.77,PY={1:.31,2:.28,3:1.28,4:.96,5:.84,6:.76,7:.71,8:.66,9:.57,10:.58,11:1.66,12:1.41,13:1.21,14:1.11,15:1.07,16:1.05,17:1.02,18:1.06,19:2.03,20:1.76,21:1.7,22:1.6,23:1.53,24:1.39,25:1.39,26:1.32,27:1.26,28:1.24,29:1.32,30:1.22,31:1.22,32:1.2,33:1.19,34:1.2,35:1.2,36:1.16,53:1.39,78:1.36,79:1.36,47:1.45,82:1.46};function cf(e){return PY[e]??IY}const DY=1.7,kY={1:1.2,2:1.4,3:1.82,4:1.53,5:1.92,6:1.7,7:1.55,8:1.52,9:1.47,10:1.54,11:2.27,12:1.73,13:1.84,14:2.1,15:1.8,16:1.8,17:1.75,18:1.88,19:2.75,20:2.31,26:2,28:1.63,29:1.4,30:1.39,35:1.85,46:1.63,47:1.72,53:1.98,78:1.75,79:1.66,82:2.02};function Bc(e){return kY[e]??DY}const MY=[1,.45,.7],BY={1:[1,1,1],6:[.35,.35,.35],7:[.19,.31,.97],8:[1,.05,.05],9:[.56,.88,.31],15:[1,.5,0],16:[1,1,.19],17:[.12,.94,.12],35:[.65,.16,.16],53:[.58,0,.58],11:[.67,.36,.95],12:[.54,1,0],19:[.56,.25,.83],20:[.24,1,0],26:[.88,.4,.2],30:[.49,.5,.69],29:[.78,.5,.2],2:[.85,1,1]};function y8(e){return BY[e]??MY}function RY(e){var t;const r=((t=e.match(/^[A-Za-z]+/))==null?void 0:t[0])??"";if(r.length===0)return{z:0,confidence:0,note:"no element letters found (looks like an atom type/index, not an element)"};const n=ou(r[0]);if(r.length>=2){const a=r[0].toUpperCase()+r[1].toLowerCase(),o=ou(a);if(o&&n)return{z:o,confidence:.5,note:`ambiguous label "${e}": could be ${Kr(o)} or ${Kr(n)} — assumed ${Kr(o)}`};if(o){const i=r.length>2?` (ignored trailing "${r.slice(2)}")`:"";return{z:o,confidence:r.length>2?.85:.95,note:i||void 0}}return n?{z:n,confidence:.7,note:`"${r}" is not an element; used leading "${Kr(n)}"`}:{z:0,confidence:0,note:`"${r}" is not a recognisable element`}}return n?{z:n,confidence:.9}:{z:0,confidence:0,note:`"${r}" is not a recognisable element`}}const FY={meta:{id:"mol2",name:"Tripos MOL2",extensions:[".mol2"],kind:"both"},sniff(e,t){return/@<TRIPOS>MOLECULE/.test(t)?.95:0},async read(e,t){t.setSourceFormat("mol2");const r=(await e.text()).split(/\r?\n/);let n="",a=0,o=0,i=0,s=!1;for(const l of r){const u=l.trim();if(u.startsWith("@<TRIPOS>")){n=u.slice(9).toUpperCase();continue}if(!(u===""||u.startsWith("#"))){if(n==="ATOM"){const c=u.split(/\s+/);if(c.length<6)continue;const d=c[1]??"X",p=parseFloat(c[2]),m=parseFloat(c[3]),f=parseFloat(c[4]),h=c[5]??"",y=LY(h),g=c.length>=9?parseFloat(c[8]):NaN,x=Number.isFinite(g)?g:void 0;x!==void 0&&o++,y?t.addAtom(d,p,m,f,{element:y,charge:x}):(t.addAtom(d,p,m,f,{charge:x}),i++)}else if(n==="CRYSIN"){const c=u.split(/\s+/).map(Number);c.length>=6&&c.slice(0,6).every(d=>Number.isFinite(d)&&d>0)&&Mm([c[3],c[4],c[5]])&&(t.setCell(Ls(l2(c[0],c[1],c[2],c[3],c[4],c[5]))),s=!0)}else if(n==="BOND"){const c=u.split(/\s+/);if(c.length<4)continue;const d=parseInt(c[1],10),p=parseInt(c[2],10);if(!Number.isFinite(d)||!Number.isFinite(p))continue;t.addBond(d-1,p-1,NY(c[3]??"1")),a++}}}a>0&&(t.markBondsFromFile(),t.note({source:"mol2",kind:"bond",severity:"info",message:`${a} bonds read from file`})),s&&t.note({source:"mol2",kind:"cell",severity:"info",message:"periodic cell read from @<TRIPOS>CRYSIN"}),o>0&&t.note({source:"mol2",kind:"charge",severity:"info",message:`${o} partial charges read from file`}),i>0&&t.note({source:"mol2",kind:"element",severity:"warning",message:`${i} atom(s) had an unrecognised SYBYL type; element left to inference — check the element panel`})}};function LY(e){const t=(e.split(".")[0]??"").trim();return t&&ou(t)>0?t:null}function NY(e){const t=parseInt(e,10);return Number.isFinite(t)&&t>=1&&t<=3?t:1}const OY={meta:{id:"lammps-data",name:"LAMMPS data",extensions:[".data",".lmp",".lammps"],kind:"both"},sniff(e,t){return/^\s*\d+\s+atoms\b/m.test(t)&&/^\s*\d+\s+atom types\b/m.test(t)?.9:/LAMMPS data file/i.test(t)?.7:0},async read(e,t){t.setSourceFormat("lammps-data"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=String.raw`[-+]?[\d.]+(?:[eE][-+]?\d+)?`,a={};let o=[0,0,0];for(const h of r){const y=h.trim().match(new RegExp(String.raw`^(${n})\s+(${n})\s+([xyz])lo\s+\3hi`));if(y){a[y[3]]=[parseFloat(y[1]),parseFloat(y[2])];continue}const g=h.trim().match(new RegExp(String.raw`^(${n})\s+(${n})\s+(${n})\s+xy\s+xz\s+yz`));g&&(o=[parseFloat(g[1]),parseFloat(g[2]),parseFloat(g[3])])}if(a.x&&a.y&&a.z){const h=b=>a[b][1]-a[b][0],[y,g,x]=o;t.setCell(Ls(new Float64Array([h("x"),0,0,y,h("y"),0,g,x,h("z")]),[!0,!0,!0],[a.x[0],a.y[0],a.z[0]]))}const i=new Set(["Masses","Atoms","Bonds","Velocities","Angles","Dihedrals","Impropers","Pair","Bond","Angle","Dihedral","Improper"]),s={};let l="";for(const h of r){const y=h.split("#")[0].trim(),g=h.trim().split(/\s+/)[0]??"";if(i.has(g)&&/^[A-Za-z]/.test(h.trim())){l=h.trim().replace(/\s*#.*$/,""),s[l]=[];continue}l&&y!==""&&(s[l]??(s[l]=[])).push(y)}const u=new Map;for(const h of s.Masses??[]){const y=h.split(/\s+/),g=parseInt(y[0],10),x=parseFloat(y[1]);if(!Number.isFinite(g)||!Number.isFinite(x))continue;const{z:b}=EY(x);b>0&&u.set(g,b)}const c=s.Atoms??[];if(c.length===0)throw new Error("LAMMPS data: no Atoms section");const d=new Map;let p=0,m=0;c.forEach((h,y)=>{const g=h.split(/\s+/).map(Number),x=g[0],b=g[2];let C=g[4],S=g[5],A=g[6],E=!0;[C,S,A].every(Number.isFinite)||(E=!1,C=g[g.length-3],S=g[g.length-2],A=g[g.length-1]);const T=E&&g.length>=7?g[3]:NaN,P=Number.isFinite(T)?T:void 0;P!==void 0&&m++;const M=u.get(b);M?t.addAtom(Kr(M),C,S,A,{element:M,charge:P}):(t.addAtom(`type${b}`,C,S,A,{charge:P}),p++),d.set(x,y)});let f=0;for(const h of s.Bonds??[]){const y=h.split(/\s+/).map(Number),g=d.get(y[2]),x=d.get(y[3]);g!==void 0&&x!==void 0&&(t.addBond(g,x,1),f++)}f>0&&(t.markBondsFromFile(),t.note({source:"lammps-data",kind:"bond",severity:"info",message:`${f} bonds read from file`})),t.note({source:"lammps-data",kind:"element",severity:"info",message:`elements identified from Masses for ${u.size} type(s)`}),m>0&&t.note({source:"lammps-data",kind:"charge",severity:"info",message:`${m} per-atom charges read from the atom_style full "q" column`}),p>0&&t.note({source:"lammps-data",kind:"element",severity:"warning",message:`${p} atom(s) had a type with no identifiable mass — assign in "Map types → elements"`})}};function jY(e){return e[0]*(e[4]*e[8]-e[5]*e[7])-e[1]*(e[3]*e[8]-e[5]*e[6])+e[2]*(e[3]*e[7]-e[4]*e[6])}function Pp(e){const t=jY(e);if(Math.abs(t)<1e-12)throw new Error("singular 3x3 matrix (degenerate cell?)");const r=1/t,n=new Float64Array(9);return n[0]=(e[4]*e[8]-e[5]*e[7])*r,n[1]=(e[2]*e[7]-e[1]*e[8])*r,n[2]=(e[1]*e[5]-e[2]*e[4])*r,n[3]=(e[5]*e[6]-e[3]*e[8])*r,n[4]=(e[0]*e[8]-e[2]*e[6])*r,n[5]=(e[2]*e[3]-e[0]*e[5])*r,n[6]=(e[3]*e[7]-e[4]*e[6])*r,n[7]=(e[1]*e[6]-e[0]*e[7])*r,n[8]=(e[0]*e[4]-e[1]*e[3])*r,n}function Hi(e,t){return[e[0]*t[0]+e[1]*t[3]+e[2]*t[6],e[0]*t[1]+e[1]*t[4]+e[2]*t[7],e[0]*t[2]+e[1]*t[5]+e[2]*t[8]]}const zY={meta:{id:"cif",name:"CIF / mmCIF",extensions:[".cif",".mmcif"],kind:"both"},sniff(e,t){return/^data_/m.test(t)&&/_atom_site\./m.test(t)?.9:/^data_/m.test(t)&&/_cell\.length_a|_cell_length_a/m.test(t)?.6:0},async read(e,t){t.setSourceFormat("cif"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=k=>{for(const D of r){const B=D.trim();for(const R of k)if(B.toLowerCase().startsWith(R)){const F=parseFloat(B.slice(R.length).trim().split(/\s+/)[0]??"");if(Number.isFinite(F))return F}}return NaN},a=n(["_cell.length_a","_cell_length_a"]),o=n(["_cell.length_b","_cell_length_b"]),i=n(["_cell.length_c","_cell_length_c"]),s=n(["_cell.angle_alpha","_cell_angle_alpha"]),l=n(["_cell.angle_beta","_cell_angle_beta"]),u=n(["_cell.angle_gamma","_cell_angle_gamma"]);let c=null;[a,o,i,s,l,u].every(Number.isFinite)&&a>0&&o>0&&i>0&&Mm([s,l,u])&&(c=l2(a,o,i,s,l,u),t.setCell(Ls(c)),t.note({source:"cif",kind:"cell",severity:"info",message:"cell read from _cell params"}));const d=[],p=[];let m=0;for(;m<r.length;)if(r[m].trim()==="loop_"){const k=[];let D=m+1;for(;D<r.length&&r[D].trim().startsWith("_");)k.push(r[D].trim()),D++;if(k.some(B=>B.toLowerCase().startsWith("_atom_site"))){for(d.push(...k);D<r.length;){const B=r[D].trim();if(B===""||B==="loop_"||B.startsWith("_")||B.startsWith("data_")||B.startsWith("#"))break;p.push(UY(B)),D++}break}m=D}else m++;if(d.length===0)throw new Error("CIF: no _atom_site loop found");const f=k=>d.findIndex(D=>{const B=D.toLowerCase();return k.some(R=>B.endsWith(R))}),h=f(["type_symbol"]),y=f(["label_atom_id","label",".id"]),g=f(["fract_x"]),x=f(["fract_y"]),b=f(["fract_z"]),C=f(["cartn_x"]),S=f(["cartn_y"]),A=f(["cartn_z"]),E=g>=0&&x>=0&&b>=0,T=E?g:C,P=E?x:S,M=E?b:A;if(T<0||P<0||M<0)throw new Error("CIF: atom_site has no fract_* or Cartn_* coordinates");if(E&&!c)throw new Error("CIF: fractional coordinates but no cell to convert them");for(const k of p){if(k.length<=T)continue;let D=parseFloat(Fw(k[T])),B=parseFloat(Fw(k[P])),R=parseFloat(Fw(k[M]));if(![D,B,R].every(Number.isFinite))continue;if(E){const H=Hi([D,B,R],c);D=H[0],B=H[1],R=H[2]}const F=h>=0?k[h]??"":"",N=(y>=0?k[y]:void 0)??F??"X";F&&/^[A-Za-z]{1,2}$/.test(F)?t.addAtom(N,D,B,R,{element:F}):t.addAtom(N,D,B,R)}}};function UY(e){const t=[],r=/'([^']*)'|"([^"]*)"|(\S+)/g;let n;for(;n=r.exec(e);)t.push(n[1]??n[2]??n[3]??"");return t}function Fw(e){return e.replace(/\(\d+\)\s*$/,"")}const VY={meta:{id:"poscar",name:"VASP POSCAR/CONTCAR",extensions:[".poscar",".contcar",".vasp"],kind:"both"},sniff(e,t){const r=e.filename.toLowerCase();if(/poscar|contcar/.test(r))return .9;const n=t.split(/\r?\n/),a=parseFloat((n[1]??"").trim()),o=i=>(i??"").trim().split(/\s+/).map(Number).filter(Number.isFinite).length===3;return Number.isFinite(a)&&o(n[2])&&o(n[3])&&o(n[4])?.55:0},async read(e,t){t.setSourceFormat("poscar"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=r[0]??"",a=parseFloat((r[1]??"1").trim())||1,o=x=>(x??"").trim().split(/\s+/).map(Number),i=o(r[2]),s=o(r[3]),l=o(r[4]);if([i,s,l].some(x=>x.length<3||x.some(b=>!Number.isFinite(b))))throw new Error("POSCAR: could not read the three lattice vectors");const u=new Float64Array([i[0]*a,i[1]*a,i[2]*a,s[0]*a,s[1]*a,s[2]*a,l[0]*a,l[1]*a,l[2]*a]);t.setCell(Ls(u));let c=5;const d=(r[5]??"").trim().split(/\s+/),p=d.length>0&&d.every(x=>ou(x)>0);let m,f;if(p?(m=d,f=(r[6]??"").trim().split(/\s+/).map(x=>parseInt(x,10)),c=7):(m=n.trim().split(/\s+/).filter(x=>ou(x)>0),f=d.map(x=>parseInt(x,10)),c=6),f.some(x=>!Number.isFinite(x))||f.length===0)throw new Error("POSCAR: bad atom counts");m.length!==f.length&&t.note({source:"poscar",kind:"element",severity:"warning",message:`element list (${m.length}) doesn't match species count (${f.length}); elements may be wrong`}),/^\s*s/i.test(r[c]??"")&&c++;const h=(r[c]??"").trim(),y=/^[ck]/i.test(h);c++;const g=[];for(let x=0;x<f.length;x++){const b=m[x]??"X";for(let C=0;C<f[x];C++)g.push(b)}for(let x=0;x<g.length;x++){const b=(r[c+x]??"").trim().split(/\s+/).map(Number);if(b.length<3||b.slice(0,3).some(T=>!Number.isFinite(T)))break;let C=b[0],S=b[1],A=b[2];if(y)C*=a,S*=a,A*=a;else{const T=Hi([C,S,A],u);C=T[0],S=T[1],A=T[2]}const E=g[x];ou(E)>0?t.addAtom(E,C,S,A,{element:E}):t.addAtom(E,C,S,A)}t.note({source:"poscar",kind:"cell",severity:"info",message:`VASP ${p?"v5":"v4"} POSCAR, ${y?"cartesian":"direct"} coords, ${g.length} atoms`})}},HY={meta:{id:"xsf",name:"XCrySDen XSF",extensions:[".xsf",".axsf"],kind:"both"},sniff(e,t){return/^\s*(CRYSTAL|SLAB|POLYMER|MOLECULE|ATOMS|PRIMCOORD|PRIMVEC)\b/m.test(t)?.85:0},async read(e,t){t.setSourceFormat("xsf"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/).map(l=>l.trim()),n=r.findIndex(l=>/^PRIMVEC\b/.test(l));if(n>=0){const l=[];for(let u=1;u<=3;u++)l.push(...r[n+u].split(/\s+/).map(Number));l.length===9&&l.every(Number.isFinite)&&(t.setCell(Ls(Float64Array.from(l))),t.note({source:"xsf",kind:"cell",severity:"info",message:"cell read from PRIMVEC"}))}const a=r.findIndex(l=>/^PRIMCOORD\b/.test(l));let o,i;if(a>=0)i=parseInt((r[a+1]??"").split(/\s+/)[0]??"",10),o=a+2;else{const l=r.findIndex(u=>/^ATOMS\b/.test(u));if(l<0)throw new Error("XSF: no PRIMCOORD or ATOMS block found");o=l+1,i=1/0}let s=0;for(let l=0;l<i&&o+l<r.length;l++){const u=r[o+l].split(/\s+/);if(u.length<4)break;const c=GY(u[0]),d=parseFloat(u[1]),p=parseFloat(u[2]),m=parseFloat(u[3]);if(!c||![d,p,m].every(Number.isFinite))break;t.addAtom(c,d,p,m,{element:c}),s++}if(s===0)throw new Error("XSF: no atoms parsed")}};function GY(e){if(/^\d+$/.test(e)){const t=parseInt(e,10);return t>0?Kr(t):null}return ou(e)>0?e:null}const t0=5e3,qY=4,WY={meta:{id:"gaussian-log",name:"Gaussian output",extensions:[".log",".out"],kind:"both"},sniff(e,t){return/Entering Gaussian System/.test(t)?.98:/Gaussian\(R\)\s+\d+\s+program|Copyright \(c\) [\d-]+, Gaussian, Inc\./.test(t)?.95:/^\s+(Standard|Input|Z-Matrix) orientation:/m.test(t)?.9:0},async read(e,t){t.setSourceFormat("gaussian-log"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/),n=new Map,a=[];let o=0,i=null,s=!1;for(let E=0;E<r.length;E++){const T=r[E];if(!(T.length===0||T.charCodeAt(0)!==32))if(T.includes(" orientation:")){const P=XY(T);if(P){let M=n.get(P);M||n.set(P,M=[]),M.push(E)}}else if(T.includes("Optimization completed"))a.push(E);else if(o===0&&T.includes(" on scan point ")){const P=T.match(/out of\s+(\d+)\s*$/);P&&(o=parseInt(P[1],10))}else if(i===null&&T.includes("Charge =")){const P=T.match(/Charge =\s*(-?\d+)\s+Multiplicity =\s*(\d+)/);P&&(i=`charge ${P[1]}, multiplicity ${P[2]}`)}else T.includes("Error termination")&&(s=!0)}const l=n.get("input")??[],u=n.get("standard")??[],c=n.get("z-matrix")??[];let d="standard",p=u;for(const[E,T]of[["input",l],["z-matrix",c]])(T.length>p.length||E==="input"&&T.length===p.length&&T.length>0)&&(d=E,p=T);if(p.length===0)throw new Error(`No geometry found: this file has no "Standard orientation:" block. If it is not a Gaussian output, rename it with its own format's extension (.xyz, .pdb, .cif, …) so the right reader is used.`);const m=[];let f=0;for(const E of a){for(;f<p.length&&p[f]<E;)f++;if(f>0){const T=p[f-1];m[m.length-1]!==T&&m.push(T)}}const h=m.length===0;h&&m.push(p[p.length-1]);const y=m.length>t0,g=y?m.slice(0,t0):m;let x=0,b=0,C=0,S=0;for(const E of g){const T=$Y(r,E);if(T.length===0)continue;if(b===0){for(const M of T)M.z<=0&&S++,t.addAtom(Kr(M.z),M.x,M.y,M.zc,{element:M.z});x=T.length,b=1;continue}if(T.length!==x){C++;continue}const P=new Float32Array(x*3);for(let M=0;M<x;M++){const k=T[M];P[M*3]=k.x,P[M*3+1]=k.y,P[M*3+2]=k.zc}t.addFrame(P),b++}if(b===0)throw new Error("Gaussian log: geometry block found but no atoms could be read.");const A=d;o>0?t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`relaxed scan: ${b} converged geometries from ${o} scan points (${p.length} geometry blocks in file, ${A} orientation)`}):b>1?t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`${b} converged geometries from ${p.length} geometry blocks (${A} orientation)`}):t.note({source:"gaussian-log",kind:"trajectory",severity:"info",message:`single geometry (${A} orientation)`}),h&&p.length>1&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`no "Optimization completed" in this log — showing the last of ${p.length} geometries, which is NOT a converged structure`}),s&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:'the job ended in "Error termination" — geometries may be incomplete'}),C>0&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`${C} geometry block(s) skipped: atom count differs from the first`}),y&&t.note({source:"gaussian-log",kind:"trajectory",severity:"warning",message:`stopped at ${t0} frames; ${m.length-t0} more converged geometries were not read`}),S>0&&t.note({source:"gaussian-log",kind:"element",severity:"warning",message:`${S} centre(s) have atomic number <= 0 (ghost/dummy) and have no element`}),i&&t.note({source:"gaussian-log",kind:"topology",severity:"info",message:i})}};function XY(e){const t=e.match(/^\s*(Standard|Input|Z-Matrix) orientation:/);return t?t[1].toLowerCase():null}function $Y(e,t){const r=[];for(let n=t+qY+1;n<e.length;n++){const a=e[n];if(a.startsWith(" ---"))break;const o=a.trim().split(/\s+/);if(o.length<5)break;const i=parseInt(o[1],10),s=parseFloat(o[o.length-3]),l=parseFloat(o[o.length-2]),u=parseFloat(o[o.length-1]);if(!Number.isFinite(i)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(u))break;r.push({z:i,x:s,y:l,zc:u})}return r}const KY={meta:{id:"gjf",name:"Gaussian input",extensions:[".gjf",".com"],kind:"both"},sniff(e,t){const r=t.split(/\r?\n/).slice(0,40).map(a=>a.trim());if(r.some(a=>YY.test(a)))return .95;const n=r.findIndex(a=>a.startsWith("#"));if(n>=0){let a=n;for(;a<r.length&&r[a]!=="";)a++;const o=r.slice(n,a).join(" ");if(ZY.test(o))return .95;if((o.match(QY)??[]).length>=2)return .9}return n>=0&&r.some((a,o)=>Nw.test(a)&&WM.test(r[o+1]??""))||r.some(a=>Lw.test(a))?.9:0},async read(e,t){t.setSourceFormat("gjf"),t.setUnits("angstrom");const r=(await e.text()).split(/\r?\n/).map(h=>h.trim()),n=r.findIndex(h=>Lw.test(h)),a=n>=0?r.slice(0,n):r,o=h=>{for(;h<a.length&&a[h]==="";)h++;return h},i=h=>{for(;h<a.length&&a[h]!=="";)h++;return h};let s=o(0);for(;s<a.length&&a[s].startsWith("%");)s=o(s+1);const l=s;if(s<a.length&&a[s].startsWith("#")&&(s=o(i(s)),s=o(i(s))),!Nw.test(a[s]??"")){const h=a.findIndex((y,g)=>g>=l&&Nw.test(y)&&WM.test(a[g+1]??""));if(h<0)throw new Error("Gaussian input: could not find the charge/multiplicity line above the geometry.");s=h}const u=a[s].split(/\s+/).map(h=>parseInt(h,10));t.setRaw("gjfHeader",a.slice(0,s+1).join(`
2
2
  `)),s++;const c=[];for(;s<a.length&&a[s]!=="";)c.push(a[s++]);if(c.length===0)throw new Error("Gaussian input: the molecule specification is empty — no atoms found.");if(JY(c))throw new Error("Gaussian input uses a Z-matrix (internal coordinates); only Cartesian geometry is supported.");const d=r.slice(s).join(`
3
3
  `).replace(/^\s*\n/,"").replace(/\s+$/,"");d!==""&&(t.setRaw("gjfTrailer",d),t.setRaw("gjfAtomCount",String(c.length)));let p=0;for(const h of c){const y=h.split(/\s+/),g=eZ(y),x=parseFloat(y[g]??""),b=parseFloat(y[g+1]??""),C=parseFloat(y[g+2]??"");if(![x,b,C].every(Number.isFinite))throw new Error(`Gaussian input: could not read x/y/z from geometry line "${h}".`);const S=tZ(y[0]);if(S===null){p++,t.addAtom(y[0],x,b,C);continue}t.addAtom(typeof S=="number"?Kr(S):y[0],x,b,C,{element:S})}if(c.length-p===0)throw new Error("Gaussian input: no atoms parsed from the molecule specification.");const[m,f]=u;if(m!==void 0&&f!==void 0&&Number.isFinite(m)&&Number.isFinite(f)){const h=u.length>2?` (+${u.length-2>>1} more layer/fragment pair(s))`:"";t.note({source:"gjf",kind:"charge",severity:"info",message:`charge ${m}, spin multiplicity ${f}${h}`})}if(p>0&&t.note({source:"gjf",kind:"element",severity:"warning",message:`${p} atom(s) had an unrecognised element token; elements were inferred from the label instead`}),n>=0){const h=r.filter(y=>Lw.test(y)).length+1;t.note({source:"gjf",kind:"job",severity:"info",message:`deck contains ${h} stacked jobs (--Link1--); showing the geometry of the first`})}}},YY=/^%(chk|oldchk|rwf|int|d2e|mem|nproc(shared|linda)?|cpu|gpucpu|kjob|subst|save|nosave|lindaworkers|schk|srwf)\b\s*=/i,Lw=/^--\s*link1\s*--$/i,Nw=/^-?\d+(\s+-?\d+)+$/,WM=/^(?:[A-Za-z][A-Za-z0-9()=,.+-]*|\d{1,3})\s+-?[\d.]/,ZY=/\b[A-Za-z][\w+*-]*\/(?:[\w+*(),-]*\d[\w+*(),-]*|(?:aug-cc-p|cc-p|def2|lanl|sdd|sto|gen|genecp|midi|dgdzvp|ugbs|[qtd]zv?p)[\w+*(),-]*)/i,QY=/\b(opt|freq|td|tda|scf|geom|guess|pop|nmr|irc|scan|stable|force|polar|volume|integral|scrf|counterpoise|nosymm|symmetry|iop|gfinput|gfprint|empiricaldispersion|maxdisk|density|punch|restart)\b/gi;function JY(e){for(const t of e.slice(0,2))if(t.split(/\s+/).length<4)return!0;return e.some(t=>/^(variables|constants)\s*:?$/i.test(t))}function eZ(e){const t=/^-?\d+$/.test(e[1]??"");return e.length>=5&&t&&[e[2],e[3],e[4]].every(r=>r!==void 0&&Number.isFinite(Number(r)))?2:1}function tZ(e){if(/^\d+$/.test(e)){const r=parseInt(e,10);return r>0&&Kr(r)!=="X"?r:null}const t=e.split(/[(-]/)[0]??"";return ou(t)>0?t:null}function rZ(e){return e.register(vY).register(xY).register(SY).register(CY).register(_Y).register(FY).register(OY).register(zY).register(VY).register(HY).register(WY).register(KY)}function nZ(){return rZ(new gY)}var Bs=(e=>(e.File="FILE",e.PerceivedFromLabel="PERCEIVED_FROM_LABEL",e.UserSet="USER_SET",e.Unknown="UNKNOWN",e))(Bs||{}),fa=(e=>(e.File="FILE",e.Perceived="PERCEIVED",e.None="NONE",e))(fa||{});class gd{constructor(t){this.frames=t}get count(){return this.frames.length}getFrame(t){const r=this.frames[t];if(!r)throw new RangeError(`frame ${t} out of range (0..${this.frames.length-1})`);return r}}function v8(e,t=0,r){const n=e.topology,a=e.frames.getFrame(t);if(a instanceof Promise)throw new Error("systemToMmcif needs a synchronous frame");const o=a,i=o.cell??e.cell,s=["data_structure"];i&&s.push(aZ(i)),s.push("loop_","_atom_site.group_PDB","_atom_site.id","_atom_site.type_symbol","_atom_site.label_atom_id","_atom_site.label_comp_id","_atom_site.label_asym_id","_atom_site.label_seq_id","_atom_site.auth_seq_id","_atom_site.Cartn_x","_atom_site.Cartn_y","_atom_site.Cartn_z");const l=c=>{const d=Kr(n.atomicNumber[c]),p=d==="X"?"C":d;return(n.rawLabel[c]??p).replace(/\s+/g,"_")||p},u=c=>{const d=Kr(n.atomicNumber[c]);return d==="X"?"C":d};for(let c=0;c<n.atomCount;c++){const d=c+1,p=o.positions[c*3].toFixed(5),m=o.positions[c*3+1].toFixed(5),f=o.positions[c*3+2].toFixed(5);s.push(`ATOM ${c+1} ${u(c)} ${l(c)} MOL A ${d} ${d} ${p} ${m} ${f}`)}if(n.bonds.length>0){s.push("loop_","_struct_conn.id","_struct_conn.conn_type_id","_struct_conn.ptnr1_label_asym_id","_struct_conn.ptnr1_label_comp_id","_struct_conn.ptnr1_label_seq_id","_struct_conn.ptnr1_auth_seq_id","_struct_conn.ptnr1_label_atom_id","_struct_conn.ptnr2_label_asym_id","_struct_conn.ptnr2_label_comp_id","_struct_conn.ptnr2_label_seq_id","_struct_conn.ptnr2_auth_seq_id","_struct_conn.ptnr2_label_atom_id","_struct_conn.pdbx_value_order");const c=["sing","sing","doub","trip","quad"];n.bonds.forEach((d,p)=>{if(r!=null&&r.has(p))return;const m=d.i+1,f=d.j+1,h=c[Math.max(1,Math.min(4,Math.round(d.order)))]??"sing";s.push(`covale${p+1} covale A MOL ${m} ${m} ${l(d.i)} A MOL ${f} ${f} ${l(d.j)} ${h}`)})}return s.join(`
4
4
  `)+`
@@ -1 +1 @@
1
- import{r as a,j as g,R as Fe,a as At}from"./vendor-react-DQUAl2K8.js";import{R as Ot,h as _t}from"./vendor-D3SOLPPh.js";function S(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e==null||e(r),n===!1||!r.defaultPrevented)return t==null?void 0:t(r)}}function on(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function lr(...e){return t=>{let n=!1;const o=e.map(r=>{const s=on(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;r<o.length;r++){const s=o[r];typeof s=="function"?s():on(e[r],null)}}}}function B(...e){return a.useCallback(lr(...e),e)}function ve(e,t=[]){let n=[];function o(s,i){const c=a.createContext(i);c.displayName=s+"Context";const u=n.length;n=[...n,i];const d=l=>{var x;const{scope:m,children:p,...h}=l,v=((x=m==null?void 0:m[e])==null?void 0:x[u])||c,w=a.useMemo(()=>h,Object.values(h));return g.jsx(v.Provider,{value:w,children:p})};d.displayName=s+"Provider";function f(l,m){var v;const p=((v=m==null?void 0:m[e])==null?void 0:v[u])||c,h=a.useContext(p);if(h)return h;if(i!==void 0)return i;throw new Error(`\`${l}\` must be used within \`${s}\``)}return[d,f]}const r=()=>{const s=n.map(i=>a.createContext(i));return function(c){const u=(c==null?void 0:c[e])||s;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return r.scopeName=e,[o,fr(r,...t)]}function fr(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(s){const i=o.reduce((c,{useScope:u,scopeName:d})=>{const l=u(s)[`__scope${d}`];return{...c,...l}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var ee=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},dr=Fe[" useId ".trim().toString()]||(()=>{}),pr=0;function he(e){const[t,n]=a.useState(dr());return ee(()=>{n(o=>o??String(pr++))},[e]),e||(t?`radix-${t}`:"")}var rn=Fe[" useEffectEvent ".trim().toString()],sn=Fe[" useInsertionEffect ".trim().toString()];function mr(e){if(typeof rn=="function")return rn(e);const t=a.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof sn=="function"?sn(()=>{t.current=e}):ee(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)}),[])}var hr=Fe[" useInsertionEffect ".trim().toString()]||ee;function tt({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,s,i]=gr({defaultProp:t,onChange:n}),c=e!==void 0,u=c?e:r;{const f=a.useRef(e!==void 0);a.useEffect(()=>{const l=f.current;l!==c&&console.warn(`${o} is changing from ${l?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,o])}const d=a.useCallback(f=>{var l;if(c){const m=vr(f)?f(e):f;m!==e&&((l=i.current)==null||l.call(i,m))}else s(f)},[c,e,s,i]);return[u,d]}function gr({defaultProp:e,onChange:t}){const[n,o]=a.useState(e),r=a.useRef(n),s=a.useRef(t);return hr(()=>{s.current=t},[t]),a.useEffect(()=>{var i;r.current!==n&&((i=s.current)==null||i.call(s,n),r.current=n)},[n,r]),[n,o,s]}function vr(e){return typeof e=="function"}function Re(e){const t=a.forwardRef((n,o)=>{let{children:r,...s}=n,i=null,c=!1;const u=[];cn(r)&&typeof Ke=="function"&&(r=Ke(r._payload)),a.Children.forEach(r,m=>{var p;if(Cr(m)){c=!0;const h=m;let v="child"in h.props?h.props.child:h.props.children;cn(v)&&typeof Ke=="function"&&(v=Ke(v._payload)),i=xr(h,v),u.push((p=i==null?void 0:i.props)==null?void 0:p.children)}else u.push(m)}),i?i=a.cloneElement(i,void 0,u):!c&&a.Children.count(r)===1&&a.isValidElement(r)&&(i=r);const d=i?Rr(i):void 0,f=B(o,d);if(!i){if(r||r===0)throw new Error(c?Sr(e):Pr(e));return r}const l=yr(s,i.props??{});return i.type!==a.Fragment&&(l.ref=o?f:d),a.cloneElement(i,l)});return t.displayName=`${e}.Slot`,t}var wr=Symbol.for("radix.slottable"),xr=(e,t)=>{if("child"in e.props){const n=e.props.child;return a.isValidElement(n)?a.cloneElement(n,void 0,e.props.children(n.props.children)):null}return a.isValidElement(t)?t:null};function yr(e,t){const n={...t};for(const o in t){const r=e[o],s=t[o];/^on[A-Z]/.test(o)?r&&s?n[o]=(...c)=>{const u=s(...c);return r(...c),u}:r&&(n[o]=r):o==="style"?n[o]={...r,...s}:o==="className"&&(n[o]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}function Rr(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Cr(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===wr}var Er=Symbol.for("react.lazy");function cn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Er&&"_payload"in e&&br(e._payload)}function br(e){return typeof e=="object"&&e!==null&&"then"in e}var Pr=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Sr=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Ke=Fe[" use ".trim().toString()],Mr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],k=Mr.reduce((e,t)=>{const n=Re(`Primitive.${t}`),o=a.forwardRef((r,s)=>{const{asChild:i,...c}=r,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(u,{...c,ref:s})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function An(e,t){e&&At.flushSync(()=>e.dispatchEvent(t))}function ue(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)}),[])}var Ar="DismissableLayer",Ct="dismissableLayer.update",Or="dismissableLayer.pointerDownOutside",_r="dismissableLayer.focusOutside",an,Dt=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),nt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:o=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:c,onDismiss:u,...d}=e,f=a.useContext(Dt),[l,m]=a.useState(null),p=(l==null?void 0:l.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=a.useState({}),v=B(t,m),w=Array.from(f.layers),[x]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),R=w.indexOf(x),y=l?w.indexOf(l):-1,C=f.layersWithOutsidePointerEventsDisabled.size>0,b=y>=R,P=a.useRef(!1),O=Nr(A=>{const F=A.target;if(!(F instanceof Node))return;const N=[...f.branches].some(I=>I.contains(F));!b||N||(s==null||s(A),c==null||c(A),A.defaultPrevented||u==null||u())},{ownerDocument:p,deferPointerDownOutside:o,isDeferredPointerDownOutsideRef:P,dismissableSurfaces:f.dismissableSurfaces}),_=Fr(A=>{if(o&&P.current)return;const F=A.target;[...f.branches].some(I=>I.contains(F))||(i==null||i(A),c==null||c(A),A.defaultPrevented||u==null||u())},p),L=l?y===w.length-1:!1,T=mr(A=>{A.key==="Escape"&&(r==null||r(A),!A.defaultPrevented&&u&&(A.preventDefault(),u()))});return a.useEffect(()=>{if(L)return p.addEventListener("keydown",T,{capture:!0}),()=>p.removeEventListener("keydown",T,{capture:!0})},[p,L]),a.useEffect(()=>{if(l)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(an=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(l)),f.layers.add(l),un(),()=>{n&&(f.layersWithOutsidePointerEventsDisabled.delete(l),f.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=an))}},[l,p,n,f]),a.useEffect(()=>()=>{l&&(f.layers.delete(l),f.layersWithOutsidePointerEventsDisabled.delete(l),un())},[l,f]),a.useEffect(()=>{const A=()=>h({});return document.addEventListener(Ct,A),()=>document.removeEventListener(Ct,A)},[]),g.jsx(k.div,{...d,ref:v,style:{pointerEvents:C?b?"auto":"none":void 0,...e.style},onFocusCapture:S(e.onFocusCapture,_.onFocusCapture),onBlurCapture:S(e.onBlurCapture,_.onBlurCapture),onPointerDownCapture:S(e.onPointerDownCapture,O.onPointerDownCapture)})});nt.displayName=Ar;var Dr="DismissableLayerBranch",Ir=a.forwardRef((e,t)=>{const n=a.useContext(Dt),o=a.useRef(null),r=B(t,o);return a.useEffect(()=>{const s=o.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),g.jsx(k.div,{...e,ref:r})});Ir.displayName=Dr;function Tr(){const e=a.useContext(Dt),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function Nr(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s}=t,i=ue(e),c=a.useRef(!1),u=a.useRef(!1),d=a.useRef(new Map),f=a.useRef(()=>{});return a.useEffect(()=>{function l(){u.current=!1,r.current=!1,d.current.clear()}function m(){return Array.from(d.current.values()).some(Boolean)}function p(R){if(!u.current)return;const y=R.target;y instanceof Node&&[...s].some(b=>b.contains(y))||d.current.set(R.type,!0),R.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}function h(R){u.current&&d.current.set(R.type,!1)}const v=R=>{if(R.target&&!c.current){let y=function(){n.removeEventListener("click",f.current);const b=m();l(),b||On(Or,i,C,{discrete:!0})};const C={originalEvent:R};u.current=!0,r.current=o&&R.button===0,d.current.clear(),!o||R.button!==0?y():(n.removeEventListener("click",f.current),f.current=y,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),l();c.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const R of w)n.addEventListener(R,p,!0),n.addEventListener(R,h);const x=window.setTimeout(()=>{n.addEventListener("pointerdown",v)},0);return()=>{window.clearTimeout(x),n.removeEventListener("pointerdown",v),n.removeEventListener("click",f.current);for(const R of w)n.removeEventListener(R,p,!0),n.removeEventListener(R,h)}},[n,i,o,r,s]),{onPointerDownCapture:()=>c.current=!0}}function Fr(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e),o=a.useRef(!1);return a.useEffect(()=>{const r=s=>{s.target&&!o.current&&On(_r,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function un(){const e=new CustomEvent(Ct);document.dispatchEvent(e)}function On(e,t,n,{discrete:o}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?An(r,s):r.dispatchEvent(s)}var gt="focusScope.autoFocusOnMount",vt="focusScope.autoFocusOnUnmount",ln={bubbles:!1,cancelable:!0},Lr="FocusScope",ot=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:s,...i}=e,[c,u]=a.useState(null),d=ue(r),f=ue(s),l=a.useRef(null),m=B(t,u),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(o){let v=function(y){if(p.paused||!c)return;const C=y.target;c.contains(C)?l.current=C:ae(l.current,{select:!0})},w=function(y){if(p.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||ae(l.current,{select:!0}))},x=function(y){if(document.activeElement===document.body)for(const b of y)b.removedNodes.length>0&&ae(c)};document.addEventListener("focusin",v),document.addEventListener("focusout",w);const R=new MutationObserver(x);return c&&R.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",w),R.disconnect()}}},[o,c,p.paused]),a.useEffect(()=>{if(c){dn.add(p);const v=document.activeElement;if(!c.contains(v)){const x=new CustomEvent(gt,ln);c.addEventListener(gt,d),c.dispatchEvent(x),x.defaultPrevented||(jr(Wr(_n(c)),{select:!0}),document.activeElement===v&&ae(c))}return()=>{c.removeEventListener(gt,d),setTimeout(()=>{const x=new CustomEvent(vt,ln);c.addEventListener(vt,f),c.dispatchEvent(x),x.defaultPrevented||ae(v??document.body,{select:!0}),c.removeEventListener(vt,f),dn.remove(p)},0)}}},[c,d,f,p]);const h=a.useCallback(v=>{if(!n&&!o||p.paused)return;const w=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,x=document.activeElement;if(w&&x){const R=v.currentTarget,[y,C]=kr(R);y&&C?!v.shiftKey&&x===C?(v.preventDefault(),n&&ae(y,{select:!0})):v.shiftKey&&x===y&&(v.preventDefault(),n&&ae(C,{select:!0})):x===R&&v.preventDefault()}},[n,o,p.paused]);return g.jsx(k.div,{tabIndex:-1,...i,ref:m,onKeyDown:h})});ot.displayName=Lr;function jr(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(ae(o,{select:t}),document.activeElement!==n)return}function kr(e){const t=_n(e),n=fn(t,e),o=fn(t.reverse(),e);return[n,o]}function _n(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function fn(e,t){for(const n of e)if(!$r(n,{upTo:t}))return n}function $r(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 Br(e){return e instanceof HTMLInputElement&&"select"in e}function ae(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Br(e)&&t&&e.select()}}var dn=Ur();function Ur(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=pn(e,t),e.unshift(t)},remove(t){var n;e=pn(e,t),(n=e[0])==null||n.resume()}}}function pn(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function Wr(e){return e.filter(t=>t.tagName!=="A")}var Kr="Portal",rt=a.forwardRef((e,t)=>{var c;const{container:n,...o}=e,[r,s]=a.useState(!1);ee(()=>s(!0),[]);const i=n||r&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?At.createPortal(g.jsx(k.div,{...o,ref:t}),i):null});rt.displayName=Kr;function Gr(e,t){return a.useReducer((n,o)=>t[n][o]??n,e)}var ne=e=>{const{present:t,children:n}=e,o=Vr(t),r=typeof n=="function"?n({present:o.isPresent}):a.Children.only(n),s=Hr(o.ref,zr(r));return typeof n=="function"||o.isPresent?a.cloneElement(r,{ref:s}):null};ne.displayName="Presence";function Vr(e){const[t,n]=a.useState(),o=a.useRef(null),r=a.useRef(e),s=a.useRef("none"),i=e?"mounted":"unmounted",[c,u]=Gr(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const d=Ge(o.current);s.current=c==="mounted"?d:"none"},[c]),ee(()=>{const d=o.current,f=r.current;if(f!==e){const m=s.current,p=Ge(d);e?u("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&m!==p?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),ee(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,l=p=>{const v=Ge(o.current).includes(CSS.escape(p.animationName));if(p.target===t&&v&&(u("ANIMATION_END"),!r.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},m=p=>{p.target===t&&(s.current=Ge(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",l),t.addEventListener("animationend",l),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",l),t.removeEventListener("animationend",l)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(d=>{o.current=d?getComputedStyle(d):null,n(d)},[])}}function mn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Hr(...e){const t=a.useRef(e);return t.current=e,a.useCallback(n=>{const o=t.current;let r=!1;const s=o.map(i=>{const c=mn(i,n);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let i=0;i<s.length;i++){const c=s[i];typeof c=="function"?c():mn(o[i],null)}}},[])}function Ge(e){return(e==null?void 0:e.animationName)||"none"}function zr(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ve=0,J=null;function It(){a.useEffect(()=>{J||(J={start:hn(),end:hn()});const{start:e,end:t}=J;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ve++,()=>{Ve===1&&(J==null||J.start.remove(),J==null||J.end.remove(),J=null),Ve=Math.max(0,Ve-1)}},[])}function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var st="Dialog",[Dn]=ve(st),[Yr,q]=Dn(st),Xr=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:s,modal:i=!0}=e,c=a.useRef(null),u=a.useRef(null),[d,f]=tt({prop:o,defaultProp:r??!1,onChange:s,caller:st});return g.jsx(Yr,{scope:t,triggerRef:c,contentRef:u,contentId:he(),titleId:he(),descriptionId:he(),open:d,onOpenChange:f,onOpenToggle:a.useCallback(()=>f(l=>!l),[f]),modal:i,children:n})};Xr.displayName=st;var In="DialogTrigger",Zr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(In,n),s=B(t,r.triggerRef);return g.jsx(k.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Nt(r.open),...o,ref:s,onClick:S(e.onClick,r.onOpenToggle)})});Zr.displayName=In;var Tt="DialogPortal",[qr,Tn]=Dn(Tt,{forceMount:void 0}),Jr=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,s=q(Tt,t);return g.jsx(qr,{scope:t,forceMount:n,children:a.Children.map(o,i=>g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:i})}))})};Jr.displayName=Tt;var Ye="DialogOverlay",Qr=a.forwardRef((e,t)=>{const n=Tn(Ye,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,s=q(Ye,e.__scopeDialog);return s.modal?g.jsx(ne,{present:o||s.open,children:g.jsx(ts,{...r,ref:t})}):null});Qr.displayName=Ye;var es=Re("DialogOverlay.RemoveScroll"),ts=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Ye,n),s=Tr(),i=B(t,s);return g.jsx(Ot,{as:es,allowPinchZoom:!0,shards:[r.contentRef],children:g.jsx(k.div,{"data-state":Nt(r.open),...o,ref:i,style:{pointerEvents:"auto",...o.style}})})}),Ce="DialogContent",ns=a.forwardRef((e,t)=>{const n=Tn(Ce,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,s=q(Ce,e.__scopeDialog);return g.jsx(ne,{present:o||s.open,children:s.modal?g.jsx(os,{...r,ref:t}):g.jsx(rs,{...r,ref:t})})});ns.displayName=Ce;var os=a.forwardRef((e,t)=>{const n=q(Ce,e.__scopeDialog),o=a.useRef(null),r=B(t,n.contentRef,o);return a.useEffect(()=>{const s=o.current;if(s)return _t(s)},[]),g.jsx(Nn,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:S(e.onCloseAutoFocus,s=>{var i;s.preventDefault(),(i=n.triggerRef.current)==null||i.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,s=>{const i=s.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&s.preventDefault()}),onFocusOutside:S(e.onFocusOutside,s=>s.preventDefault())})}),rs=a.forwardRef((e,t)=>{const n=q(Ce,e.__scopeDialog),o=a.useRef(!1),r=a.useRef(!1);return g.jsx(Nn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,s),s.defaultPrevented||(o.current||(c=n.triggerRef.current)==null||c.focus(),s.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:s=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(i))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&r.current&&s.preventDefault()}})}),Nn=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:s,...i}=e,c=q(Ce,n);return It(),g.jsx(g.Fragment,{children:g.jsx(ot,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:s,children:g.jsx(nt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Nt(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),Fn="DialogTitle",ss=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Fn,n);return g.jsx(k.h2,{id:r.titleId,...o,ref:t})});ss.displayName=Fn;var Ln="DialogDescription",is=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Ln,n);return g.jsx(k.p,{id:r.descriptionId,...o,ref:t})});is.displayName=Ln;var jn="DialogClose",cs=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(jn,n);return g.jsx(k.button,{type:"button",...o,ref:t,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});cs.displayName=jn;function Nt(e){return e?"open":"closed"}function kn(e){const t=e+"CollectionProvider",[n,o]=ve(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=v=>{const{scope:w,children:x}=v,R=a.useRef(null),y=a.useRef(new Map).current;return g.jsx(r,{scope:w,itemMap:y,collectionRef:R,children:x})};i.displayName=t;const c=e+"CollectionSlot",u=Re(c),d=a.forwardRef((v,w)=>{const{scope:x,children:R}=v,y=s(c,x),C=B(w,y.collectionRef);return g.jsx(u,{ref:C,children:R})});d.displayName=c;const f=e+"CollectionItemSlot",l="data-radix-collection-item",m=Re(f),p=a.forwardRef((v,w)=>{const{scope:x,children:R,...y}=v,C=a.useRef(null),b=B(w,C),P=s(f,x);return a.useEffect(()=>(P.itemMap.set(C,{ref:C,...y}),()=>void P.itemMap.delete(C))),g.jsx(m,{[l]:"",ref:b,children:R})});p.displayName=f;function h(v){const w=s(e+"CollectionConsumer",v);return a.useCallback(()=>{const R=w.collectionRef.current;if(!R)return[];const y=Array.from(R.querySelectorAll(`[${l}]`));return Array.from(w.itemMap.values()).sort((P,O)=>y.indexOf(P.ref.current)-y.indexOf(O.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:i,Slot:d,ItemSlot:p},h,o]}var as=a.createContext(void 0);function $n(e){const t=a.useContext(as);return e||t||"ltr"}const us=["top","right","bottom","left"],le=Math.min,V=Math.max,Xe=Math.round,He=Math.floor,te=e=>({x:e,y:e}),ls={left:"right",right:"left",bottom:"top",top:"bottom"};function Et(e,t,n){return V(e,le(t,n))}function re(e,t){return typeof e=="function"?e(t):e}function se(e){return e.split("-")[0]}function Pe(e){return e.split("-")[1]}function Ft(e){return e==="x"?"y":"x"}function Lt(e){return e==="y"?"height":"width"}function Q(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function jt(e){return Ft(Q(e))}function fs(e,t,n){n===void 0&&(n=!1);const o=Pe(e),r=jt(e),s=Lt(r);let i=r==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=Ze(i)),[i,Ze(i)]}function ds(e){const t=Ze(e);return[bt(e),t,bt(t)]}function bt(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const gn=["left","right"],vn=["right","left"],ps=["top","bottom"],ms=["bottom","top"];function hs(e,t,n){switch(e){case"top":case"bottom":return n?t?vn:gn:t?gn:vn;case"left":case"right":return t?ps:ms;default:return[]}}function gs(e,t,n,o){const r=Pe(e);let s=hs(se(e),n==="start",o);return r&&(s=s.map(i=>i+"-"+r),t&&(s=s.concat(s.map(bt)))),s}function Ze(e){const t=se(e);return ls[t]+e.slice(t.length)}function vs(e){return{top:0,right:0,bottom:0,left:0,...e}}function Bn(e){return typeof e!="number"?vs(e):{top:e,right:e,bottom:e,left:e}}function qe(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function wn(e,t,n){let{reference:o,floating:r}=e;const s=Q(t),i=jt(t),c=Lt(i),u=se(t),d=s==="y",f=o.x+o.width/2-r.width/2,l=o.y+o.height/2-r.height/2,m=o[c]/2-r[c]/2;let p;switch(u){case"top":p={x:f,y:o.y-r.height};break;case"bottom":p={x:f,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:l};break;case"left":p={x:o.x-r.width,y:l};break;default:p={x:o.x,y:o.y}}switch(Pe(t)){case"start":p[i]-=m*(n&&d?-1:1);break;case"end":p[i]+=m*(n&&d?-1:1);break}return p}async function ws(e,t){var n;t===void 0&&(t={});const{x:o,y:r,platform:s,rects:i,elements:c,strategy:u}=e,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:l="floating",altBoundary:m=!1,padding:p=0}=re(t,e),h=Bn(p),w=c[m?l==="floating"?"reference":"floating":l],x=qe(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(w)))==null||n?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:d,rootBoundary:f,strategy:u})),R=l==="floating"?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},b=qe(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:R,offsetParent:y,strategy:u}):R);return{top:(x.top-b.top+h.top)/C.y,bottom:(b.bottom-x.bottom+h.bottom)/C.y,left:(x.left-b.left+h.left)/C.x,right:(b.right-x.right+h.right)/C.x}}const xs=50,ys=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:s=[],platform:i}=n,c=i.detectOverflow?i:{...i,detectOverflow:ws},u=await(i.isRTL==null?void 0:i.isRTL(t));let d=await i.getElementRects({reference:e,floating:t,strategy:r}),{x:f,y:l}=wn(d,o,u),m=o,p=0;const h={};for(let v=0;v<s.length;v++){const w=s[v];if(!w)continue;const{name:x,fn:R}=w,{x:y,y:C,data:b,reset:P}=await R({x:f,y:l,initialPlacement:o,placement:m,strategy:r,middlewareData:h,rects:d,platform:c,elements:{reference:e,floating:t}});f=y??f,l=C??l,h[x]={...h[x],...b},P&&p<xs&&(p++,typeof P=="object"&&(P.placement&&(m=P.placement),P.rects&&(d=P.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:r}):P.rects),{x:f,y:l}=wn(d,m,u)),v=-1)}return{x:f,y:l,placement:m,strategy:r,middlewareData:h}},Rs=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:s,platform:i,elements:c,middlewareData:u}=t,{element:d,padding:f=0}=re(e,t)||{};if(d==null)return{};const l=Bn(f),m={x:n,y:o},p=jt(r),h=Lt(p),v=await i.getDimensions(d),w=p==="y",x=w?"top":"left",R=w?"bottom":"right",y=w?"clientHeight":"clientWidth",C=s.reference[h]+s.reference[p]-m[p]-s.floating[h],b=m[p]-s.reference[p],P=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=P?P[y]:0;(!O||!await(i.isElement==null?void 0:i.isElement(P)))&&(O=c.floating[y]||s.floating[h]);const _=C/2-b/2,L=O/2-v[h]/2-1,T=le(l[x],L),A=le(l[R],L),F=T,N=O-v[h]-A,I=O/2-v[h]/2+_,U=Et(F,I,N),D=!u.arrow&&Pe(r)!=null&&I!==U&&s.reference[h]/2-(I<F?T:A)-v[h]/2<0,$=D?I<F?I-F:I-N:0;return{[p]:m[p]+$,data:{[p]:U,centerOffset:I-U-$,...D&&{alignmentOffset:$}},reset:D}}}),Cs=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:s,rects:i,initialPlacement:c,platform:u,elements:d}=t,{mainAxis:f=!0,crossAxis:l=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:v=!0,...w}=re(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const x=se(r),R=Q(c),y=se(c)===c,C=await(u.isRTL==null?void 0:u.isRTL(d.floating)),b=m||(y||!v?[Ze(c)]:ds(c)),P=h!=="none";!m&&P&&b.push(...gs(c,v,h,C));const O=[c,...b],_=await u.detectOverflow(t,w),L=[];let T=((o=s.flip)==null?void 0:o.overflows)||[];if(f&&L.push(_[x]),l){const I=fs(r,i,C);L.push(_[I[0]],_[I[1]])}if(T=[...T,{placement:r,overflows:L}],!L.every(I=>I<=0)){var A,F;const I=(((A=s.flip)==null?void 0:A.index)||0)+1,U=O[I];if(U&&(!(l==="alignment"?R!==Q(U):!1)||T.every(M=>Q(M.placement)===R?M.overflows[0]>0:!0)))return{data:{index:I,overflows:T},reset:{placement:U}};let D=(F=T.filter($=>$.overflows[0]<=0).sort(($,M)=>$.overflows[1]-M.overflows[1])[0])==null?void 0:F.placement;if(!D)switch(p){case"bestFit":{var N;const $=(N=T.filter(M=>{if(P){const E=Q(M.placement);return E===R||E==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(E=>E>0).reduce((E,j)=>E+j,0)]).sort((M,E)=>M[1]-E[1])[0])==null?void 0:N[0];$&&(D=$);break}case"initialPlacement":D=c;break}if(r!==D)return{reset:{placement:D}}}return{}}}};function xn(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function yn(e){return us.some(t=>e[t]>=0)}const Es=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:o}=t,{strategy:r="referenceHidden",...s}=re(e,t);switch(r){case"referenceHidden":{const i=await o.detectOverflow(t,{...s,elementContext:"reference"}),c=xn(i,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:yn(c)}}}case"escaped":{const i=await o.detectOverflow(t,{...s,altBoundary:!0}),c=xn(i,n.floating);return{data:{escapedOffsets:c,escaped:yn(c)}}}default:return{}}}}},Un=new Set(["left","top"]);async function bs(e,t){const{placement:n,platform:o,elements:r}=e,s=await(o.isRTL==null?void 0:o.isRTL(r.floating)),i=se(n),c=Pe(n),u=Q(n)==="y",d=Un.has(i)?-1:1,f=s&&u?-1:1,l=re(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof l=="number"?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return c&&typeof h=="number"&&(p=c==="end"?h*-1:h),u?{x:p*f,y:m*d}:{x:m*d,y:p*f}}const Ps=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:s,placement:i,middlewareData:c}=t,u=await bs(t,e);return i===((n=c.offset)==null?void 0:n.placement)&&(o=c.arrow)!=null&&o.alignmentOffset?{}:{x:r+u.x,y:s+u.y,data:{...u,placement:i}}}}},Ss=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r,platform:s}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:u={fn:x=>{let{x:R,y}=x;return{x:R,y}}},...d}=re(e,t),f={x:n,y:o},l=await s.detectOverflow(t,d),m=Q(se(r)),p=Ft(m);let h=f[p],v=f[m];if(i){const x=p==="y"?"top":"left",R=p==="y"?"bottom":"right",y=h+l[x],C=h-l[R];h=Et(y,h,C)}if(c){const x=m==="y"?"top":"left",R=m==="y"?"bottom":"right",y=v+l[x],C=v-l[R];v=Et(y,v,C)}const w=u.fn({...t,[p]:h,[m]:v});return{...w,data:{x:w.x-n,y:w.y-o,enabled:{[p]:i,[m]:c}}}}}},Ms=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:u=!0,crossAxis:d=!0}=re(e,t),f={x:n,y:o},l=Q(r),m=Ft(l);let p=f[m],h=f[l];const v=re(c,t),w=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){const y=m==="y"?"height":"width",C=s.reference[m]-s.floating[y]+w.mainAxis,b=s.reference[m]+s.reference[y]-w.mainAxis;p<C?p=C:p>b&&(p=b)}if(d){var x,R;const y=m==="y"?"width":"height",C=Un.has(se(r)),b=s.reference[l]-s.floating[y]+(C&&((x=i.offset)==null?void 0:x[l])||0)+(C?0:w.crossAxis),P=s.reference[l]+s.reference[y]+(C?0:((R=i.offset)==null?void 0:R[l])||0)-(C?w.crossAxis:0);h<b?h=b:h>P&&(h=P)}return{[m]:p,[l]:h}}}},As=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:s,platform:i,elements:c}=t,{apply:u=()=>{},...d}=re(e,t),f=await i.detectOverflow(t,d),l=se(r),m=Pe(r),p=Q(r)==="y",{width:h,height:v}=s.floating;let w,x;l==="top"||l==="bottom"?(w=l,x=m===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(x=l,w=m==="end"?"top":"bottom");const R=v-f.top-f.bottom,y=h-f.left-f.right,C=le(v-f[w],R),b=le(h-f[x],y),P=!t.middlewareData.shift;let O=C,_=b;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(_=y),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(O=R),P&&!m){const T=V(f.left,0),A=V(f.right,0),F=V(f.top,0),N=V(f.bottom,0);p?_=h-2*(T!==0||A!==0?T+A:V(f.left,f.right)):O=v-2*(F!==0||N!==0?F+N:V(f.top,f.bottom))}await u({...t,availableWidth:_,availableHeight:O});const L=await i.getDimensions(c.floating);return h!==L.width||v!==L.height?{reset:{rects:!0}}:{}}}};function it(){return typeof window<"u"}function Se(e){return Wn(e)?(e.nodeName||"").toLowerCase():"#document"}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oe(e){var t;return(t=(Wn(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Wn(e){return it()?e instanceof Node||e instanceof H(e).Node:!1}function X(e){return it()?e instanceof Element||e instanceof H(e).Element:!1}function ie(e){return it()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function Rn(e){return!it()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}function Le(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&r!=="inline"&&r!=="contents"}function Os(e){return/^(table|td|th)$/.test(Se(e))}function ct(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const _s=/transform|translate|scale|rotate|perspective|filter/,Ds=/paint|layout|strict|content/,me=e=>!!e&&e!=="none";let wt;function kt(e){const t=X(e)?Z(e):e;return me(t.transform)||me(t.translate)||me(t.scale)||me(t.rotate)||me(t.perspective)||!$t()&&(me(t.backdropFilter)||me(t.filter))||_s.test(t.willChange||"")||Ds.test(t.contain||"")}function Is(e){let t=fe(e);for(;ie(t)&&!Ee(t);){if(kt(t))return t;if(ct(t))return null;t=fe(t)}return null}function $t(){return wt==null&&(wt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),wt}function Ee(e){return/^(html|body|#document)$/.test(Se(e))}function Z(e){return H(e).getComputedStyle(e)}function at(e){return X(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fe(e){if(Se(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Rn(e)&&e.host||oe(e);return Rn(t)?t.host:t}function Kn(e){const t=fe(e);return Ee(t)?e.ownerDocument?e.ownerDocument.body:e.body:ie(t)&&Le(t)?t:Kn(t)}function Ie(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Kn(e),s=r===((o=e.ownerDocument)==null?void 0:o.body),i=H(r);if(s){const c=Pt(i);return t.concat(i,i.visualViewport||[],Le(r)?r:[],c&&n?Ie(c):[])}else return t.concat(r,Ie(r,[],n))}function Pt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Gn(e){const t=Z(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=ie(e),s=r?e.offsetWidth:n,i=r?e.offsetHeight:o,c=Xe(n)!==s||Xe(o)!==i;return c&&(n=s,o=i),{width:n,height:o,$:c}}function Bt(e){return X(e)?e:e.contextElement}function ye(e){const t=Bt(e);if(!ie(t))return te(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:s}=Gn(t);let i=(s?Xe(n.width):n.width)/o,c=(s?Xe(n.height):n.height)/r;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Ts=te(0);function Vn(e){const t=H(e);return!$t()||!t.visualViewport?Ts:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ns(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==H(e)?!1:t}function ge(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=Bt(e);let i=te(1);t&&(o?X(o)&&(i=ye(o)):i=ye(e));const c=Ns(s,n,o)?Vn(s):te(0);let u=(r.left+c.x)/i.x,d=(r.top+c.y)/i.y,f=r.width/i.x,l=r.height/i.y;if(s){const m=H(s),p=o&&X(o)?H(o):o;let h=m,v=Pt(h);for(;v&&o&&p!==h;){const w=ye(v),x=v.getBoundingClientRect(),R=Z(v),y=x.left+(v.clientLeft+parseFloat(R.paddingLeft))*w.x,C=x.top+(v.clientTop+parseFloat(R.paddingTop))*w.y;u*=w.x,d*=w.y,f*=w.x,l*=w.y,u+=y,d+=C,h=H(v),v=Pt(h)}}return qe({width:f,height:l,x:u,y:d})}function ut(e,t){const n=at(e).scrollLeft;return t?t.left+n:ge(oe(e)).left+n}function Hn(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-ut(e,n),r=n.top+t.scrollTop;return{x:o,y:r}}function Fs(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const s=r==="fixed",i=oe(o),c=t?ct(t.floating):!1;if(o===i||c&&s)return n;let u={scrollLeft:0,scrollTop:0},d=te(1);const f=te(0),l=ie(o);if((l||!l&&!s)&&((Se(o)!=="body"||Le(i))&&(u=at(o)),l)){const p=ge(o);d=ye(o),f.x=p.x+o.clientLeft,f.y=p.y+o.clientTop}const m=i&&!l&&!s?Hn(i,u):te(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-u.scrollLeft*d.x+f.x+m.x,y:n.y*d.y-u.scrollTop*d.y+f.y+m.y}}function Ls(e){return Array.from(e.getClientRects())}function js(e){const t=oe(e),n=at(e),o=e.ownerDocument.body,r=V(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=V(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let i=-n.scrollLeft+ut(e);const c=-n.scrollTop;return Z(o).direction==="rtl"&&(i+=V(t.clientWidth,o.clientWidth)-r),{width:r,height:s,x:i,y:c}}const Cn=25;function ks(e,t){const n=H(e),o=oe(e),r=n.visualViewport;let s=o.clientWidth,i=o.clientHeight,c=0,u=0;if(r){s=r.width,i=r.height;const f=$t();(!f||f&&t==="fixed")&&(c=r.offsetLeft,u=r.offsetTop)}const d=ut(o);if(d<=0){const f=o.ownerDocument,l=f.body,m=getComputedStyle(l),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(o.clientWidth-l.clientWidth-p);h<=Cn&&(s-=h)}else d<=Cn&&(s+=d);return{width:s,height:i,x:c,y:u}}function $s(e,t){const n=ge(e,!0,t==="fixed"),o=n.top+e.clientTop,r=n.left+e.clientLeft,s=ie(e)?ye(e):te(1),i=e.clientWidth*s.x,c=e.clientHeight*s.y,u=r*s.x,d=o*s.y;return{width:i,height:c,x:u,y:d}}function En(e,t,n){let o;if(t==="viewport")o=ks(e,n);else if(t==="document")o=js(oe(e));else if(X(t))o=$s(t,n);else{const r=Vn(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return qe(o)}function zn(e,t){const n=fe(e);return n===t||!X(n)||Ee(n)?!1:Z(n).position==="fixed"||zn(n,t)}function Bs(e,t){const n=t.get(e);if(n)return n;let o=Ie(e,[],!1).filter(c=>X(c)&&Se(c)!=="body"),r=null;const s=Z(e).position==="fixed";let i=s?fe(e):e;for(;X(i)&&!Ee(i);){const c=Z(i),u=kt(i);!u&&c.position==="fixed"&&(r=null),(s?!u&&!r:!u&&c.position==="static"&&!!r&&(r.position==="absolute"||r.position==="fixed")||Le(i)&&!u&&zn(e,i))?o=o.filter(f=>f!==i):r=c,i=fe(i)}return t.set(e,o),o}function Us(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const i=[...n==="clippingAncestors"?ct(t)?[]:Bs(t,this._c):[].concat(n),o],c=En(t,i[0],r);let u=c.top,d=c.right,f=c.bottom,l=c.left;for(let m=1;m<i.length;m++){const p=En(t,i[m],r);u=V(p.top,u),d=le(p.right,d),f=le(p.bottom,f),l=V(p.left,l)}return{width:d-l,height:f-u,x:l,y:u}}function Ws(e){const{width:t,height:n}=Gn(e);return{width:t,height:n}}function Ks(e,t,n){const o=ie(t),r=oe(t),s=n==="fixed",i=ge(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const u=te(0);function d(){u.x=ut(r)}if(o||!o&&!s)if((Se(t)!=="body"||Le(r))&&(c=at(t)),o){const p=ge(t,!0,s,t);u.x=p.x+t.clientLeft,u.y=p.y+t.clientTop}else r&&d();s&&!o&&r&&d();const f=r&&!o&&!s?Hn(r,c):te(0),l=i.left+c.scrollLeft-u.x-f.x,m=i.top+c.scrollTop-u.y-f.y;return{x:l,y:m,width:i.width,height:i.height}}function xt(e){return Z(e).position==="static"}function bn(e,t){if(!ie(e)||Z(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return oe(e)===n&&(n=n.ownerDocument.body),n}function Yn(e,t){const n=H(e);if(ct(e))return n;if(!ie(e)){let r=fe(e);for(;r&&!Ee(r);){if(X(r)&&!xt(r))return r;r=fe(r)}return n}let o=bn(e,t);for(;o&&Os(o)&&xt(o);)o=bn(o,t);return o&&Ee(o)&&xt(o)&&!kt(o)?n:o||Is(e)||n}const Gs=async function(e){const t=this.getOffsetParent||Yn,n=this.getDimensions,o=await n(e.floating);return{reference:Ks(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Vs(e){return Z(e).direction==="rtl"}const Hs={convertOffsetParentRelativeRectToViewportRelativeRect:Fs,getDocumentElement:oe,getClippingRect:Us,getOffsetParent:Yn,getElementRects:Gs,getClientRects:Ls,getDimensions:Ws,getScale:ye,isElement:X,isRTL:Vs};function Xn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function zs(e,t){let n=null,o;const r=oe(e);function s(){var c;clearTimeout(o),(c=n)==null||c.disconnect(),n=null}function i(c,u){c===void 0&&(c=!1),u===void 0&&(u=1),s();const d=e.getBoundingClientRect(),{left:f,top:l,width:m,height:p}=d;if(c||t(),!m||!p)return;const h=He(l),v=He(r.clientWidth-(f+m)),w=He(r.clientHeight-(l+p)),x=He(f),y={rootMargin:-h+"px "+-v+"px "+-w+"px "+-x+"px",threshold:V(0,le(1,u))||1};let C=!0;function b(P){const O=P[0].intersectionRatio;if(O!==u){if(!C)return i();O?i(!1,O):o=setTimeout(()=>{i(!1,1e-7)},1e3)}O===1&&!Xn(d,e.getBoundingClientRect())&&i(),C=!1}try{n=new IntersectionObserver(b,{...y,root:r.ownerDocument})}catch{n=new IntersectionObserver(b,y)}n.observe(e)}return i(!0),s}function Ys(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,d=Bt(e),f=r||s?[...d?Ie(d):[],...t?Ie(t):[]]:[];f.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),s&&x.addEventListener("resize",n)});const l=d&&c?zs(d,n):null;let m=-1,p=null;i&&(p=new ResizeObserver(x=>{let[R]=x;R&&R.target===d&&p&&t&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),d&&!u&&p.observe(d),t&&p.observe(t));let h,v=u?ge(e):null;u&&w();function w(){const x=ge(e);v&&!Xn(v,x)&&n(),v=x,h=requestAnimationFrame(w)}return n(),()=>{var x;f.forEach(R=>{r&&R.removeEventListener("scroll",n),s&&R.removeEventListener("resize",n)}),l==null||l(),(x=p)==null||x.disconnect(),p=null,u&&cancelAnimationFrame(h)}}const Xs=Ps,Zs=Ss,qs=Cs,Js=As,Qs=Es,Pn=Rs,ei=Ms,ti=(e,t,n)=>{const o=new Map,r={platform:Hs,...n},s={...r.platform,_c:o};return ys(e,t,{...r,platform:s})};var ni=typeof document<"u",oi=function(){},ze=ni?a.useLayoutEffect:oi;function Je(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!Je(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;o--!==0;){const s=r[o];if(!(s==="_owner"&&e.$$typeof)&&!Je(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Zn(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Sn(e,t){const n=Zn(e);return Math.round(t*n)/n}function yt(e){const t=a.useRef(e);return ze(()=>{t.current=e}),t}function ri(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:s,floating:i}={},transform:c=!0,whileElementsMounted:u,open:d}=e,[f,l]=a.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=a.useState(o);Je(m,o)||p(o);const[h,v]=a.useState(null),[w,x]=a.useState(null),R=a.useCallback(M=>{M!==P.current&&(P.current=M,v(M))},[]),y=a.useCallback(M=>{M!==O.current&&(O.current=M,x(M))},[]),C=s||h,b=i||w,P=a.useRef(null),O=a.useRef(null),_=a.useRef(f),L=u!=null,T=yt(u),A=yt(r),F=yt(d),N=a.useCallback(()=>{if(!P.current||!O.current)return;const M={placement:t,strategy:n,middleware:m};A.current&&(M.platform=A.current),ti(P.current,O.current,M).then(E=>{const j={...E,isPositioned:F.current!==!1};I.current&&!Je(_.current,j)&&(_.current=j,At.flushSync(()=>{l(j)}))})},[m,t,n,A,F]);ze(()=>{d===!1&&_.current.isPositioned&&(_.current.isPositioned=!1,l(M=>({...M,isPositioned:!1})))},[d]);const I=a.useRef(!1);ze(()=>(I.current=!0,()=>{I.current=!1}),[]),ze(()=>{if(C&&(P.current=C),b&&(O.current=b),C&&b){if(T.current)return T.current(C,b,N);N()}},[C,b,N,T,L]);const U=a.useMemo(()=>({reference:P,floating:O,setReference:R,setFloating:y}),[R,y]),D=a.useMemo(()=>({reference:C,floating:b}),[C,b]),$=a.useMemo(()=>{const M={position:n,left:0,top:0};if(!D.floating)return M;const E=Sn(D.floating,f.x),j=Sn(D.floating,f.y);return c?{...M,transform:"translate("+E+"px, "+j+"px)",...Zn(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:E,top:j}},[n,c,D.floating,f.x,f.y]);return a.useMemo(()=>({...f,update:N,refs:U,elements:D,floatingStyles:$}),[f,N,U,D,$])}const si=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:r}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Pn({element:o.current,padding:r}).fn(n):{}:o?Pn({element:o,padding:r}).fn(n):{}}}},ii=(e,t)=>{const n=Xs(e);return{name:n.name,fn:n.fn,options:[e,t]}},ci=(e,t)=>{const n=Zs(e);return{name:n.name,fn:n.fn,options:[e,t]}},ai=(e,t)=>({fn:ei(e).fn,options:[e,t]}),ui=(e,t)=>{const n=qs(e);return{name:n.name,fn:n.fn,options:[e,t]}},li=(e,t)=>{const n=Js(e);return{name:n.name,fn:n.fn,options:[e,t]}},fi=(e,t)=>{const n=Qs(e);return{name:n.name,fn:n.fn,options:[e,t]}},di=(e,t)=>{const n=si(e);return{name:n.name,fn:n.fn,options:[e,t]}};var pi="Arrow",qn=a.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...s}=e;return g.jsx(k.svg,{...s,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:g.jsx("polygon",{points:"0,0 30,0 15,10"})})});qn.displayName=pi;var mi=qn;function hi(e){const[t,n]=a.useState(void 0);return ee(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let i,c;if("borderBoxSize"in s){const u=s.borderBoxSize,d=Array.isArray(u)?u[0]:u;i=d.inlineSize,c=d.blockSize}else i=e.offsetWidth,c=e.offsetHeight;n({width:i,height:c})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}var Ut="Popper",[Jn,lt]=ve(Ut),[gi,Qn]=Jn(Ut),eo=e=>{const{__scopePopper:t,children:n}=e,[o,r]=a.useState(null),[s,i]=a.useState(void 0);return g.jsx(gi,{scope:t,anchor:o,onAnchorChange:r,placementState:s,setPlacementState:i,children:n})};eo.displayName=Ut;var to="PopperAnchor",no=a.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,s=Qn(to,n),i=a.useRef(null),c=s.onAnchorChange,u=a.useCallback(h=>{i.current=h,h&&c(h)},[c]),d=B(t,u),f=a.useRef(null);a.useEffect(()=>{if(!o)return;const h=f.current;f.current=o.current,h!==f.current&&c(f.current)});const l=s.placementState&&Kt(s.placementState),m=l==null?void 0:l[0],p=l==null?void 0:l[1];return o?null:g.jsx(k.div,{"data-radix-popper-side":m,"data-radix-popper-align":p,...r,ref:d})});no.displayName=to;var Wt="PopperContent",[vi,wi]=Jn(Wt),oo=a.forwardRef((e,t)=>{var Oe,z,_e,Qt,en,tn;const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:l="partial",hideWhenDetached:m=!1,updatePositionStrategy:p="optimized",onPlaced:h,...v}=e,w=Qn(Wt,n),[x,R]=a.useState(null),y=B(t,R),[C,b]=a.useState(null),P=hi(C),O=(P==null?void 0:P.width)??0,_=(P==null?void 0:P.height)??0,L=o+(s!=="center"?"-"+s:""),T=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},A=Array.isArray(d)?d:[d],F=A.length>0,N={padding:T,boundary:A.filter(yi),altBoundary:F},{refs:I,floatingStyles:U,placement:D,isPositioned:$,middlewareData:M}=ri({strategy:"fixed",placement:L,whileElementsMounted:(...ht)=>Ys(...ht,{animationFrame:p==="always"}),elements:{reference:w.anchor},middleware:[ii({mainAxis:r+_,alignmentAxis:i}),u&&ci({mainAxis:!0,crossAxis:!1,limiter:l==="partial"?ai():void 0,...N}),u&&ui({...N}),li({...N,apply:({elements:ht,rects:nn,availableWidth:ir,availableHeight:cr})=>{const{width:ar,height:ur}=nn.reference,We=ht.floating.style;We.setProperty("--radix-popper-available-width",`${ir}px`),We.setProperty("--radix-popper-available-height",`${cr}px`),We.setProperty("--radix-popper-anchor-width",`${ar}px`),We.setProperty("--radix-popper-anchor-height",`${ur}px`)}}),C&&di({element:C,padding:c}),Ri({arrowWidth:O,arrowHeight:_}),m&&fi({strategy:"referenceHidden",...N,boundary:F?N.boundary:void 0})]}),E=w.setPlacementState;ee(()=>(E(D),()=>{E(void 0)}),[D,E]);const[j,K]=Kt(D),G=ue(h);ee(()=>{$&&(G==null||G())},[$,G]);const Me=(Oe=M.arrow)==null?void 0:Oe.x,Ae=(z=M.arrow)==null?void 0:z.y,Ue=((_e=M.arrow)==null?void 0:_e.centerOffset)!==0,[pe,ce]=a.useState();return ee(()=>{x&&ce(window.getComputedStyle(x).zIndex)},[x]),g.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:$?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:pe,"--radix-popper-transform-origin":[(Qt=M.transformOrigin)==null?void 0:Qt.x,(en=M.transformOrigin)==null?void 0:en.y].join(" "),...((tn=M.hide)==null?void 0:tn.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:g.jsx(vi,{scope:n,placedSide:j,placedAlign:K,onArrowChange:b,arrowX:Me,arrowY:Ae,shouldHideArrow:Ue,children:g.jsx(k.div,{"data-side":j,"data-align":K,...v,ref:y,style:{...v.style,animation:$?void 0:"none"}})})})});oo.displayName=Wt;var ro="PopperArrow",xi={top:"bottom",right:"left",bottom:"top",left:"right"},so=a.forwardRef(function(t,n){const{__scopePopper:o,...r}=t,s=wi(ro,o),i=xi[s.placedSide];return g.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:g.jsx(mi,{...r,ref:n,style:{...r.style,display:"block"}})})});so.displayName=ro;function yi(e){return e!==null}var Ri=e=>({name:"transformOrigin",options:e,fn(t){var w,x,R;const{placement:n,rects:o,middlewareData:r}=t,i=((w=r.arrow)==null?void 0:w.centerOffset)!==0,c=i?0:e.arrowWidth,u=i?0:e.arrowHeight,[d,f]=Kt(n),l={start:"0%",center:"50%",end:"100%"}[f],m=(((x=r.arrow)==null?void 0:x.x)??0)+c/2,p=(((R=r.arrow)==null?void 0:R.y)??0)+u/2;let h="",v="";return d==="bottom"?(h=i?l:`${m}px`,v=`${-u}px`):d==="top"?(h=i?l:`${m}px`,v=`${o.floating.height+u}px`):d==="right"?(h=`${-u}px`,v=i?l:`${p}px`):d==="left"&&(h=`${o.floating.width+u}px`,v=i?l:`${p}px`),{data:{x:h,y:v}}}});function Kt(e){const[t,n="center"]=e.split("-");return[t,n]}var io=eo,Gt=no,co=oo,ao=so,Rt="rovingFocusGroup.onEntryFocus",Ci={bubbles:!1,cancelable:!0},je="RovingFocusGroup",[St,uo,Ei]=kn(je),[bi,lo]=ve(je,[Ei]),[Pi,Si]=bi(je),fo=a.forwardRef((e,t)=>g.jsx(St.Provider,{scope:e.__scopeRovingFocusGroup,children:g.jsx(St.Slot,{scope:e.__scopeRovingFocusGroup,children:g.jsx(Mi,{...e,ref:t})})}));fo.displayName=je;var Mi=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...l}=e,m=a.useRef(null),p=B(t,m),h=$n(s),[v,w]=tt({prop:i,defaultProp:c??null,onChange:u,caller:je}),[x,R]=a.useState(!1),y=ue(d),C=uo(n),b=a.useRef(!1),[P,O]=a.useState(0);return a.useEffect(()=>{const _=m.current;if(_)return _.addEventListener(Rt,y),()=>_.removeEventListener(Rt,y)},[y]),g.jsx(Pi,{scope:n,orientation:o,dir:h,loop:r,currentTabStopId:v,onItemFocus:a.useCallback(_=>w(_),[w]),onItemShiftTab:a.useCallback(()=>R(!0),[]),onFocusableItemAdd:a.useCallback(()=>O(_=>_+1),[]),onFocusableItemRemove:a.useCallback(()=>O(_=>_-1),[]),children:g.jsx(k.div,{tabIndex:x||P===0?-1:0,"data-orientation":o,...l,ref:p,style:{outline:"none",...e.style},onMouseDown:S(e.onMouseDown,()=>{b.current=!0}),onFocus:S(e.onFocus,_=>{const L=!b.current;if(_.target===_.currentTarget&&L&&!x){const T=new CustomEvent(Rt,Ci);if(_.currentTarget.dispatchEvent(T),!T.defaultPrevented){const A=C().filter(D=>D.focusable),F=A.find(D=>D.active),N=A.find(D=>D.id===v),U=[F,N,...A].filter(Boolean).map(D=>D.ref.current);ho(U,f)}}b.current=!1}),onBlur:S(e.onBlur,()=>R(!1))})})}),po="RovingFocusGroupItem",mo=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:s,children:i,...c}=e,u=he(),d=s||u,f=Si(po,n),l=f.currentTabStopId===d,m=uo(n),{onFocusableItemAdd:p,onFocusableItemRemove:h,currentTabStopId:v}=f;return a.useEffect(()=>{if(o)return p(),()=>h()},[o,p,h]),g.jsx(St.ItemSlot,{scope:n,id:d,focusable:o,active:r,children:g.jsx(k.span,{tabIndex:l?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:S(e.onMouseDown,w=>{o?f.onItemFocus(d):w.preventDefault()}),onFocus:S(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:S(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){f.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const x=_i(w,f.orientation,f.dir);if(x!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let y=m().filter(C=>C.focusable).map(C=>C.ref.current);if(x==="last")y.reverse();else if(x==="prev"||x==="next"){x==="prev"&&y.reverse();const C=y.indexOf(w.currentTarget);y=f.loop?Di(y,C+1):y.slice(C+1)}setTimeout(()=>ho(y))}}),children:typeof i=="function"?i({isCurrentTabStop:l,hasTabStop:v!=null}):i})})});mo.displayName=po;var Ai={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Oi(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _i(e,t,n){const o=Oi(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ai[o]}function ho(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function Di(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Ii=fo,Ti=mo,Mt=["Enter"," "],Ni=["ArrowDown","PageUp","Home"],go=["ArrowUp","PageDown","End"],Fi=[...Ni,...go],Li={ltr:[...Mt,"ArrowRight"],rtl:[...Mt,"ArrowLeft"]},ji={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ke="Menu",[Te,ki,$i]=kn(ke),[we,vo]=ve(ke,[$i,lt,lo]),ft=lt(),wo=lo(),[Bi,xe]=we(ke),[Ui,$e]=we(ke),xo=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:i=!0}=e,c=ft(t),[u,d]=a.useState(null),f=a.useRef(!1),l=ue(s),m=$n(r);return a.useEffect(()=>{const p=()=>{f.current=!0,document.addEventListener("pointerdown",h,{capture:!0,once:!0}),document.addEventListener("pointermove",h,{capture:!0,once:!0})},h=()=>f.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",h,{capture:!0}),document.removeEventListener("pointermove",h,{capture:!0})}},[]),a.useEffect(()=>{if(!n)return;const p=()=>l(!1);return window.addEventListener("blur",p),()=>window.removeEventListener("blur",p)},[n,l]),g.jsx(io,{...c,children:g.jsx(Bi,{scope:t,open:n,onOpenChange:l,content:u,onContentChange:d,children:g.jsx(Ui,{scope:t,onClose:a.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:f,dir:m,modal:i,children:o})})})};xo.displayName=ke;var Wi="MenuAnchor",Vt=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=ft(n);return g.jsx(Gt,{...r,...o,ref:t})});Vt.displayName=Wi;var Ht="MenuPortal",[Ki,yo]=we(Ht,{forceMount:void 0}),Ro=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=xe(Ht,t);return g.jsx(Ki,{scope:t,forceMount:n,children:g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:o})})})};Ro.displayName=Ht;var Y="MenuContent",[Gi,zt]=we(Y),Co=a.forwardRef((e,t)=>{const n=yo(Y,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=xe(Y,e.__scopeMenu),i=$e(Y,e.__scopeMenu);return g.jsx(Te.Provider,{scope:e.__scopeMenu,children:g.jsx(ne,{present:o||s.open,children:g.jsx(Te.Slot,{scope:e.__scopeMenu,children:i.modal?g.jsx(Vi,{...r,ref:t}):g.jsx(Hi,{...r,ref:t})})})})}),Vi=a.forwardRef((e,t)=>{const n=xe(Y,e.__scopeMenu),o=a.useRef(null),r=B(t,o);return a.useEffect(()=>{const s=o.current;if(s)return _t(s)},[]),g.jsx(Yt,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:S(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Hi=a.forwardRef((e,t)=>{const n=xe(Y,e.__scopeMenu);return g.jsx(Yt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),zi=Re("MenuContent.ScrollLock"),Yt=a.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:m,onDismiss:p,disableOutsideScroll:h,...v}=e,w=xe(Y,n),x=$e(Y,n),R=ft(n),y=wo(n),C=ki(n),[b,P]=a.useState(null),O=a.useRef(null),_=B(t,O,w.onContentChange),L=a.useRef(0),T=a.useRef(""),A=a.useRef(0),F=a.useRef(null),N=a.useRef("right"),I=a.useRef(0),U=h?Ot:a.Fragment,D=h?{as:zi,allowPinchZoom:!0}:void 0,$=E=>{var ce,Oe;const j=T.current+E,K=C().filter(z=>!z.disabled),G=document.activeElement,Me=(ce=K.find(z=>z.ref.current===G))==null?void 0:ce.textValue,Ae=K.map(z=>z.textValue),Ue=sc(Ae,j,Me),pe=(Oe=K.find(z=>z.textValue===Ue))==null?void 0:Oe.ref.current;(function z(_e){T.current=_e,window.clearTimeout(L.current),_e!==""&&(L.current=window.setTimeout(()=>z(""),1e3))})(j),pe&&setTimeout(()=>pe.focus())};a.useEffect(()=>()=>window.clearTimeout(L.current),[]),It();const M=a.useCallback(E=>{var K,G;return N.current===((K=F.current)==null?void 0:K.side)&&cc(E,(G=F.current)==null?void 0:G.area)},[]);return g.jsx(Gi,{scope:n,searchRef:T,onItemEnter:a.useCallback(E=>{M(E)&&E.preventDefault()},[M]),onItemLeave:a.useCallback(E=>{var j;M(E)||((j=O.current)==null||j.focus(),P(null))},[M]),onTriggerLeave:a.useCallback(E=>{M(E)&&E.preventDefault()},[M]),pointerGraceTimerRef:A,onPointerGraceIntentChange:a.useCallback(E=>{F.current=E},[]),children:g.jsx(U,{...D,children:g.jsx(ot,{asChild:!0,trapped:r,onMountAutoFocus:S(s,E=>{var j;E.preventDefault(),(j=O.current)==null||j.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:g.jsx(nt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:m,onDismiss:p,children:g.jsx(Ii,{asChild:!0,...y,dir:x.dir,orientation:"vertical",loop:o,currentTabStopId:b,onCurrentTabStopIdChange:P,onEntryFocus:S(u,E=>{x.isUsingKeyboardRef.current||E.preventDefault()}),preventScrollOnEntryFocus:!0,children:g.jsx(co,{role:"menu","aria-orientation":"vertical","data-state":ko(w.open),"data-radix-menu-content":"",dir:x.dir,...R,...v,ref:_,style:{outline:"none",...v.style},onKeyDown:S(v.onKeyDown,E=>{const K=E.target.closest("[data-radix-menu-content]")===E.currentTarget,G=E.ctrlKey||E.altKey||E.metaKey,Me=E.key.length===1;K&&(E.key==="Tab"&&E.preventDefault(),!G&&Me&&$(E.key));const Ae=O.current;if(E.target!==Ae||!Fi.includes(E.key))return;E.preventDefault();const pe=C().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);go.includes(E.key)&&pe.reverse(),oc(pe)}),onBlur:S(e.onBlur,E=>{E.currentTarget.contains(E.target)||(window.clearTimeout(L.current),T.current="")}),onPointerMove:S(e.onPointerMove,Ne(E=>{const j=E.target,K=I.current!==E.clientX;if(E.currentTarget.contains(j)&&K){const G=E.clientX>I.current?"right":"left";N.current=G,I.current=E.clientX}}))})})})})})})});Co.displayName=Y;var Yi="MenuGroup",Xt=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{role:"group",...o,ref:t})});Xt.displayName=Yi;var Xi="MenuLabel",Eo=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{...o,ref:t})});Eo.displayName=Xi;var Qe="MenuItem",Mn="menu.itemSelect",dt=a.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=a.useRef(null),i=$e(Qe,e.__scopeMenu),c=zt(Qe,e.__scopeMenu),u=B(t,s),d=a.useRef(!1),f=()=>{const l=s.current;if(!n&&l){const m=new CustomEvent(Mn,{bubbles:!0,cancelable:!0});l.addEventListener(Mn,p=>o==null?void 0:o(p),{once:!0}),An(l,m),m.defaultPrevented?d.current=!1:i.onClose()}};return g.jsx(bo,{...r,ref:u,disabled:n,onClick:S(e.onClick,f),onPointerDown:l=>{var m;(m=e.onPointerDown)==null||m.call(e,l),d.current=!0},onPointerUp:S(e.onPointerUp,l=>{var m;d.current||(m=l.currentTarget)==null||m.click()}),onKeyDown:S(e.onKeyDown,l=>{const m=c.searchRef.current!=="";n||m&&l.key===" "||Mt.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})});dt.displayName=Qe;var bo=a.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,i=zt(Qe,n),c=wo(n),u=a.useRef(null),d=B(t,u),[f,l]=a.useState(!1),[m,p]=a.useState("");return a.useEffect(()=>{const h=u.current;h&&p((h.textContent??"").trim())},[s.children]),g.jsx(Te.ItemSlot,{scope:n,disabled:o,textValue:r??m,children:g.jsx(Ti,{asChild:!0,...c,focusable:!o,children:g.jsx(k.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:d,onPointerMove:S(e.onPointerMove,Ne(h=>{o?i.onItemLeave(h):(i.onItemEnter(h),h.defaultPrevented||h.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:S(e.onPointerLeave,Ne(h=>i.onItemLeave(h))),onFocus:S(e.onFocus,()=>l(!0)),onBlur:S(e.onBlur,()=>l(!1))})})})}),Zi="MenuCheckboxItem",Po=a.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return g.jsx(_o,{scope:e.__scopeMenu,checked:n,children:g.jsx(dt,{role:"menuitemcheckbox","aria-checked":et(n)?"mixed":n,...r,ref:t,"data-state":qt(n),onSelect:S(r.onSelect,()=>o==null?void 0:o(et(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Po.displayName=Zi;var So="MenuRadioGroup",[qi,Ji]=we(So,{value:void 0,onValueChange:()=>{}}),Mo=a.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=ue(o);return g.jsx(qi,{scope:e.__scopeMenu,value:n,onValueChange:s,children:g.jsx(Xt,{...r,ref:t})})});Mo.displayName=So;var Ao="MenuRadioItem",Oo=a.forwardRef((e,t)=>{const{value:n,...o}=e,r=Ji(Ao,e.__scopeMenu),s=n===r.value;return g.jsx(_o,{scope:e.__scopeMenu,checked:s,children:g.jsx(dt,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":qt(s),onSelect:S(o.onSelect,()=>{var i;return(i=r.onValueChange)==null?void 0:i.call(r,n)},{checkForDefaultPrevented:!1})})})});Oo.displayName=Ao;var Zt="MenuItemIndicator",[_o,Qi]=we(Zt,{checked:!1}),Do=a.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=Qi(Zt,n);return g.jsx(ne,{present:o||et(s.checked)||s.checked===!0,children:g.jsx(k.span,{...r,ref:t,"data-state":qt(s.checked)})})});Do.displayName=Zt;var ec="MenuSeparator",Io=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});Io.displayName=ec;var tc="MenuArrow",To=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=ft(n);return g.jsx(ao,{...r,...o,ref:t})});To.displayName=tc;var nc="MenuSub",[na,No]=we(nc),De="MenuSubTrigger",Fo=a.forwardRef((e,t)=>{const n=xe(De,e.__scopeMenu),o=$e(De,e.__scopeMenu),r=No(De,e.__scopeMenu),s=zt(De,e.__scopeMenu),i=a.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=s,d={__scopeMenu:e.__scopeMenu},f=a.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);a.useEffect(()=>f,[f]),a.useEffect(()=>{const m=c.current;return()=>{window.clearTimeout(m),u(null)}},[c,u]);const l=B(t,r.onTriggerChange);return g.jsx(Vt,{asChild:!0,...d,children:g.jsx(bo,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?r.contentId:void 0,"data-state":ko(n.open),...e,ref:l,onClick:m=>{var p;(p=e.onClick)==null||p.call(e,m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:S(e.onPointerMove,Ne(m=>{s.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!n.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:S(e.onPointerLeave,Ne(m=>{var h,v;f();const p=(h=n.content)==null?void 0:h.getBoundingClientRect();if(p){const w=(v=n.content)==null?void 0:v.dataset.side,x=w==="right",R=x?-5:5,y=p[x?"left":"right"],C=p[x?"right":"left"];s.onPointerGraceIntentChange({area:[{x:m.clientX+R,y:m.clientY},{x:y,y:p.top},{x:C,y:p.top},{x:C,y:p.bottom},{x:y,y:p.bottom}],side:w}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(m),m.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:S(e.onKeyDown,m=>{var h;const p=s.searchRef.current!=="";e.disabled||p&&m.key===" "||Li[o.dir].includes(m.key)&&(n.onOpenChange(!0),(h=n.content)==null||h.focus(),m.preventDefault())})})})});Fo.displayName=De;var Lo="MenuSubContent",jo=a.forwardRef((e,t)=>{const n=yo(Y,e.__scopeMenu),{forceMount:o=n.forceMount,align:r="start",...s}=e,i=xe(Y,e.__scopeMenu),c=$e(Y,e.__scopeMenu),u=No(Lo,e.__scopeMenu),d=a.useRef(null),f=B(t,d);return g.jsx(Te.Provider,{scope:e.__scopeMenu,children:g.jsx(ne,{present:o||i.open,children:g.jsx(Te.Slot,{scope:e.__scopeMenu,children:g.jsx(Yt,{id:u.contentId,"aria-labelledby":u.triggerId,...s,ref:f,align:r,side:c.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:l=>{var m;c.isUsingKeyboardRef.current&&((m=d.current)==null||m.focus()),l.preventDefault()},onCloseAutoFocus:l=>l.preventDefault(),onFocusOutside:S(e.onFocusOutside,l=>{l.target!==u.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:S(e.onEscapeKeyDown,l=>{c.onClose(),l.preventDefault()}),onKeyDown:S(e.onKeyDown,l=>{var h;const m=l.currentTarget.contains(l.target),p=ji[c.dir].includes(l.key);m&&p&&(i.onOpenChange(!1),(h=u.trigger)==null||h.focus(),l.preventDefault())})})})})})});jo.displayName=Lo;function ko(e){return e?"open":"closed"}function et(e){return e==="indeterminate"}function qt(e){return et(e)?"indeterminate":e?"checked":"unchecked"}function oc(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function rc(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function sc(e,t,n){const r=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let i=rc(e,Math.max(s,0));r.length===1&&(i=i.filter(d=>d!==n));const u=i.find(d=>d.toLowerCase().startsWith(r.toLowerCase()));return u!==n?u:void 0}function ic(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,i=t.length-1;s<t.length;i=s++){const c=t[s],u=t[i],d=c.x,f=c.y,l=u.x,m=u.y;f>o!=m>o&&n<(l-d)*(o-f)/(m-f)+d&&(r=!r)}return r}function cc(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return ic(n,t)}function Ne(e){return t=>t.pointerType==="mouse"?e(t):void 0}var ac=xo,uc=Vt,lc=Ro,fc=Co,dc=Xt,pc=Eo,mc=dt,hc=Po,gc=Mo,vc=Oo,wc=Do,xc=Io,yc=To,Rc=Fo,Cc=jo,pt="DropdownMenu",[Ec]=ve(pt,[vo]),W=vo(),[bc,$o]=Ec(pt),Bo=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,u=W(t),d=a.useRef(null),[f,l]=tt({prop:r,defaultProp:s??!1,onChange:i,caller:pt});return g.jsx(bc,{scope:t,triggerId:he(),triggerRef:d,contentId:he(),open:f,onOpenChange:l,onOpenToggle:a.useCallback(()=>l(m=>!m),[l]),modal:c,children:g.jsx(ac,{...u,open:f,onOpenChange:l,dir:o,modal:c,children:n})})};Bo.displayName=pt;var Uo="DropdownMenuTrigger",Wo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=$o(Uo,n),i=W(n),c=B(t,s.triggerRef);return g.jsx(uc,{asChild:!0,...i,children:g.jsx(k.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:c,onPointerDown:S(e.onPointerDown,u=>{!o&&u.button===0&&u.ctrlKey===!1&&(s.onOpenToggle(),s.open||u.preventDefault())}),onKeyDown:S(e.onKeyDown,u=>{o||(["Enter"," "].includes(u.key)&&s.onOpenToggle(),u.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});Wo.displayName=Uo;var Pc="DropdownMenuPortal",Ko=e=>{const{__scopeDropdownMenu:t,...n}=e,o=W(t);return g.jsx(lc,{...o,...n})};Ko.displayName=Pc;var Go="DropdownMenuContent",Vo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=$o(Go,n),s=W(n),i=a.useRef(!1);return g.jsx(fc,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:S(e.onCloseAutoFocus,c=>{var u;i.current||(u=r.triggerRef.current)==null||u.focus(),i.current=!1,c.preventDefault()}),onInteractOutside:S(e.onInteractOutside,c=>{const u=c.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,f=u.button===2||d;(!r.modal||f)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Vo.displayName=Go;var Sc="DropdownMenuGroup",Ho=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(dc,{...r,...o,ref:t})});Ho.displayName=Sc;var Mc="DropdownMenuLabel",zo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(pc,{...r,...o,ref:t})});zo.displayName=Mc;var Ac="DropdownMenuItem",Yo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(mc,{...r,...o,ref:t})});Yo.displayName=Ac;var Oc="DropdownMenuCheckboxItem",_c=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(hc,{...r,...o,ref:t})});_c.displayName=Oc;var Dc="DropdownMenuRadioGroup",Ic=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(gc,{...r,...o,ref:t})});Ic.displayName=Dc;var Tc="DropdownMenuRadioItem",Nc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(vc,{...r,...o,ref:t})});Nc.displayName=Tc;var Fc="DropdownMenuItemIndicator",Lc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(wc,{...r,...o,ref:t})});Lc.displayName=Fc;var jc="DropdownMenuSeparator",Xo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(xc,{...r,...o,ref:t})});Xo.displayName=jc;var kc="DropdownMenuArrow",$c=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(yc,{...r,...o,ref:t})});$c.displayName=kc;var Bc="DropdownMenuSubTrigger",Uc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(Rc,{...r,...o,ref:t})});Uc.displayName=Bc;var Wc="DropdownMenuSubContent",Kc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(Cc,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Kc.displayName=Wc;var oa=Bo,ra=Wo,sa=Ko,ia=Vo,ca=Ho,aa=zo,ua=Yo,la=Xo,mt="Popover",[Zo]=ve(mt,[lt]),Be=lt(),[Gc,de]=Zo(mt),qo=e=>{const{__scopePopover:t,children:n,open:o,defaultOpen:r,onOpenChange:s,modal:i=!1}=e,c=Be(t),u=a.useRef(null),[d,f]=a.useState(!1),[l,m]=tt({prop:o,defaultProp:r??!1,onChange:s,caller:mt});return g.jsx(io,{...c,children:g.jsx(Gc,{scope:t,contentId:he(),triggerRef:u,open:l,onOpenChange:m,onOpenToggle:a.useCallback(()=>m(p=>!p),[m]),hasCustomAnchor:d,onCustomAnchorAdd:a.useCallback(()=>f(!0),[]),onCustomAnchorRemove:a.useCallback(()=>f(!1),[]),modal:i,children:n})})};qo.displayName=mt;var Jo="PopoverAnchor",Vc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(Jo,n),s=Be(n),{onCustomAnchorAdd:i,onCustomAnchorRemove:c}=r;return a.useEffect(()=>(i(),()=>c()),[i,c]),g.jsx(Gt,{...s,...o,ref:t})});Vc.displayName=Jo;var Qo="PopoverTrigger",er=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(Qo,n),s=Be(n),i=B(t,r.triggerRef),c=g.jsx(k.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":sr(r.open),...o,ref:i,onClick:S(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?c:g.jsx(Gt,{asChild:!0,...s,children:c})});er.displayName=Qo;var Jt="PopoverPortal",[Hc,zc]=Zo(Jt,{forceMount:void 0}),tr=e=>{const{__scopePopover:t,forceMount:n,children:o,container:r}=e,s=de(Jt,t);return g.jsx(Hc,{scope:t,forceMount:n,children:g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:o})})})};tr.displayName=Jt;var be="PopoverContent",nr=a.forwardRef((e,t)=>{const n=zc(be,e.__scopePopover),{forceMount:o=n.forceMount,...r}=e,s=de(be,e.__scopePopover);return g.jsx(ne,{present:o||s.open,children:s.modal?g.jsx(Xc,{...r,ref:t}):g.jsx(Zc,{...r,ref:t})})});nr.displayName=be;var Yc=Re("PopoverContent.RemoveScroll"),Xc=a.forwardRef((e,t)=>{const n=de(be,e.__scopePopover),o=a.useRef(null),r=B(t,o),s=a.useRef(!1);return a.useEffect(()=>{const i=o.current;if(i)return _t(i)},[]),g.jsx(Ot,{as:Yc,allowPinchZoom:!0,children:g.jsx(or,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:S(e.onCloseAutoFocus,i=>{var c;i.preventDefault(),s.current||(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,d=c.button===2||u;s.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:S(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),Zc=a.forwardRef((e,t)=>{const n=de(be,e.__scopePopover),o=a.useRef(!1),r=a.useRef(!1);return g.jsx(or,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,s),s.defaultPrevented||(o.current||(c=n.triggerRef.current)==null||c.focus(),s.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:s=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(i))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&r.current&&s.preventDefault()}})}),or=a.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...l}=e,m=de(be,n),p=Be(n);return It(),g.jsx(ot,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:s,children:g.jsx(nt,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:g.jsx(co,{"data-state":sr(m.open),role:"dialog",id:m.contentId,...p,...l,ref:t,style:{...l.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),rr="PopoverClose",qc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(rr,n);return g.jsx(k.button,{type:"button",...o,ref:t,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});qc.displayName=rr;var Jc="PopoverArrow",Qc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=Be(n);return g.jsx(ao,{...r,...o,ref:t})});Qc.displayName=Jc;function sr(e){return e?"open":"closed"}var fa=qo,da=er,pa=tr,ma=nr;export{ia as C,Xr as D,ca as G,ua as I,aa as L,sa as P,oa as R,la as S,ra as T,Jr as a,Qr as b,ns as c,ss as d,cs as e,fa as f,da as g,pa as h,ma as i};
1
+ import{r as a,j as g,R as Fe,b as At}from"./vendor-react-Dka9ZH0B.js";import{R as Ot,h as _t}from"./vendor-z183l2lP.js";function S(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e==null||e(r),n===!1||!r.defaultPrevented)return t==null?void 0:t(r)}}function on(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function lr(...e){return t=>{let n=!1;const o=e.map(r=>{const s=on(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;r<o.length;r++){const s=o[r];typeof s=="function"?s():on(e[r],null)}}}}function B(...e){return a.useCallback(lr(...e),e)}function ve(e,t=[]){let n=[];function o(s,i){const c=a.createContext(i);c.displayName=s+"Context";const u=n.length;n=[...n,i];const d=l=>{var x;const{scope:m,children:p,...h}=l,v=((x=m==null?void 0:m[e])==null?void 0:x[u])||c,w=a.useMemo(()=>h,Object.values(h));return g.jsx(v.Provider,{value:w,children:p})};d.displayName=s+"Provider";function f(l,m){var v;const p=((v=m==null?void 0:m[e])==null?void 0:v[u])||c,h=a.useContext(p);if(h)return h;if(i!==void 0)return i;throw new Error(`\`${l}\` must be used within \`${s}\``)}return[d,f]}const r=()=>{const s=n.map(i=>a.createContext(i));return function(c){const u=(c==null?void 0:c[e])||s;return a.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return r.scopeName=e,[o,fr(r,...t)]}function fr(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(s){const i=o.reduce((c,{useScope:u,scopeName:d})=>{const l=u(s)[`__scope${d}`];return{...c,...l}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var ee=globalThis!=null&&globalThis.document?a.useLayoutEffect:()=>{},dr=Fe[" useId ".trim().toString()]||(()=>{}),pr=0;function he(e){const[t,n]=a.useState(dr());return ee(()=>{n(o=>o??String(pr++))},[e]),e||(t?`radix-${t}`:"")}var rn=Fe[" useEffectEvent ".trim().toString()],sn=Fe[" useInsertionEffect ".trim().toString()];function mr(e){if(typeof rn=="function")return rn(e);const t=a.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof sn=="function"?sn(()=>{t.current=e}):ee(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)}),[])}var hr=Fe[" useInsertionEffect ".trim().toString()]||ee;function tt({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,s,i]=gr({defaultProp:t,onChange:n}),c=e!==void 0,u=c?e:r;{const f=a.useRef(e!==void 0);a.useEffect(()=>{const l=f.current;l!==c&&console.warn(`${o} is changing from ${l?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,o])}const d=a.useCallback(f=>{var l;if(c){const m=vr(f)?f(e):f;m!==e&&((l=i.current)==null||l.call(i,m))}else s(f)},[c,e,s,i]);return[u,d]}function gr({defaultProp:e,onChange:t}){const[n,o]=a.useState(e),r=a.useRef(n),s=a.useRef(t);return hr(()=>{s.current=t},[t]),a.useEffect(()=>{var i;r.current!==n&&((i=s.current)==null||i.call(s,n),r.current=n)},[n,r]),[n,o,s]}function vr(e){return typeof e=="function"}function Re(e){const t=a.forwardRef((n,o)=>{let{children:r,...s}=n,i=null,c=!1;const u=[];cn(r)&&typeof Ke=="function"&&(r=Ke(r._payload)),a.Children.forEach(r,m=>{var p;if(Cr(m)){c=!0;const h=m;let v="child"in h.props?h.props.child:h.props.children;cn(v)&&typeof Ke=="function"&&(v=Ke(v._payload)),i=xr(h,v),u.push((p=i==null?void 0:i.props)==null?void 0:p.children)}else u.push(m)}),i?i=a.cloneElement(i,void 0,u):!c&&a.Children.count(r)===1&&a.isValidElement(r)&&(i=r);const d=i?Rr(i):void 0,f=B(o,d);if(!i){if(r||r===0)throw new Error(c?Sr(e):Pr(e));return r}const l=yr(s,i.props??{});return i.type!==a.Fragment&&(l.ref=o?f:d),a.cloneElement(i,l)});return t.displayName=`${e}.Slot`,t}var wr=Symbol.for("radix.slottable"),xr=(e,t)=>{if("child"in e.props){const n=e.props.child;return a.isValidElement(n)?a.cloneElement(n,void 0,e.props.children(n.props.children)):null}return a.isValidElement(t)?t:null};function yr(e,t){const n={...t};for(const o in t){const r=e[o],s=t[o];/^on[A-Z]/.test(o)?r&&s?n[o]=(...c)=>{const u=s(...c);return r(...c),u}:r&&(n[o]=r):o==="style"?n[o]={...r,...s}:o==="className"&&(n[o]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}function Rr(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Cr(e){return a.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===wr}var br=Symbol.for("react.lazy");function cn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===br&&"_payload"in e&&Er(e._payload)}function Er(e){return typeof e=="object"&&e!==null&&"then"in e}var Pr=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Sr=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Ke=Fe[" use ".trim().toString()],Mr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],k=Mr.reduce((e,t)=>{const n=Re(`Primitive.${t}`),o=a.forwardRef((r,s)=>{const{asChild:i,...c}=r,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(u,{...c,ref:s})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function An(e,t){e&&At.flushSync(()=>e.dispatchEvent(t))}function ue(e){const t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)}),[])}var Ar="DismissableLayer",Ct="dismissableLayer.update",Or="dismissableLayer.pointerDownOutside",_r="dismissableLayer.focusOutside",an,Dt=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),nt=a.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:o=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:c,onDismiss:u,...d}=e,f=a.useContext(Dt),[l,m]=a.useState(null),p=(l==null?void 0:l.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=a.useState({}),v=B(t,m),w=Array.from(f.layers),[x]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),R=w.indexOf(x),y=l?w.indexOf(l):-1,C=f.layersWithOutsidePointerEventsDisabled.size>0,E=y>=R,P=a.useRef(!1),O=Nr(A=>{const F=A.target;if(!(F instanceof Node))return;const N=[...f.branches].some(I=>I.contains(F));!E||N||(s==null||s(A),c==null||c(A),A.defaultPrevented||u==null||u())},{ownerDocument:p,deferPointerDownOutside:o,isDeferredPointerDownOutsideRef:P,dismissableSurfaces:f.dismissableSurfaces}),_=Fr(A=>{if(o&&P.current)return;const F=A.target;[...f.branches].some(I=>I.contains(F))||(i==null||i(A),c==null||c(A),A.defaultPrevented||u==null||u())},p),L=l?y===w.length-1:!1,T=mr(A=>{A.key==="Escape"&&(r==null||r(A),!A.defaultPrevented&&u&&(A.preventDefault(),u()))});return a.useEffect(()=>{if(L)return p.addEventListener("keydown",T,{capture:!0}),()=>p.removeEventListener("keydown",T,{capture:!0})},[p,L]),a.useEffect(()=>{if(l)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(an=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(l)),f.layers.add(l),un(),()=>{n&&(f.layersWithOutsidePointerEventsDisabled.delete(l),f.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=an))}},[l,p,n,f]),a.useEffect(()=>()=>{l&&(f.layers.delete(l),f.layersWithOutsidePointerEventsDisabled.delete(l),un())},[l,f]),a.useEffect(()=>{const A=()=>h({});return document.addEventListener(Ct,A),()=>document.removeEventListener(Ct,A)},[]),g.jsx(k.div,{...d,ref:v,style:{pointerEvents:C?E?"auto":"none":void 0,...e.style},onFocusCapture:S(e.onFocusCapture,_.onFocusCapture),onBlurCapture:S(e.onBlurCapture,_.onBlurCapture),onPointerDownCapture:S(e.onPointerDownCapture,O.onPointerDownCapture)})});nt.displayName=Ar;var Dr="DismissableLayerBranch",Ir=a.forwardRef((e,t)=>{const n=a.useContext(Dt),o=a.useRef(null),r=B(t,o);return a.useEffect(()=>{const s=o.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),g.jsx(k.div,{...e,ref:r})});Ir.displayName=Dr;function Tr(){const e=a.useContext(Dt),[t,n]=a.useState(null);return a.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function Nr(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s}=t,i=ue(e),c=a.useRef(!1),u=a.useRef(!1),d=a.useRef(new Map),f=a.useRef(()=>{});return a.useEffect(()=>{function l(){u.current=!1,r.current=!1,d.current.clear()}function m(){return Array.from(d.current.values()).some(Boolean)}function p(R){if(!u.current)return;const y=R.target;y instanceof Node&&[...s].some(E=>E.contains(y))||d.current.set(R.type,!0),R.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}function h(R){u.current&&d.current.set(R.type,!1)}const v=R=>{if(R.target&&!c.current){let y=function(){n.removeEventListener("click",f.current);const E=m();l(),E||On(Or,i,C,{discrete:!0})};const C={originalEvent:R};u.current=!0,r.current=o&&R.button===0,d.current.clear(),!o||R.button!==0?y():(n.removeEventListener("click",f.current),f.current=y,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),l();c.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const R of w)n.addEventListener(R,p,!0),n.addEventListener(R,h);const x=window.setTimeout(()=>{n.addEventListener("pointerdown",v)},0);return()=>{window.clearTimeout(x),n.removeEventListener("pointerdown",v),n.removeEventListener("click",f.current);for(const R of w)n.removeEventListener(R,p,!0),n.removeEventListener(R,h)}},[n,i,o,r,s]),{onPointerDownCapture:()=>c.current=!0}}function Fr(e,t=globalThis==null?void 0:globalThis.document){const n=ue(e),o=a.useRef(!1);return a.useEffect(()=>{const r=s=>{s.target&&!o.current&&On(_r,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function un(){const e=new CustomEvent(Ct);document.dispatchEvent(e)}function On(e,t,n,{discrete:o}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?An(r,s):r.dispatchEvent(s)}var gt="focusScope.autoFocusOnMount",vt="focusScope.autoFocusOnUnmount",ln={bubbles:!1,cancelable:!0},Lr="FocusScope",ot=a.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:s,...i}=e,[c,u]=a.useState(null),d=ue(r),f=ue(s),l=a.useRef(null),m=B(t,u),p=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(o){let v=function(y){if(p.paused||!c)return;const C=y.target;c.contains(C)?l.current=C:ae(l.current,{select:!0})},w=function(y){if(p.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||ae(l.current,{select:!0}))},x=function(y){if(document.activeElement===document.body)for(const E of y)E.removedNodes.length>0&&ae(c)};document.addEventListener("focusin",v),document.addEventListener("focusout",w);const R=new MutationObserver(x);return c&&R.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",w),R.disconnect()}}},[o,c,p.paused]),a.useEffect(()=>{if(c){dn.add(p);const v=document.activeElement;if(!c.contains(v)){const x=new CustomEvent(gt,ln);c.addEventListener(gt,d),c.dispatchEvent(x),x.defaultPrevented||(jr(Wr(_n(c)),{select:!0}),document.activeElement===v&&ae(c))}return()=>{c.removeEventListener(gt,d),setTimeout(()=>{const x=new CustomEvent(vt,ln);c.addEventListener(vt,f),c.dispatchEvent(x),x.defaultPrevented||ae(v??document.body,{select:!0}),c.removeEventListener(vt,f),dn.remove(p)},0)}}},[c,d,f,p]);const h=a.useCallback(v=>{if(!n&&!o||p.paused)return;const w=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,x=document.activeElement;if(w&&x){const R=v.currentTarget,[y,C]=kr(R);y&&C?!v.shiftKey&&x===C?(v.preventDefault(),n&&ae(y,{select:!0})):v.shiftKey&&x===y&&(v.preventDefault(),n&&ae(C,{select:!0})):x===R&&v.preventDefault()}},[n,o,p.paused]);return g.jsx(k.div,{tabIndex:-1,...i,ref:m,onKeyDown:h})});ot.displayName=Lr;function jr(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(ae(o,{select:t}),document.activeElement!==n)return}function kr(e){const t=_n(e),n=fn(t,e),o=fn(t.reverse(),e);return[n,o]}function _n(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function fn(e,t){for(const n of e)if(!$r(n,{upTo:t}))return n}function $r(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 Br(e){return e instanceof HTMLInputElement&&"select"in e}function ae(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Br(e)&&t&&e.select()}}var dn=Ur();function Ur(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=pn(e,t),e.unshift(t)},remove(t){var n;e=pn(e,t),(n=e[0])==null||n.resume()}}}function pn(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function Wr(e){return e.filter(t=>t.tagName!=="A")}var Kr="Portal",rt=a.forwardRef((e,t)=>{var c;const{container:n,...o}=e,[r,s]=a.useState(!1);ee(()=>s(!0),[]);const i=n||r&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?At.createPortal(g.jsx(k.div,{...o,ref:t}),i):null});rt.displayName=Kr;function Gr(e,t){return a.useReducer((n,o)=>t[n][o]??n,e)}var ne=e=>{const{present:t,children:n}=e,o=Vr(t),r=typeof n=="function"?n({present:o.isPresent}):a.Children.only(n),s=Hr(o.ref,zr(r));return typeof n=="function"||o.isPresent?a.cloneElement(r,{ref:s}):null};ne.displayName="Presence";function Vr(e){const[t,n]=a.useState(),o=a.useRef(null),r=a.useRef(e),s=a.useRef("none"),i=e?"mounted":"unmounted",[c,u]=Gr(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return a.useEffect(()=>{const d=Ge(o.current);s.current=c==="mounted"?d:"none"},[c]),ee(()=>{const d=o.current,f=r.current;if(f!==e){const m=s.current,p=Ge(d);e?u("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&m!==p?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),ee(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,l=p=>{const v=Ge(o.current).includes(CSS.escape(p.animationName));if(p.target===t&&v&&(u("ANIMATION_END"),!r.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},m=p=>{p.target===t&&(s.current=Ge(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",l),t.addEventListener("animationend",l),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",l),t.removeEventListener("animationend",l)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:a.useCallback(d=>{o.current=d?getComputedStyle(d):null,n(d)},[])}}function mn(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Hr(...e){const t=a.useRef(e);return t.current=e,a.useCallback(n=>{const o=t.current;let r=!1;const s=o.map(i=>{const c=mn(i,n);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let i=0;i<s.length;i++){const c=s[i];typeof c=="function"?c():mn(o[i],null)}}},[])}function Ge(e){return(e==null?void 0:e.animationName)||"none"}function zr(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ve=0,J=null;function It(){a.useEffect(()=>{J||(J={start:hn(),end:hn()});const{start:e,end:t}=J;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ve++,()=>{Ve===1&&(J==null||J.start.remove(),J==null||J.end.remove(),J=null),Ve=Math.max(0,Ve-1)}},[])}function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var st="Dialog",[Dn]=ve(st),[Yr,q]=Dn(st),Xr=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:s,modal:i=!0}=e,c=a.useRef(null),u=a.useRef(null),[d,f]=tt({prop:o,defaultProp:r??!1,onChange:s,caller:st});return g.jsx(Yr,{scope:t,triggerRef:c,contentRef:u,contentId:he(),titleId:he(),descriptionId:he(),open:d,onOpenChange:f,onOpenToggle:a.useCallback(()=>f(l=>!l),[f]),modal:i,children:n})};Xr.displayName=st;var In="DialogTrigger",Zr=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(In,n),s=B(t,r.triggerRef);return g.jsx(k.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Nt(r.open),...o,ref:s,onClick:S(e.onClick,r.onOpenToggle)})});Zr.displayName=In;var Tt="DialogPortal",[qr,Tn]=Dn(Tt,{forceMount:void 0}),Jr=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,s=q(Tt,t);return g.jsx(qr,{scope:t,forceMount:n,children:a.Children.map(o,i=>g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:i})}))})};Jr.displayName=Tt;var Ye="DialogOverlay",Qr=a.forwardRef((e,t)=>{const n=Tn(Ye,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,s=q(Ye,e.__scopeDialog);return s.modal?g.jsx(ne,{present:o||s.open,children:g.jsx(ts,{...r,ref:t})}):null});Qr.displayName=Ye;var es=Re("DialogOverlay.RemoveScroll"),ts=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Ye,n),s=Tr(),i=B(t,s);return g.jsx(Ot,{as:es,allowPinchZoom:!0,shards:[r.contentRef],children:g.jsx(k.div,{"data-state":Nt(r.open),...o,ref:i,style:{pointerEvents:"auto",...o.style}})})}),Ce="DialogContent",ns=a.forwardRef((e,t)=>{const n=Tn(Ce,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,s=q(Ce,e.__scopeDialog);return g.jsx(ne,{present:o||s.open,children:s.modal?g.jsx(os,{...r,ref:t}):g.jsx(rs,{...r,ref:t})})});ns.displayName=Ce;var os=a.forwardRef((e,t)=>{const n=q(Ce,e.__scopeDialog),o=a.useRef(null),r=B(t,n.contentRef,o);return a.useEffect(()=>{const s=o.current;if(s)return _t(s)},[]),g.jsx(Nn,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:S(e.onCloseAutoFocus,s=>{var i;s.preventDefault(),(i=n.triggerRef.current)==null||i.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,s=>{const i=s.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&s.preventDefault()}),onFocusOutside:S(e.onFocusOutside,s=>s.preventDefault())})}),rs=a.forwardRef((e,t)=>{const n=q(Ce,e.__scopeDialog),o=a.useRef(!1),r=a.useRef(!1);return g.jsx(Nn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,s),s.defaultPrevented||(o.current||(c=n.triggerRef.current)==null||c.focus(),s.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:s=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(i))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&r.current&&s.preventDefault()}})}),Nn=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:s,...i}=e,c=q(Ce,n);return It(),g.jsx(g.Fragment,{children:g.jsx(ot,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:s,children:g.jsx(nt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Nt(c.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>c.onOpenChange(!1)})})})}),Fn="DialogTitle",ss=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Fn,n);return g.jsx(k.h2,{id:r.titleId,...o,ref:t})});ss.displayName=Fn;var Ln="DialogDescription",is=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(Ln,n);return g.jsx(k.p,{id:r.descriptionId,...o,ref:t})});is.displayName=Ln;var jn="DialogClose",cs=a.forwardRef((e,t)=>{const{__scopeDialog:n,...o}=e,r=q(jn,n);return g.jsx(k.button,{type:"button",...o,ref:t,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});cs.displayName=jn;function Nt(e){return e?"open":"closed"}function kn(e){const t=e+"CollectionProvider",[n,o]=ve(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=v=>{const{scope:w,children:x}=v,R=a.useRef(null),y=a.useRef(new Map).current;return g.jsx(r,{scope:w,itemMap:y,collectionRef:R,children:x})};i.displayName=t;const c=e+"CollectionSlot",u=Re(c),d=a.forwardRef((v,w)=>{const{scope:x,children:R}=v,y=s(c,x),C=B(w,y.collectionRef);return g.jsx(u,{ref:C,children:R})});d.displayName=c;const f=e+"CollectionItemSlot",l="data-radix-collection-item",m=Re(f),p=a.forwardRef((v,w)=>{const{scope:x,children:R,...y}=v,C=a.useRef(null),E=B(w,C),P=s(f,x);return a.useEffect(()=>(P.itemMap.set(C,{ref:C,...y}),()=>void P.itemMap.delete(C))),g.jsx(m,{[l]:"",ref:E,children:R})});p.displayName=f;function h(v){const w=s(e+"CollectionConsumer",v);return a.useCallback(()=>{const R=w.collectionRef.current;if(!R)return[];const y=Array.from(R.querySelectorAll(`[${l}]`));return Array.from(w.itemMap.values()).sort((P,O)=>y.indexOf(P.ref.current)-y.indexOf(O.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:i,Slot:d,ItemSlot:p},h,o]}var as=a.createContext(void 0);function $n(e){const t=a.useContext(as);return e||t||"ltr"}const us=["top","right","bottom","left"],le=Math.min,V=Math.max,Xe=Math.round,He=Math.floor,te=e=>({x:e,y:e}),ls={left:"right",right:"left",bottom:"top",top:"bottom"};function bt(e,t,n){return V(e,le(t,n))}function re(e,t){return typeof e=="function"?e(t):e}function se(e){return e.split("-")[0]}function Pe(e){return e.split("-")[1]}function Ft(e){return e==="x"?"y":"x"}function Lt(e){return e==="y"?"height":"width"}function Q(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function jt(e){return Ft(Q(e))}function fs(e,t,n){n===void 0&&(n=!1);const o=Pe(e),r=jt(e),s=Lt(r);let i=r==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=Ze(i)),[i,Ze(i)]}function ds(e){const t=Ze(e);return[Et(e),t,Et(t)]}function Et(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const gn=["left","right"],vn=["right","left"],ps=["top","bottom"],ms=["bottom","top"];function hs(e,t,n){switch(e){case"top":case"bottom":return n?t?vn:gn:t?gn:vn;case"left":case"right":return t?ps:ms;default:return[]}}function gs(e,t,n,o){const r=Pe(e);let s=hs(se(e),n==="start",o);return r&&(s=s.map(i=>i+"-"+r),t&&(s=s.concat(s.map(Et)))),s}function Ze(e){const t=se(e);return ls[t]+e.slice(t.length)}function vs(e){return{top:0,right:0,bottom:0,left:0,...e}}function Bn(e){return typeof e!="number"?vs(e):{top:e,right:e,bottom:e,left:e}}function qe(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function wn(e,t,n){let{reference:o,floating:r}=e;const s=Q(t),i=jt(t),c=Lt(i),u=se(t),d=s==="y",f=o.x+o.width/2-r.width/2,l=o.y+o.height/2-r.height/2,m=o[c]/2-r[c]/2;let p;switch(u){case"top":p={x:f,y:o.y-r.height};break;case"bottom":p={x:f,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:l};break;case"left":p={x:o.x-r.width,y:l};break;default:p={x:o.x,y:o.y}}switch(Pe(t)){case"start":p[i]-=m*(n&&d?-1:1);break;case"end":p[i]+=m*(n&&d?-1:1);break}return p}async function ws(e,t){var n;t===void 0&&(t={});const{x:o,y:r,platform:s,rects:i,elements:c,strategy:u}=e,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:l="floating",altBoundary:m=!1,padding:p=0}=re(t,e),h=Bn(p),w=c[m?l==="floating"?"reference":"floating":l],x=qe(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(w)))==null||n?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:d,rootBoundary:f,strategy:u})),R=l==="floating"?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},E=qe(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:R,offsetParent:y,strategy:u}):R);return{top:(x.top-E.top+h.top)/C.y,bottom:(E.bottom-x.bottom+h.bottom)/C.y,left:(x.left-E.left+h.left)/C.x,right:(E.right-x.right+h.right)/C.x}}const xs=50,ys=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:s=[],platform:i}=n,c=i.detectOverflow?i:{...i,detectOverflow:ws},u=await(i.isRTL==null?void 0:i.isRTL(t));let d=await i.getElementRects({reference:e,floating:t,strategy:r}),{x:f,y:l}=wn(d,o,u),m=o,p=0;const h={};for(let v=0;v<s.length;v++){const w=s[v];if(!w)continue;const{name:x,fn:R}=w,{x:y,y:C,data:E,reset:P}=await R({x:f,y:l,initialPlacement:o,placement:m,strategy:r,middlewareData:h,rects:d,platform:c,elements:{reference:e,floating:t}});f=y??f,l=C??l,h[x]={...h[x],...E},P&&p<xs&&(p++,typeof P=="object"&&(P.placement&&(m=P.placement),P.rects&&(d=P.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:r}):P.rects),{x:f,y:l}=wn(d,m,u)),v=-1)}return{x:f,y:l,placement:m,strategy:r,middlewareData:h}},Rs=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:s,platform:i,elements:c,middlewareData:u}=t,{element:d,padding:f=0}=re(e,t)||{};if(d==null)return{};const l=Bn(f),m={x:n,y:o},p=jt(r),h=Lt(p),v=await i.getDimensions(d),w=p==="y",x=w?"top":"left",R=w?"bottom":"right",y=w?"clientHeight":"clientWidth",C=s.reference[h]+s.reference[p]-m[p]-s.floating[h],E=m[p]-s.reference[p],P=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=P?P[y]:0;(!O||!await(i.isElement==null?void 0:i.isElement(P)))&&(O=c.floating[y]||s.floating[h]);const _=C/2-E/2,L=O/2-v[h]/2-1,T=le(l[x],L),A=le(l[R],L),F=T,N=O-v[h]-A,I=O/2-v[h]/2+_,U=bt(F,I,N),D=!u.arrow&&Pe(r)!=null&&I!==U&&s.reference[h]/2-(I<F?T:A)-v[h]/2<0,$=D?I<F?I-F:I-N:0;return{[p]:m[p]+$,data:{[p]:U,centerOffset:I-U-$,...D&&{alignmentOffset:$}},reset:D}}}),Cs=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:s,rects:i,initialPlacement:c,platform:u,elements:d}=t,{mainAxis:f=!0,crossAxis:l=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:v=!0,...w}=re(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const x=se(r),R=Q(c),y=se(c)===c,C=await(u.isRTL==null?void 0:u.isRTL(d.floating)),E=m||(y||!v?[Ze(c)]:ds(c)),P=h!=="none";!m&&P&&E.push(...gs(c,v,h,C));const O=[c,...E],_=await u.detectOverflow(t,w),L=[];let T=((o=s.flip)==null?void 0:o.overflows)||[];if(f&&L.push(_[x]),l){const I=fs(r,i,C);L.push(_[I[0]],_[I[1]])}if(T=[...T,{placement:r,overflows:L}],!L.every(I=>I<=0)){var A,F;const I=(((A=s.flip)==null?void 0:A.index)||0)+1,U=O[I];if(U&&(!(l==="alignment"?R!==Q(U):!1)||T.every(M=>Q(M.placement)===R?M.overflows[0]>0:!0)))return{data:{index:I,overflows:T},reset:{placement:U}};let D=(F=T.filter($=>$.overflows[0]<=0).sort(($,M)=>$.overflows[1]-M.overflows[1])[0])==null?void 0:F.placement;if(!D)switch(p){case"bestFit":{var N;const $=(N=T.filter(M=>{if(P){const b=Q(M.placement);return b===R||b==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(b=>b>0).reduce((b,j)=>b+j,0)]).sort((M,b)=>M[1]-b[1])[0])==null?void 0:N[0];$&&(D=$);break}case"initialPlacement":D=c;break}if(r!==D)return{reset:{placement:D}}}return{}}}};function xn(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function yn(e){return us.some(t=>e[t]>=0)}const bs=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:o}=t,{strategy:r="referenceHidden",...s}=re(e,t);switch(r){case"referenceHidden":{const i=await o.detectOverflow(t,{...s,elementContext:"reference"}),c=xn(i,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:yn(c)}}}case"escaped":{const i=await o.detectOverflow(t,{...s,altBoundary:!0}),c=xn(i,n.floating);return{data:{escapedOffsets:c,escaped:yn(c)}}}default:return{}}}}},Un=new Set(["left","top"]);async function Es(e,t){const{placement:n,platform:o,elements:r}=e,s=await(o.isRTL==null?void 0:o.isRTL(r.floating)),i=se(n),c=Pe(n),u=Q(n)==="y",d=Un.has(i)?-1:1,f=s&&u?-1:1,l=re(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof l=="number"?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return c&&typeof h=="number"&&(p=c==="end"?h*-1:h),u?{x:p*f,y:m*d}:{x:m*d,y:p*f}}const Ps=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:s,placement:i,middlewareData:c}=t,u=await Es(t,e);return i===((n=c.offset)==null?void 0:n.placement)&&(o=c.arrow)!=null&&o.alignmentOffset?{}:{x:r+u.x,y:s+u.y,data:{...u,placement:i}}}}},Ss=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r,platform:s}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:u={fn:x=>{let{x:R,y}=x;return{x:R,y}}},...d}=re(e,t),f={x:n,y:o},l=await s.detectOverflow(t,d),m=Q(se(r)),p=Ft(m);let h=f[p],v=f[m];if(i){const x=p==="y"?"top":"left",R=p==="y"?"bottom":"right",y=h+l[x],C=h-l[R];h=bt(y,h,C)}if(c){const x=m==="y"?"top":"left",R=m==="y"?"bottom":"right",y=v+l[x],C=v-l[R];v=bt(y,v,C)}const w=u.fn({...t,[p]:h,[m]:v});return{...w,data:{x:w.x-n,y:w.y-o,enabled:{[p]:i,[m]:c}}}}}},Ms=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:u=!0,crossAxis:d=!0}=re(e,t),f={x:n,y:o},l=Q(r),m=Ft(l);let p=f[m],h=f[l];const v=re(c,t),w=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){const y=m==="y"?"height":"width",C=s.reference[m]-s.floating[y]+w.mainAxis,E=s.reference[m]+s.reference[y]-w.mainAxis;p<C?p=C:p>E&&(p=E)}if(d){var x,R;const y=m==="y"?"width":"height",C=Un.has(se(r)),E=s.reference[l]-s.floating[y]+(C&&((x=i.offset)==null?void 0:x[l])||0)+(C?0:w.crossAxis),P=s.reference[l]+s.reference[y]+(C?0:((R=i.offset)==null?void 0:R[l])||0)-(C?w.crossAxis:0);h<E?h=E:h>P&&(h=P)}return{[m]:p,[l]:h}}}},As=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:s,platform:i,elements:c}=t,{apply:u=()=>{},...d}=re(e,t),f=await i.detectOverflow(t,d),l=se(r),m=Pe(r),p=Q(r)==="y",{width:h,height:v}=s.floating;let w,x;l==="top"||l==="bottom"?(w=l,x=m===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(x=l,w=m==="end"?"top":"bottom");const R=v-f.top-f.bottom,y=h-f.left-f.right,C=le(v-f[w],R),E=le(h-f[x],y),P=!t.middlewareData.shift;let O=C,_=E;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(_=y),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(O=R),P&&!m){const T=V(f.left,0),A=V(f.right,0),F=V(f.top,0),N=V(f.bottom,0);p?_=h-2*(T!==0||A!==0?T+A:V(f.left,f.right)):O=v-2*(F!==0||N!==0?F+N:V(f.top,f.bottom))}await u({...t,availableWidth:_,availableHeight:O});const L=await i.getDimensions(c.floating);return h!==L.width||v!==L.height?{reset:{rects:!0}}:{}}}};function it(){return typeof window<"u"}function Se(e){return Wn(e)?(e.nodeName||"").toLowerCase():"#document"}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oe(e){var t;return(t=(Wn(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Wn(e){return it()?e instanceof Node||e instanceof H(e).Node:!1}function X(e){return it()?e instanceof Element||e instanceof H(e).Element:!1}function ie(e){return it()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function Rn(e){return!it()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}function Le(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&r!=="inline"&&r!=="contents"}function Os(e){return/^(table|td|th)$/.test(Se(e))}function ct(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const _s=/transform|translate|scale|rotate|perspective|filter/,Ds=/paint|layout|strict|content/,me=e=>!!e&&e!=="none";let wt;function kt(e){const t=X(e)?Z(e):e;return me(t.transform)||me(t.translate)||me(t.scale)||me(t.rotate)||me(t.perspective)||!$t()&&(me(t.backdropFilter)||me(t.filter))||_s.test(t.willChange||"")||Ds.test(t.contain||"")}function Is(e){let t=fe(e);for(;ie(t)&&!be(t);){if(kt(t))return t;if(ct(t))return null;t=fe(t)}return null}function $t(){return wt==null&&(wt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),wt}function be(e){return/^(html|body|#document)$/.test(Se(e))}function Z(e){return H(e).getComputedStyle(e)}function at(e){return X(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fe(e){if(Se(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Rn(e)&&e.host||oe(e);return Rn(t)?t.host:t}function Kn(e){const t=fe(e);return be(t)?e.ownerDocument?e.ownerDocument.body:e.body:ie(t)&&Le(t)?t:Kn(t)}function Ie(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Kn(e),s=r===((o=e.ownerDocument)==null?void 0:o.body),i=H(r);if(s){const c=Pt(i);return t.concat(i,i.visualViewport||[],Le(r)?r:[],c&&n?Ie(c):[])}else return t.concat(r,Ie(r,[],n))}function Pt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Gn(e){const t=Z(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=ie(e),s=r?e.offsetWidth:n,i=r?e.offsetHeight:o,c=Xe(n)!==s||Xe(o)!==i;return c&&(n=s,o=i),{width:n,height:o,$:c}}function Bt(e){return X(e)?e:e.contextElement}function ye(e){const t=Bt(e);if(!ie(t))return te(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:s}=Gn(t);let i=(s?Xe(n.width):n.width)/o,c=(s?Xe(n.height):n.height)/r;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Ts=te(0);function Vn(e){const t=H(e);return!$t()||!t.visualViewport?Ts:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ns(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==H(e)?!1:t}function ge(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=Bt(e);let i=te(1);t&&(o?X(o)&&(i=ye(o)):i=ye(e));const c=Ns(s,n,o)?Vn(s):te(0);let u=(r.left+c.x)/i.x,d=(r.top+c.y)/i.y,f=r.width/i.x,l=r.height/i.y;if(s){const m=H(s),p=o&&X(o)?H(o):o;let h=m,v=Pt(h);for(;v&&o&&p!==h;){const w=ye(v),x=v.getBoundingClientRect(),R=Z(v),y=x.left+(v.clientLeft+parseFloat(R.paddingLeft))*w.x,C=x.top+(v.clientTop+parseFloat(R.paddingTop))*w.y;u*=w.x,d*=w.y,f*=w.x,l*=w.y,u+=y,d+=C,h=H(v),v=Pt(h)}}return qe({width:f,height:l,x:u,y:d})}function ut(e,t){const n=at(e).scrollLeft;return t?t.left+n:ge(oe(e)).left+n}function Hn(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-ut(e,n),r=n.top+t.scrollTop;return{x:o,y:r}}function Fs(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const s=r==="fixed",i=oe(o),c=t?ct(t.floating):!1;if(o===i||c&&s)return n;let u={scrollLeft:0,scrollTop:0},d=te(1);const f=te(0),l=ie(o);if((l||!l&&!s)&&((Se(o)!=="body"||Le(i))&&(u=at(o)),l)){const p=ge(o);d=ye(o),f.x=p.x+o.clientLeft,f.y=p.y+o.clientTop}const m=i&&!l&&!s?Hn(i,u):te(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-u.scrollLeft*d.x+f.x+m.x,y:n.y*d.y-u.scrollTop*d.y+f.y+m.y}}function Ls(e){return Array.from(e.getClientRects())}function js(e){const t=oe(e),n=at(e),o=e.ownerDocument.body,r=V(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=V(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let i=-n.scrollLeft+ut(e);const c=-n.scrollTop;return Z(o).direction==="rtl"&&(i+=V(t.clientWidth,o.clientWidth)-r),{width:r,height:s,x:i,y:c}}const Cn=25;function ks(e,t){const n=H(e),o=oe(e),r=n.visualViewport;let s=o.clientWidth,i=o.clientHeight,c=0,u=0;if(r){s=r.width,i=r.height;const f=$t();(!f||f&&t==="fixed")&&(c=r.offsetLeft,u=r.offsetTop)}const d=ut(o);if(d<=0){const f=o.ownerDocument,l=f.body,m=getComputedStyle(l),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(o.clientWidth-l.clientWidth-p);h<=Cn&&(s-=h)}else d<=Cn&&(s+=d);return{width:s,height:i,x:c,y:u}}function $s(e,t){const n=ge(e,!0,t==="fixed"),o=n.top+e.clientTop,r=n.left+e.clientLeft,s=ie(e)?ye(e):te(1),i=e.clientWidth*s.x,c=e.clientHeight*s.y,u=r*s.x,d=o*s.y;return{width:i,height:c,x:u,y:d}}function bn(e,t,n){let o;if(t==="viewport")o=ks(e,n);else if(t==="document")o=js(oe(e));else if(X(t))o=$s(t,n);else{const r=Vn(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return qe(o)}function zn(e,t){const n=fe(e);return n===t||!X(n)||be(n)?!1:Z(n).position==="fixed"||zn(n,t)}function Bs(e,t){const n=t.get(e);if(n)return n;let o=Ie(e,[],!1).filter(c=>X(c)&&Se(c)!=="body"),r=null;const s=Z(e).position==="fixed";let i=s?fe(e):e;for(;X(i)&&!be(i);){const c=Z(i),u=kt(i);!u&&c.position==="fixed"&&(r=null),(s?!u&&!r:!u&&c.position==="static"&&!!r&&(r.position==="absolute"||r.position==="fixed")||Le(i)&&!u&&zn(e,i))?o=o.filter(f=>f!==i):r=c,i=fe(i)}return t.set(e,o),o}function Us(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const i=[...n==="clippingAncestors"?ct(t)?[]:Bs(t,this._c):[].concat(n),o],c=bn(t,i[0],r);let u=c.top,d=c.right,f=c.bottom,l=c.left;for(let m=1;m<i.length;m++){const p=bn(t,i[m],r);u=V(p.top,u),d=le(p.right,d),f=le(p.bottom,f),l=V(p.left,l)}return{width:d-l,height:f-u,x:l,y:u}}function Ws(e){const{width:t,height:n}=Gn(e);return{width:t,height:n}}function Ks(e,t,n){const o=ie(t),r=oe(t),s=n==="fixed",i=ge(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const u=te(0);function d(){u.x=ut(r)}if(o||!o&&!s)if((Se(t)!=="body"||Le(r))&&(c=at(t)),o){const p=ge(t,!0,s,t);u.x=p.x+t.clientLeft,u.y=p.y+t.clientTop}else r&&d();s&&!o&&r&&d();const f=r&&!o&&!s?Hn(r,c):te(0),l=i.left+c.scrollLeft-u.x-f.x,m=i.top+c.scrollTop-u.y-f.y;return{x:l,y:m,width:i.width,height:i.height}}function xt(e){return Z(e).position==="static"}function En(e,t){if(!ie(e)||Z(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return oe(e)===n&&(n=n.ownerDocument.body),n}function Yn(e,t){const n=H(e);if(ct(e))return n;if(!ie(e)){let r=fe(e);for(;r&&!be(r);){if(X(r)&&!xt(r))return r;r=fe(r)}return n}let o=En(e,t);for(;o&&Os(o)&&xt(o);)o=En(o,t);return o&&be(o)&&xt(o)&&!kt(o)?n:o||Is(e)||n}const Gs=async function(e){const t=this.getOffsetParent||Yn,n=this.getDimensions,o=await n(e.floating);return{reference:Ks(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Vs(e){return Z(e).direction==="rtl"}const Hs={convertOffsetParentRelativeRectToViewportRelativeRect:Fs,getDocumentElement:oe,getClippingRect:Us,getOffsetParent:Yn,getElementRects:Gs,getClientRects:Ls,getDimensions:Ws,getScale:ye,isElement:X,isRTL:Vs};function Xn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function zs(e,t){let n=null,o;const r=oe(e);function s(){var c;clearTimeout(o),(c=n)==null||c.disconnect(),n=null}function i(c,u){c===void 0&&(c=!1),u===void 0&&(u=1),s();const d=e.getBoundingClientRect(),{left:f,top:l,width:m,height:p}=d;if(c||t(),!m||!p)return;const h=He(l),v=He(r.clientWidth-(f+m)),w=He(r.clientHeight-(l+p)),x=He(f),y={rootMargin:-h+"px "+-v+"px "+-w+"px "+-x+"px",threshold:V(0,le(1,u))||1};let C=!0;function E(P){const O=P[0].intersectionRatio;if(O!==u){if(!C)return i();O?i(!1,O):o=setTimeout(()=>{i(!1,1e-7)},1e3)}O===1&&!Xn(d,e.getBoundingClientRect())&&i(),C=!1}try{n=new IntersectionObserver(E,{...y,root:r.ownerDocument})}catch{n=new IntersectionObserver(E,y)}n.observe(e)}return i(!0),s}function Ys(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,d=Bt(e),f=r||s?[...d?Ie(d):[],...t?Ie(t):[]]:[];f.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),s&&x.addEventListener("resize",n)});const l=d&&c?zs(d,n):null;let m=-1,p=null;i&&(p=new ResizeObserver(x=>{let[R]=x;R&&R.target===d&&p&&t&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),d&&!u&&p.observe(d),t&&p.observe(t));let h,v=u?ge(e):null;u&&w();function w(){const x=ge(e);v&&!Xn(v,x)&&n(),v=x,h=requestAnimationFrame(w)}return n(),()=>{var x;f.forEach(R=>{r&&R.removeEventListener("scroll",n),s&&R.removeEventListener("resize",n)}),l==null||l(),(x=p)==null||x.disconnect(),p=null,u&&cancelAnimationFrame(h)}}const Xs=Ps,Zs=Ss,qs=Cs,Js=As,Qs=bs,Pn=Rs,ei=Ms,ti=(e,t,n)=>{const o=new Map,r={platform:Hs,...n},s={...r.platform,_c:o};return ys(e,t,{...r,platform:s})};var ni=typeof document<"u",oi=function(){},ze=ni?a.useLayoutEffect:oi;function Je(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!Je(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;o--!==0;){const s=r[o];if(!(s==="_owner"&&e.$$typeof)&&!Je(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Zn(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Sn(e,t){const n=Zn(e);return Math.round(t*n)/n}function yt(e){const t=a.useRef(e);return ze(()=>{t.current=e}),t}function ri(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:s,floating:i}={},transform:c=!0,whileElementsMounted:u,open:d}=e,[f,l]=a.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=a.useState(o);Je(m,o)||p(o);const[h,v]=a.useState(null),[w,x]=a.useState(null),R=a.useCallback(M=>{M!==P.current&&(P.current=M,v(M))},[]),y=a.useCallback(M=>{M!==O.current&&(O.current=M,x(M))},[]),C=s||h,E=i||w,P=a.useRef(null),O=a.useRef(null),_=a.useRef(f),L=u!=null,T=yt(u),A=yt(r),F=yt(d),N=a.useCallback(()=>{if(!P.current||!O.current)return;const M={placement:t,strategy:n,middleware:m};A.current&&(M.platform=A.current),ti(P.current,O.current,M).then(b=>{const j={...b,isPositioned:F.current!==!1};I.current&&!Je(_.current,j)&&(_.current=j,At.flushSync(()=>{l(j)}))})},[m,t,n,A,F]);ze(()=>{d===!1&&_.current.isPositioned&&(_.current.isPositioned=!1,l(M=>({...M,isPositioned:!1})))},[d]);const I=a.useRef(!1);ze(()=>(I.current=!0,()=>{I.current=!1}),[]),ze(()=>{if(C&&(P.current=C),E&&(O.current=E),C&&E){if(T.current)return T.current(C,E,N);N()}},[C,E,N,T,L]);const U=a.useMemo(()=>({reference:P,floating:O,setReference:R,setFloating:y}),[R,y]),D=a.useMemo(()=>({reference:C,floating:E}),[C,E]),$=a.useMemo(()=>{const M={position:n,left:0,top:0};if(!D.floating)return M;const b=Sn(D.floating,f.x),j=Sn(D.floating,f.y);return c?{...M,transform:"translate("+b+"px, "+j+"px)",...Zn(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:b,top:j}},[n,c,D.floating,f.x,f.y]);return a.useMemo(()=>({...f,update:N,refs:U,elements:D,floatingStyles:$}),[f,N,U,D,$])}const si=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:r}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Pn({element:o.current,padding:r}).fn(n):{}:o?Pn({element:o,padding:r}).fn(n):{}}}},ii=(e,t)=>{const n=Xs(e);return{name:n.name,fn:n.fn,options:[e,t]}},ci=(e,t)=>{const n=Zs(e);return{name:n.name,fn:n.fn,options:[e,t]}},ai=(e,t)=>({fn:ei(e).fn,options:[e,t]}),ui=(e,t)=>{const n=qs(e);return{name:n.name,fn:n.fn,options:[e,t]}},li=(e,t)=>{const n=Js(e);return{name:n.name,fn:n.fn,options:[e,t]}},fi=(e,t)=>{const n=Qs(e);return{name:n.name,fn:n.fn,options:[e,t]}},di=(e,t)=>{const n=si(e);return{name:n.name,fn:n.fn,options:[e,t]}};var pi="Arrow",qn=a.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...s}=e;return g.jsx(k.svg,{...s,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:g.jsx("polygon",{points:"0,0 30,0 15,10"})})});qn.displayName=pi;var mi=qn;function hi(e){const[t,n]=a.useState(void 0);return ee(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let i,c;if("borderBoxSize"in s){const u=s.borderBoxSize,d=Array.isArray(u)?u[0]:u;i=d.inlineSize,c=d.blockSize}else i=e.offsetWidth,c=e.offsetHeight;n({width:i,height:c})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}var Ut="Popper",[Jn,lt]=ve(Ut),[gi,Qn]=Jn(Ut),eo=e=>{const{__scopePopper:t,children:n}=e,[o,r]=a.useState(null),[s,i]=a.useState(void 0);return g.jsx(gi,{scope:t,anchor:o,onAnchorChange:r,placementState:s,setPlacementState:i,children:n})};eo.displayName=Ut;var to="PopperAnchor",no=a.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,s=Qn(to,n),i=a.useRef(null),c=s.onAnchorChange,u=a.useCallback(h=>{i.current=h,h&&c(h)},[c]),d=B(t,u),f=a.useRef(null);a.useEffect(()=>{if(!o)return;const h=f.current;f.current=o.current,h!==f.current&&c(f.current)});const l=s.placementState&&Kt(s.placementState),m=l==null?void 0:l[0],p=l==null?void 0:l[1];return o?null:g.jsx(k.div,{"data-radix-popper-side":m,"data-radix-popper-align":p,...r,ref:d})});no.displayName=to;var Wt="PopperContent",[vi,wi]=Jn(Wt),oo=a.forwardRef((e,t)=>{var Oe,z,_e,Qt,en,tn;const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:l="partial",hideWhenDetached:m=!1,updatePositionStrategy:p="optimized",onPlaced:h,...v}=e,w=Qn(Wt,n),[x,R]=a.useState(null),y=B(t,R),[C,E]=a.useState(null),P=hi(C),O=(P==null?void 0:P.width)??0,_=(P==null?void 0:P.height)??0,L=o+(s!=="center"?"-"+s:""),T=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},A=Array.isArray(d)?d:[d],F=A.length>0,N={padding:T,boundary:A.filter(yi),altBoundary:F},{refs:I,floatingStyles:U,placement:D,isPositioned:$,middlewareData:M}=ri({strategy:"fixed",placement:L,whileElementsMounted:(...ht)=>Ys(...ht,{animationFrame:p==="always"}),elements:{reference:w.anchor},middleware:[ii({mainAxis:r+_,alignmentAxis:i}),u&&ci({mainAxis:!0,crossAxis:!1,limiter:l==="partial"?ai():void 0,...N}),u&&ui({...N}),li({...N,apply:({elements:ht,rects:nn,availableWidth:ir,availableHeight:cr})=>{const{width:ar,height:ur}=nn.reference,We=ht.floating.style;We.setProperty("--radix-popper-available-width",`${ir}px`),We.setProperty("--radix-popper-available-height",`${cr}px`),We.setProperty("--radix-popper-anchor-width",`${ar}px`),We.setProperty("--radix-popper-anchor-height",`${ur}px`)}}),C&&di({element:C,padding:c}),Ri({arrowWidth:O,arrowHeight:_}),m&&fi({strategy:"referenceHidden",...N,boundary:F?N.boundary:void 0})]}),b=w.setPlacementState;ee(()=>(b(D),()=>{b(void 0)}),[D,b]);const[j,K]=Kt(D),G=ue(h);ee(()=>{$&&(G==null||G())},[$,G]);const Me=(Oe=M.arrow)==null?void 0:Oe.x,Ae=(z=M.arrow)==null?void 0:z.y,Ue=((_e=M.arrow)==null?void 0:_e.centerOffset)!==0,[pe,ce]=a.useState();return ee(()=>{x&&ce(window.getComputedStyle(x).zIndex)},[x]),g.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:$?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:pe,"--radix-popper-transform-origin":[(Qt=M.transformOrigin)==null?void 0:Qt.x,(en=M.transformOrigin)==null?void 0:en.y].join(" "),...((tn=M.hide)==null?void 0:tn.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:g.jsx(vi,{scope:n,placedSide:j,placedAlign:K,onArrowChange:E,arrowX:Me,arrowY:Ae,shouldHideArrow:Ue,children:g.jsx(k.div,{"data-side":j,"data-align":K,...v,ref:y,style:{...v.style,animation:$?void 0:"none"}})})})});oo.displayName=Wt;var ro="PopperArrow",xi={top:"bottom",right:"left",bottom:"top",left:"right"},so=a.forwardRef(function(t,n){const{__scopePopper:o,...r}=t,s=wi(ro,o),i=xi[s.placedSide];return g.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:g.jsx(mi,{...r,ref:n,style:{...r.style,display:"block"}})})});so.displayName=ro;function yi(e){return e!==null}var Ri=e=>({name:"transformOrigin",options:e,fn(t){var w,x,R;const{placement:n,rects:o,middlewareData:r}=t,i=((w=r.arrow)==null?void 0:w.centerOffset)!==0,c=i?0:e.arrowWidth,u=i?0:e.arrowHeight,[d,f]=Kt(n),l={start:"0%",center:"50%",end:"100%"}[f],m=(((x=r.arrow)==null?void 0:x.x)??0)+c/2,p=(((R=r.arrow)==null?void 0:R.y)??0)+u/2;let h="",v="";return d==="bottom"?(h=i?l:`${m}px`,v=`${-u}px`):d==="top"?(h=i?l:`${m}px`,v=`${o.floating.height+u}px`):d==="right"?(h=`${-u}px`,v=i?l:`${p}px`):d==="left"&&(h=`${o.floating.width+u}px`,v=i?l:`${p}px`),{data:{x:h,y:v}}}});function Kt(e){const[t,n="center"]=e.split("-");return[t,n]}var io=eo,Gt=no,co=oo,ao=so,Rt="rovingFocusGroup.onEntryFocus",Ci={bubbles:!1,cancelable:!0},je="RovingFocusGroup",[St,uo,bi]=kn(je),[Ei,lo]=ve(je,[bi]),[Pi,Si]=Ei(je),fo=a.forwardRef((e,t)=>g.jsx(St.Provider,{scope:e.__scopeRovingFocusGroup,children:g.jsx(St.Slot,{scope:e.__scopeRovingFocusGroup,children:g.jsx(Mi,{...e,ref:t})})}));fo.displayName=je;var Mi=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...l}=e,m=a.useRef(null),p=B(t,m),h=$n(s),[v,w]=tt({prop:i,defaultProp:c??null,onChange:u,caller:je}),[x,R]=a.useState(!1),y=ue(d),C=uo(n),E=a.useRef(!1),[P,O]=a.useState(0);return a.useEffect(()=>{const _=m.current;if(_)return _.addEventListener(Rt,y),()=>_.removeEventListener(Rt,y)},[y]),g.jsx(Pi,{scope:n,orientation:o,dir:h,loop:r,currentTabStopId:v,onItemFocus:a.useCallback(_=>w(_),[w]),onItemShiftTab:a.useCallback(()=>R(!0),[]),onFocusableItemAdd:a.useCallback(()=>O(_=>_+1),[]),onFocusableItemRemove:a.useCallback(()=>O(_=>_-1),[]),children:g.jsx(k.div,{tabIndex:x||P===0?-1:0,"data-orientation":o,...l,ref:p,style:{outline:"none",...e.style},onMouseDown:S(e.onMouseDown,()=>{E.current=!0}),onFocus:S(e.onFocus,_=>{const L=!E.current;if(_.target===_.currentTarget&&L&&!x){const T=new CustomEvent(Rt,Ci);if(_.currentTarget.dispatchEvent(T),!T.defaultPrevented){const A=C().filter(D=>D.focusable),F=A.find(D=>D.active),N=A.find(D=>D.id===v),U=[F,N,...A].filter(Boolean).map(D=>D.ref.current);ho(U,f)}}E.current=!1}),onBlur:S(e.onBlur,()=>R(!1))})})}),po="RovingFocusGroupItem",mo=a.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:s,children:i,...c}=e,u=he(),d=s||u,f=Si(po,n),l=f.currentTabStopId===d,m=uo(n),{onFocusableItemAdd:p,onFocusableItemRemove:h,currentTabStopId:v}=f;return a.useEffect(()=>{if(o)return p(),()=>h()},[o,p,h]),g.jsx(St.ItemSlot,{scope:n,id:d,focusable:o,active:r,children:g.jsx(k.span,{tabIndex:l?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:S(e.onMouseDown,w=>{o?f.onItemFocus(d):w.preventDefault()}),onFocus:S(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:S(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){f.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const x=_i(w,f.orientation,f.dir);if(x!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let y=m().filter(C=>C.focusable).map(C=>C.ref.current);if(x==="last")y.reverse();else if(x==="prev"||x==="next"){x==="prev"&&y.reverse();const C=y.indexOf(w.currentTarget);y=f.loop?Di(y,C+1):y.slice(C+1)}setTimeout(()=>ho(y))}}),children:typeof i=="function"?i({isCurrentTabStop:l,hasTabStop:v!=null}):i})})});mo.displayName=po;var Ai={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Oi(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _i(e,t,n){const o=Oi(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ai[o]}function ho(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function Di(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Ii=fo,Ti=mo,Mt=["Enter"," "],Ni=["ArrowDown","PageUp","Home"],go=["ArrowUp","PageDown","End"],Fi=[...Ni,...go],Li={ltr:[...Mt,"ArrowRight"],rtl:[...Mt,"ArrowLeft"]},ji={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ke="Menu",[Te,ki,$i]=kn(ke),[we,vo]=ve(ke,[$i,lt,lo]),ft=lt(),wo=lo(),[Bi,xe]=we(ke),[Ui,$e]=we(ke),xo=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:i=!0}=e,c=ft(t),[u,d]=a.useState(null),f=a.useRef(!1),l=ue(s),m=$n(r);return a.useEffect(()=>{const p=()=>{f.current=!0,document.addEventListener("pointerdown",h,{capture:!0,once:!0}),document.addEventListener("pointermove",h,{capture:!0,once:!0})},h=()=>f.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",h,{capture:!0}),document.removeEventListener("pointermove",h,{capture:!0})}},[]),a.useEffect(()=>{if(!n)return;const p=()=>l(!1);return window.addEventListener("blur",p),()=>window.removeEventListener("blur",p)},[n,l]),g.jsx(io,{...c,children:g.jsx(Bi,{scope:t,open:n,onOpenChange:l,content:u,onContentChange:d,children:g.jsx(Ui,{scope:t,onClose:a.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:f,dir:m,modal:i,children:o})})})};xo.displayName=ke;var Wi="MenuAnchor",Vt=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=ft(n);return g.jsx(Gt,{...r,...o,ref:t})});Vt.displayName=Wi;var Ht="MenuPortal",[Ki,yo]=we(Ht,{forceMount:void 0}),Ro=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=xe(Ht,t);return g.jsx(Ki,{scope:t,forceMount:n,children:g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:o})})})};Ro.displayName=Ht;var Y="MenuContent",[Gi,zt]=we(Y),Co=a.forwardRef((e,t)=>{const n=yo(Y,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=xe(Y,e.__scopeMenu),i=$e(Y,e.__scopeMenu);return g.jsx(Te.Provider,{scope:e.__scopeMenu,children:g.jsx(ne,{present:o||s.open,children:g.jsx(Te.Slot,{scope:e.__scopeMenu,children:i.modal?g.jsx(Vi,{...r,ref:t}):g.jsx(Hi,{...r,ref:t})})})})}),Vi=a.forwardRef((e,t)=>{const n=xe(Y,e.__scopeMenu),o=a.useRef(null),r=B(t,o);return a.useEffect(()=>{const s=o.current;if(s)return _t(s)},[]),g.jsx(Yt,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:S(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Hi=a.forwardRef((e,t)=>{const n=xe(Y,e.__scopeMenu);return g.jsx(Yt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),zi=Re("MenuContent.ScrollLock"),Yt=a.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:m,onDismiss:p,disableOutsideScroll:h,...v}=e,w=xe(Y,n),x=$e(Y,n),R=ft(n),y=wo(n),C=ki(n),[E,P]=a.useState(null),O=a.useRef(null),_=B(t,O,w.onContentChange),L=a.useRef(0),T=a.useRef(""),A=a.useRef(0),F=a.useRef(null),N=a.useRef("right"),I=a.useRef(0),U=h?Ot:a.Fragment,D=h?{as:zi,allowPinchZoom:!0}:void 0,$=b=>{var ce,Oe;const j=T.current+b,K=C().filter(z=>!z.disabled),G=document.activeElement,Me=(ce=K.find(z=>z.ref.current===G))==null?void 0:ce.textValue,Ae=K.map(z=>z.textValue),Ue=sc(Ae,j,Me),pe=(Oe=K.find(z=>z.textValue===Ue))==null?void 0:Oe.ref.current;(function z(_e){T.current=_e,window.clearTimeout(L.current),_e!==""&&(L.current=window.setTimeout(()=>z(""),1e3))})(j),pe&&setTimeout(()=>pe.focus())};a.useEffect(()=>()=>window.clearTimeout(L.current),[]),It();const M=a.useCallback(b=>{var K,G;return N.current===((K=F.current)==null?void 0:K.side)&&cc(b,(G=F.current)==null?void 0:G.area)},[]);return g.jsx(Gi,{scope:n,searchRef:T,onItemEnter:a.useCallback(b=>{M(b)&&b.preventDefault()},[M]),onItemLeave:a.useCallback(b=>{var j;M(b)||((j=O.current)==null||j.focus(),P(null))},[M]),onTriggerLeave:a.useCallback(b=>{M(b)&&b.preventDefault()},[M]),pointerGraceTimerRef:A,onPointerGraceIntentChange:a.useCallback(b=>{F.current=b},[]),children:g.jsx(U,{...D,children:g.jsx(ot,{asChild:!0,trapped:r,onMountAutoFocus:S(s,b=>{var j;b.preventDefault(),(j=O.current)==null||j.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:g.jsx(nt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:l,onInteractOutside:m,onDismiss:p,children:g.jsx(Ii,{asChild:!0,...y,dir:x.dir,orientation:"vertical",loop:o,currentTabStopId:E,onCurrentTabStopIdChange:P,onEntryFocus:S(u,b=>{x.isUsingKeyboardRef.current||b.preventDefault()}),preventScrollOnEntryFocus:!0,children:g.jsx(co,{role:"menu","aria-orientation":"vertical","data-state":ko(w.open),"data-radix-menu-content":"",dir:x.dir,...R,...v,ref:_,style:{outline:"none",...v.style},onKeyDown:S(v.onKeyDown,b=>{const K=b.target.closest("[data-radix-menu-content]")===b.currentTarget,G=b.ctrlKey||b.altKey||b.metaKey,Me=b.key.length===1;K&&(b.key==="Tab"&&b.preventDefault(),!G&&Me&&$(b.key));const Ae=O.current;if(b.target!==Ae||!Fi.includes(b.key))return;b.preventDefault();const pe=C().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);go.includes(b.key)&&pe.reverse(),oc(pe)}),onBlur:S(e.onBlur,b=>{b.currentTarget.contains(b.target)||(window.clearTimeout(L.current),T.current="")}),onPointerMove:S(e.onPointerMove,Ne(b=>{const j=b.target,K=I.current!==b.clientX;if(b.currentTarget.contains(j)&&K){const G=b.clientX>I.current?"right":"left";N.current=G,I.current=b.clientX}}))})})})})})})});Co.displayName=Y;var Yi="MenuGroup",Xt=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{role:"group",...o,ref:t})});Xt.displayName=Yi;var Xi="MenuLabel",bo=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{...o,ref:t})});bo.displayName=Xi;var Qe="MenuItem",Mn="menu.itemSelect",dt=a.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=a.useRef(null),i=$e(Qe,e.__scopeMenu),c=zt(Qe,e.__scopeMenu),u=B(t,s),d=a.useRef(!1),f=()=>{const l=s.current;if(!n&&l){const m=new CustomEvent(Mn,{bubbles:!0,cancelable:!0});l.addEventListener(Mn,p=>o==null?void 0:o(p),{once:!0}),An(l,m),m.defaultPrevented?d.current=!1:i.onClose()}};return g.jsx(Eo,{...r,ref:u,disabled:n,onClick:S(e.onClick,f),onPointerDown:l=>{var m;(m=e.onPointerDown)==null||m.call(e,l),d.current=!0},onPointerUp:S(e.onPointerUp,l=>{var m;d.current||(m=l.currentTarget)==null||m.click()}),onKeyDown:S(e.onKeyDown,l=>{const m=c.searchRef.current!=="";n||m&&l.key===" "||Mt.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})});dt.displayName=Qe;var Eo=a.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,i=zt(Qe,n),c=wo(n),u=a.useRef(null),d=B(t,u),[f,l]=a.useState(!1),[m,p]=a.useState("");return a.useEffect(()=>{const h=u.current;h&&p((h.textContent??"").trim())},[s.children]),g.jsx(Te.ItemSlot,{scope:n,disabled:o,textValue:r??m,children:g.jsx(Ti,{asChild:!0,...c,focusable:!o,children:g.jsx(k.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:d,onPointerMove:S(e.onPointerMove,Ne(h=>{o?i.onItemLeave(h):(i.onItemEnter(h),h.defaultPrevented||h.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:S(e.onPointerLeave,Ne(h=>i.onItemLeave(h))),onFocus:S(e.onFocus,()=>l(!0)),onBlur:S(e.onBlur,()=>l(!1))})})})}),Zi="MenuCheckboxItem",Po=a.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return g.jsx(_o,{scope:e.__scopeMenu,checked:n,children:g.jsx(dt,{role:"menuitemcheckbox","aria-checked":et(n)?"mixed":n,...r,ref:t,"data-state":qt(n),onSelect:S(r.onSelect,()=>o==null?void 0:o(et(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Po.displayName=Zi;var So="MenuRadioGroup",[qi,Ji]=we(So,{value:void 0,onValueChange:()=>{}}),Mo=a.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=ue(o);return g.jsx(qi,{scope:e.__scopeMenu,value:n,onValueChange:s,children:g.jsx(Xt,{...r,ref:t})})});Mo.displayName=So;var Ao="MenuRadioItem",Oo=a.forwardRef((e,t)=>{const{value:n,...o}=e,r=Ji(Ao,e.__scopeMenu),s=n===r.value;return g.jsx(_o,{scope:e.__scopeMenu,checked:s,children:g.jsx(dt,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":qt(s),onSelect:S(o.onSelect,()=>{var i;return(i=r.onValueChange)==null?void 0:i.call(r,n)},{checkForDefaultPrevented:!1})})})});Oo.displayName=Ao;var Zt="MenuItemIndicator",[_o,Qi]=we(Zt,{checked:!1}),Do=a.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=Qi(Zt,n);return g.jsx(ne,{present:o||et(s.checked)||s.checked===!0,children:g.jsx(k.span,{...r,ref:t,"data-state":qt(s.checked)})})});Do.displayName=Zt;var ec="MenuSeparator",Io=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return g.jsx(k.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});Io.displayName=ec;var tc="MenuArrow",To=a.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=ft(n);return g.jsx(ao,{...r,...o,ref:t})});To.displayName=tc;var nc="MenuSub",[na,No]=we(nc),De="MenuSubTrigger",Fo=a.forwardRef((e,t)=>{const n=xe(De,e.__scopeMenu),o=$e(De,e.__scopeMenu),r=No(De,e.__scopeMenu),s=zt(De,e.__scopeMenu),i=a.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=s,d={__scopeMenu:e.__scopeMenu},f=a.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);a.useEffect(()=>f,[f]),a.useEffect(()=>{const m=c.current;return()=>{window.clearTimeout(m),u(null)}},[c,u]);const l=B(t,r.onTriggerChange);return g.jsx(Vt,{asChild:!0,...d,children:g.jsx(Eo,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?r.contentId:void 0,"data-state":ko(n.open),...e,ref:l,onClick:m=>{var p;(p=e.onClick)==null||p.call(e,m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:S(e.onPointerMove,Ne(m=>{s.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!n.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:S(e.onPointerLeave,Ne(m=>{var h,v;f();const p=(h=n.content)==null?void 0:h.getBoundingClientRect();if(p){const w=(v=n.content)==null?void 0:v.dataset.side,x=w==="right",R=x?-5:5,y=p[x?"left":"right"],C=p[x?"right":"left"];s.onPointerGraceIntentChange({area:[{x:m.clientX+R,y:m.clientY},{x:y,y:p.top},{x:C,y:p.top},{x:C,y:p.bottom},{x:y,y:p.bottom}],side:w}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(m),m.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:S(e.onKeyDown,m=>{var h;const p=s.searchRef.current!=="";e.disabled||p&&m.key===" "||Li[o.dir].includes(m.key)&&(n.onOpenChange(!0),(h=n.content)==null||h.focus(),m.preventDefault())})})})});Fo.displayName=De;var Lo="MenuSubContent",jo=a.forwardRef((e,t)=>{const n=yo(Y,e.__scopeMenu),{forceMount:o=n.forceMount,align:r="start",...s}=e,i=xe(Y,e.__scopeMenu),c=$e(Y,e.__scopeMenu),u=No(Lo,e.__scopeMenu),d=a.useRef(null),f=B(t,d);return g.jsx(Te.Provider,{scope:e.__scopeMenu,children:g.jsx(ne,{present:o||i.open,children:g.jsx(Te.Slot,{scope:e.__scopeMenu,children:g.jsx(Yt,{id:u.contentId,"aria-labelledby":u.triggerId,...s,ref:f,align:r,side:c.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:l=>{var m;c.isUsingKeyboardRef.current&&((m=d.current)==null||m.focus()),l.preventDefault()},onCloseAutoFocus:l=>l.preventDefault(),onFocusOutside:S(e.onFocusOutside,l=>{l.target!==u.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:S(e.onEscapeKeyDown,l=>{c.onClose(),l.preventDefault()}),onKeyDown:S(e.onKeyDown,l=>{var h;const m=l.currentTarget.contains(l.target),p=ji[c.dir].includes(l.key);m&&p&&(i.onOpenChange(!1),(h=u.trigger)==null||h.focus(),l.preventDefault())})})})})})});jo.displayName=Lo;function ko(e){return e?"open":"closed"}function et(e){return e==="indeterminate"}function qt(e){return et(e)?"indeterminate":e?"checked":"unchecked"}function oc(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function rc(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function sc(e,t,n){const r=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let i=rc(e,Math.max(s,0));r.length===1&&(i=i.filter(d=>d!==n));const u=i.find(d=>d.toLowerCase().startsWith(r.toLowerCase()));return u!==n?u:void 0}function ic(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,i=t.length-1;s<t.length;i=s++){const c=t[s],u=t[i],d=c.x,f=c.y,l=u.x,m=u.y;f>o!=m>o&&n<(l-d)*(o-f)/(m-f)+d&&(r=!r)}return r}function cc(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return ic(n,t)}function Ne(e){return t=>t.pointerType==="mouse"?e(t):void 0}var ac=xo,uc=Vt,lc=Ro,fc=Co,dc=Xt,pc=bo,mc=dt,hc=Po,gc=Mo,vc=Oo,wc=Do,xc=Io,yc=To,Rc=Fo,Cc=jo,pt="DropdownMenu",[bc]=ve(pt,[vo]),W=vo(),[Ec,$o]=bc(pt),Bo=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,u=W(t),d=a.useRef(null),[f,l]=tt({prop:r,defaultProp:s??!1,onChange:i,caller:pt});return g.jsx(Ec,{scope:t,triggerId:he(),triggerRef:d,contentId:he(),open:f,onOpenChange:l,onOpenToggle:a.useCallback(()=>l(m=>!m),[l]),modal:c,children:g.jsx(ac,{...u,open:f,onOpenChange:l,dir:o,modal:c,children:n})})};Bo.displayName=pt;var Uo="DropdownMenuTrigger",Wo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=$o(Uo,n),i=W(n),c=B(t,s.triggerRef);return g.jsx(uc,{asChild:!0,...i,children:g.jsx(k.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:c,onPointerDown:S(e.onPointerDown,u=>{!o&&u.button===0&&u.ctrlKey===!1&&(s.onOpenToggle(),s.open||u.preventDefault())}),onKeyDown:S(e.onKeyDown,u=>{o||(["Enter"," "].includes(u.key)&&s.onOpenToggle(),u.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});Wo.displayName=Uo;var Pc="DropdownMenuPortal",Ko=e=>{const{__scopeDropdownMenu:t,...n}=e,o=W(t);return g.jsx(lc,{...o,...n})};Ko.displayName=Pc;var Go="DropdownMenuContent",Vo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=$o(Go,n),s=W(n),i=a.useRef(!1);return g.jsx(fc,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:S(e.onCloseAutoFocus,c=>{var u;i.current||(u=r.triggerRef.current)==null||u.focus(),i.current=!1,c.preventDefault()}),onInteractOutside:S(e.onInteractOutside,c=>{const u=c.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,f=u.button===2||d;(!r.modal||f)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Vo.displayName=Go;var Sc="DropdownMenuGroup",Ho=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(dc,{...r,...o,ref:t})});Ho.displayName=Sc;var Mc="DropdownMenuLabel",zo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(pc,{...r,...o,ref:t})});zo.displayName=Mc;var Ac="DropdownMenuItem",Yo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(mc,{...r,...o,ref:t})});Yo.displayName=Ac;var Oc="DropdownMenuCheckboxItem",_c=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(hc,{...r,...o,ref:t})});_c.displayName=Oc;var Dc="DropdownMenuRadioGroup",Ic=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(gc,{...r,...o,ref:t})});Ic.displayName=Dc;var Tc="DropdownMenuRadioItem",Nc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(vc,{...r,...o,ref:t})});Nc.displayName=Tc;var Fc="DropdownMenuItemIndicator",Lc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(wc,{...r,...o,ref:t})});Lc.displayName=Fc;var jc="DropdownMenuSeparator",Xo=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(xc,{...r,...o,ref:t})});Xo.displayName=jc;var kc="DropdownMenuArrow",$c=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(yc,{...r,...o,ref:t})});$c.displayName=kc;var Bc="DropdownMenuSubTrigger",Uc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(Rc,{...r,...o,ref:t})});Uc.displayName=Bc;var Wc="DropdownMenuSubContent",Kc=a.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=W(n);return g.jsx(Cc,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Kc.displayName=Wc;var oa=Bo,ra=Wo,sa=Ko,ia=Vo,ca=Ho,aa=zo,ua=Yo,la=Xo,mt="Popover",[Zo]=ve(mt,[lt]),Be=lt(),[Gc,de]=Zo(mt),qo=e=>{const{__scopePopover:t,children:n,open:o,defaultOpen:r,onOpenChange:s,modal:i=!1}=e,c=Be(t),u=a.useRef(null),[d,f]=a.useState(!1),[l,m]=tt({prop:o,defaultProp:r??!1,onChange:s,caller:mt});return g.jsx(io,{...c,children:g.jsx(Gc,{scope:t,contentId:he(),triggerRef:u,open:l,onOpenChange:m,onOpenToggle:a.useCallback(()=>m(p=>!p),[m]),hasCustomAnchor:d,onCustomAnchorAdd:a.useCallback(()=>f(!0),[]),onCustomAnchorRemove:a.useCallback(()=>f(!1),[]),modal:i,children:n})})};qo.displayName=mt;var Jo="PopoverAnchor",Vc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(Jo,n),s=Be(n),{onCustomAnchorAdd:i,onCustomAnchorRemove:c}=r;return a.useEffect(()=>(i(),()=>c()),[i,c]),g.jsx(Gt,{...s,...o,ref:t})});Vc.displayName=Jo;var Qo="PopoverTrigger",er=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(Qo,n),s=Be(n),i=B(t,r.triggerRef),c=g.jsx(k.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":sr(r.open),...o,ref:i,onClick:S(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?c:g.jsx(Gt,{asChild:!0,...s,children:c})});er.displayName=Qo;var Jt="PopoverPortal",[Hc,zc]=Zo(Jt,{forceMount:void 0}),tr=e=>{const{__scopePopover:t,forceMount:n,children:o,container:r}=e,s=de(Jt,t);return g.jsx(Hc,{scope:t,forceMount:n,children:g.jsx(ne,{present:n||s.open,children:g.jsx(rt,{asChild:!0,container:r,children:o})})})};tr.displayName=Jt;var Ee="PopoverContent",nr=a.forwardRef((e,t)=>{const n=zc(Ee,e.__scopePopover),{forceMount:o=n.forceMount,...r}=e,s=de(Ee,e.__scopePopover);return g.jsx(ne,{present:o||s.open,children:s.modal?g.jsx(Xc,{...r,ref:t}):g.jsx(Zc,{...r,ref:t})})});nr.displayName=Ee;var Yc=Re("PopoverContent.RemoveScroll"),Xc=a.forwardRef((e,t)=>{const n=de(Ee,e.__scopePopover),o=a.useRef(null),r=B(t,o),s=a.useRef(!1);return a.useEffect(()=>{const i=o.current;if(i)return _t(i)},[]),g.jsx(Ot,{as:Yc,allowPinchZoom:!0,children:g.jsx(or,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:S(e.onCloseAutoFocus,i=>{var c;i.preventDefault(),s.current||(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,i=>{const c=i.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,d=c.button===2||u;s.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:S(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),Zc=a.forwardRef((e,t)=>{const n=de(Ee,e.__scopePopover),o=a.useRef(!1),r=a.useRef(!1);return g.jsx(or,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,s),s.defaultPrevented||(o.current||(c=n.triggerRef.current)==null||c.focus(),s.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:s=>{var u,d;(u=e.onInteractOutside)==null||u.call(e,s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(i))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&r.current&&s.preventDefault()}})}),or=a.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...l}=e,m=de(Ee,n),p=Be(n);return It(),g.jsx(ot,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:s,children:g.jsx(nt,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:g.jsx(co,{"data-state":sr(m.open),role:"dialog",id:m.contentId,...p,...l,ref:t,style:{...l.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),rr="PopoverClose",qc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=de(rr,n);return g.jsx(k.button,{type:"button",...o,ref:t,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});qc.displayName=rr;var Jc="PopoverArrow",Qc=a.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=Be(n);return g.jsx(ao,{...r,...o,ref:t})});Qc.displayName=Jc;function sr(e){return e?"open":"closed"}var fa=qo,da=er,pa=tr,ma=nr;export{ia as C,cs as D,ca as G,ua as I,aa as L,sa as P,oa as R,la as S,ra as T,Xr as a,Jr as b,Qr as c,ns as d,ss as e,fa as f,da as g,pa as h,ma as i};