@autocode-cli/autocode 0.25.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{4_elwE_e.js → BF1FNKpo.js} +1 -1
  3. package/.output/public/_nuxt/{CgJk7mfe.js → BKgoaBe9.js} +1 -1
  4. package/.output/public/_nuxt/BOzzMxYL.js +1 -0
  5. package/.output/public/_nuxt/BPYrUKVJ.js +1 -0
  6. package/.output/public/_nuxt/{D7nf-00m.js → Bl6DKdr9.js} +1 -1
  7. package/.output/public/_nuxt/{D_y6EjZi.js → BudTJbMr.js} +1 -1
  8. package/.output/public/_nuxt/{CrRHcnKi.js → BwPqhjQb.js} +1 -1
  9. package/.output/public/_nuxt/C3Jd76kn.js +1 -0
  10. package/.output/public/_nuxt/CT76fD4_.js +1 -0
  11. package/.output/public/_nuxt/CT9ZVcpr.js +1 -0
  12. package/.output/public/_nuxt/CbERujx_.js +1 -0
  13. package/.output/public/_nuxt/Cfu7TUal.js +1 -0
  14. package/.output/public/_nuxt/DBW98U2A.js +1 -0
  15. package/.output/public/_nuxt/{DRUbQSkU.js → DIl-GKGe.js} +1 -1
  16. package/.output/public/_nuxt/{CoH6AHzq.js → DMHPjZJ1.js} +1 -1
  17. package/.output/public/_nuxt/{IvWgEuRk.js → DOIhSWF4.js} +1 -1
  18. package/.output/public/_nuxt/{CAz8NsVG.js → DUsrIVTt.js} +1 -1
  19. package/.output/public/_nuxt/{86nT5DaM.js → D_sUdDm5.js} +1 -1
  20. package/.output/public/_nuxt/DfDT6tJB.js +1 -0
  21. package/.output/public/_nuxt/DpqBUziq.js +1 -0
  22. package/.output/public/_nuxt/{DSCi2X5i.js → DvCAC3Uz.js} +3 -3
  23. package/.output/public/_nuxt/{C2mu5j0V.js → Ed7ZeZIY.js} +1 -1
  24. package/.output/public/_nuxt/{BFqW8Kf_.js → SqIe7aZ_.js} +1 -1
  25. package/.output/public/_nuxt/TffA2O8B.js +1 -0
  26. package/.output/public/_nuxt/{NUjrRkWT.js → URcLHuFv.js} +1 -1
  27. package/.output/public/_nuxt/XNHBPZxA.js +2 -0
  28. package/.output/public/_nuxt/{CGP_mwJK.js → YduSsW3Y.js} +1 -1
  29. package/.output/public/_nuxt/{_ezvsEEN.js → ZP3TJPNU.js} +1 -1
  30. package/.output/public/_nuxt/_A6JQ1m1.js +1 -0
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/8b3dd97e-9761-416b-ac6a-ad9520be16c9.json +1 -0
  33. package/.output/public/_nuxt/{DN7f1abK.js → glG37Iyb.js} +2 -2
  34. package/.output/public/_nuxt/{index.CDND7dpO.css → index.BPtCYaAj.css} +1 -1
  35. package/.output/public/_nuxt/ksOwuH0X.js +1 -0
  36. package/.output/public/_payload.json +1 -1
  37. package/.output/public/index.html +1 -1
  38. package/.output/server/chunks/build/{IssueHeader-BKlqeUoH.mjs → IssueHeader-B7e5iHD2.mjs} +2 -2
  39. package/.output/server/chunks/build/{IssueHeader-BKlqeUoH.mjs.map → IssueHeader-B7e5iHD2.mjs.map} +1 -1
  40. package/.output/server/chunks/build/LandingFooter-styles.sSpn5cgM.mjs +8 -0
  41. package/.output/server/chunks/build/LandingFooter-styles.sSpn5cgM.mjs.map +1 -0
  42. package/.output/server/chunks/build/{_id_-CE9OXhn_.mjs → _id_-BkQdGao9.mjs} +3 -3
  43. package/.output/server/chunks/build/{_id_-CE9OXhn_.mjs.map → _id_-BkQdGao9.mjs.map} +1 -1
  44. package/.output/server/chunks/build/{_name_-UJA12Rs2.mjs → _name_-Bx0tlsuC.mjs} +4 -4
  45. package/.output/server/chunks/build/{_name_-UJA12Rs2.mjs.map → _name_-Bx0tlsuC.mjs.map} +1 -1
  46. package/.output/server/chunks/build/{autocreate-DrAjWR5B.mjs → autocreate-BKmQCL6G.mjs} +2 -2
  47. package/.output/server/chunks/build/{autocreate-DrAjWR5B.mjs.map → autocreate-BKmQCL6G.mjs.map} +1 -1
  48. package/.output/server/chunks/build/{changelog-CVp1u2jo.mjs → changelog-CPAiTbux.mjs} +3 -3
  49. package/.output/server/chunks/build/{changelog-CVp1u2jo.mjs.map → changelog-CPAiTbux.mjs.map} +1 -1
  50. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  51. package/.output/server/chunks/build/{comments-CZn-fPmX.mjs → comments-B6FmsdGj.mjs} +5 -5
  52. package/.output/server/chunks/build/{comments-CZn-fPmX.mjs.map → comments-B6FmsdGj.mjs.map} +1 -1
  53. package/.output/server/chunks/build/{default-BovpaVrS.mjs → default-ClOjNBLU.mjs} +2 -2
  54. package/.output/server/chunks/build/{default-BovpaVrS.mjs.map → default-ClOjNBLU.mjs.map} +1 -1
  55. package/.output/server/chunks/build/{fetch-B5NxMLIO.mjs → fetch-BalOxSm0.mjs} +2 -2
  56. package/.output/server/chunks/build/{fetch-B5NxMLIO.mjs.map → fetch-BalOxSm0.mjs.map} +1 -1
  57. package/.output/server/chunks/build/{graph-C-r91hz6.mjs → graph-or_2DXSN.mjs} +3 -3
  58. package/.output/server/chunks/build/{graph-C-r91hz6.mjs.map → graph-or_2DXSN.mjs.map} +1 -1
  59. package/.output/server/chunks/build/{index-Bm8ROtfk.mjs → index-BWzrulJ1.mjs} +5 -5
  60. package/.output/server/chunks/build/{index-Bm8ROtfk.mjs.map → index-BWzrulJ1.mjs.map} +1 -1
  61. package/.output/server/chunks/build/{index-CqyAV1ko.mjs → index-Bdb9Wjvd.mjs} +11 -9
  62. package/.output/server/chunks/build/index-Bdb9Wjvd.mjs.map +1 -0
  63. package/.output/server/chunks/build/{index-C0DupdV0.mjs → index-C9DhE5Ib.mjs} +4 -4
  64. package/.output/server/chunks/build/{index-C0DupdV0.mjs.map → index-C9DhE5Ib.mjs.map} +1 -1
  65. package/.output/server/chunks/build/{index-D2tcUNO-.mjs → index-CkUY55Rm.mjs} +5 -5
  66. package/.output/server/chunks/build/{index-D2tcUNO-.mjs.map → index-CkUY55Rm.mjs.map} +1 -1
  67. package/.output/server/chunks/build/{kanban-CMVmXpCA.mjs → kanban-BbnnuQoY.mjs} +4 -4
  68. package/.output/server/chunks/build/{kanban-CMVmXpCA.mjs.map → kanban-BbnnuQoY.mjs.map} +1 -1
  69. package/.output/server/chunks/build/{new-DMctSKBX.mjs → new-C25vHdwr.mjs} +4 -4
  70. package/.output/server/chunks/build/{new-DMctSKBX.mjs.map → new-C25vHdwr.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{new-BUvtXOoH.mjs → new-p056r5b8.mjs} +3 -3
  72. package/.output/server/chunks/build/{new-BUvtXOoH.mjs.map → new-p056r5b8.mjs.map} +1 -1
  73. package/.output/server/chunks/build/{nuxt-link-Cq8xZgFP.mjs → nuxt-link-B96tVLOe.mjs} +3 -3
  74. package/.output/server/chunks/build/nuxt-link-B96tVLOe.mjs.map +1 -0
  75. package/.output/server/chunks/build/{prompt-evT7Aaj_.mjs → prompt-C0QRjuRR.mjs} +5 -5
  76. package/.output/server/chunks/build/{prompt-evT7Aaj_.mjs.map → prompt-C0QRjuRR.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{prompt-BzvhmzrW.mjs → prompt-CAxt9gTZ.mjs} +5 -5
  78. package/.output/server/chunks/build/{prompt-BzvhmzrW.mjs.map → prompt-CAxt9gTZ.mjs.map} +1 -1
  79. package/.output/server/chunks/build/{prompt-BD-UncOd.mjs → prompt-DxFODHZ4.mjs} +3 -3
  80. package/.output/server/chunks/build/{prompt-BD-UncOd.mjs.map → prompt-DxFODHZ4.mjs.map} +1 -1
  81. package/.output/server/chunks/build/server.mjs +25 -25
  82. package/.output/server/chunks/build/{stats-Cxo5MAfa.mjs → stats-gAuozd36.mjs} +4 -4
  83. package/.output/server/chunks/build/{stats-Cxo5MAfa.mjs.map → stats-gAuozd36.mjs.map} +1 -1
  84. package/.output/server/chunks/build/styles.mjs +17 -17
  85. package/.output/server/chunks/build/{terminal-B0__67-c.mjs → terminal-C-rvtlKb.mjs} +5 -5
  86. package/.output/server/chunks/build/{terminal-B0__67-c.mjs.map → terminal-C-rvtlKb.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{terminal-D_WbT8Ri.mjs → terminal-CQGWwaEP.mjs} +5 -5
  88. package/.output/server/chunks/build/{terminal-D_WbT8Ri.mjs.map → terminal-CQGWwaEP.mjs.map} +1 -1
  89. package/.output/server/chunks/build/{terminal-BtTmOD6s.mjs → terminal-DvJ3AJCr.mjs} +5 -5
  90. package/.output/server/chunks/build/{terminal-BtTmOD6s.mjs.map → terminal-DvJ3AJCr.mjs.map} +1 -1
  91. package/.output/server/chunks/nitro/nitro.mjs +456 -307
  92. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  93. package/.output/server/chunks/routes/_ws.mjs +1 -1
  94. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  95. package/.output/server/chunks/routes/api/index.post2.mjs +3 -1
  96. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  97. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  98. package/.output/server/chunks/routes/api/pipelines/_name/activate.put.mjs +1 -1
  99. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/activate.put.mjs +1 -1
  100. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/finalize.post.mjs +1 -1
  101. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.delete.mjs +1 -1
  102. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.get.mjs +1 -1
  103. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.put.mjs +1 -1
  104. package/.output/server/chunks/routes/api/pipelines/_name/versions.get.mjs +1 -1
  105. package/.output/server/chunks/routes/api/pipelines/_name/versions.post.mjs +1 -1
  106. package/.output/server/chunks/routes/api/pipelines/_name_.delete.mjs +1 -1
  107. package/.output/server/chunks/routes/api/pipelines/_name_.get.mjs +1 -1
  108. package/.output/server/chunks/routes/api/pipelines/_name_.put.mjs +1 -1
  109. package/.output/server/chunks/routes/api/stats.get.mjs +1 -1
  110. package/.output/server/chunks/routes/api/workflow/health.get.mjs +1 -1
  111. package/.output/server/chunks/routes/api/ws/status.get.mjs +1 -1
  112. package/.output/server/chunks/routes/renderer.mjs +1 -1
  113. package/.output/server/node_modules/.prisma/client/index.js +3 -2
  114. package/.output/server/node_modules/.prisma/client/package.json +1 -1
  115. package/.output/server/package.json +1 -1
  116. package/package.json +1 -1
  117. package/templates/prompts/_synthesis-done.en.md +46 -0
  118. package/templates/prompts/_synthesis-done.fr.md +46 -0
  119. package/.output/public/_nuxt/B9ujsiLr.js +0 -1
  120. package/.output/public/_nuxt/Bf1ocEu6.js +0 -1
  121. package/.output/public/_nuxt/BmzUVSgE.js +0 -2
  122. package/.output/public/_nuxt/C5ytdoAl.js +0 -1
  123. package/.output/public/_nuxt/CAp6p9dY.js +0 -1
  124. package/.output/public/_nuxt/CJ1p1ppq.js +0 -1
  125. package/.output/public/_nuxt/CU99pbyc.js +0 -1
  126. package/.output/public/_nuxt/CWlxiWg5.js +0 -1
  127. package/.output/public/_nuxt/ChEVWHQt.js +0 -1
  128. package/.output/public/_nuxt/DZrnlmz3.js +0 -1
  129. package/.output/public/_nuxt/Zm_G5zFc.js +0 -1
  130. package/.output/public/_nuxt/bjB7AWxd.js +0 -1
  131. package/.output/public/_nuxt/builds/meta/bd0344c0-8dae-4d94-bdab-994f482d9624.json +0 -1
  132. package/.output/public/_nuxt/lWH5TUE4.js +0 -1
  133. package/.output/public/_nuxt/yrliX9Qm.js +0 -1
  134. package/.output/server/chunks/build/LandingFooter-styles.CEshuzKW.mjs +0 -8
  135. package/.output/server/chunks/build/LandingFooter-styles.CEshuzKW.mjs.map +0 -1
  136. package/.output/server/chunks/build/index-CqyAV1ko.mjs.map +0 -1
  137. package/.output/server/chunks/build/nuxt-link-Cq8xZgFP.mjs.map +0 -1
  138. /package/.output/public/_i18n/{5YauuaBb → dfanCcWv}/en/messages.json +0 -0
  139. /package/.output/public/_i18n/{5YauuaBb → dfanCcWv}/fr/messages.json +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-01-06T21:37:56.462Z",
2
+ "date": "2026-01-07T06:46:14.700Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- import{r as i,o as I,a as h,A as p,I as k}from"./DSCi2X5i.js";const P=globalThis.setInterval;function E(y={}){const{autoConnect:v=!0,reconnectDelay:W=3e3,maxReconnectAttempts:f=5}=y,u=k(),c=i(!1),S=i(null),l=i(null),r=i(0);let e=null,a=null,t=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,s=u.public.wsPort||"3001";return`${n}//${o}:${s}`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,r.value=0,console.log("[WS] Connected"),t=P(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const s=JSON.parse(o.data);S.value=s,s.type==="connected"&&(l.value=s.clientId)}catch(s){console.error("[WS] Parse error:",s)}},e.onclose=()=>{c.value=!1,l.value=null,console.log("[WS] Disconnected"),t&&(clearInterval(t),t=null),g()},e.onerror=o=>{console.error("[WS] Error:",o)}}catch(o){console.error("[WS] Connection failed:",o),g()}},b=()=>{a&&(clearTimeout(a),a=null),t&&(clearInterval(t),t=null),e&&(e.close(),e=null),c.value=!1,l.value=null},g=()=>{if(r.value>=f){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{r.value++,console.log(`[WS] Reconnecting (${r.value}/${f})...`),d()},W)},w=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},N=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return v&&I(()=>{d()}),h(()=>{b()}),{isConnected:p(c),lastMessage:S,clientId:p(l),connect:d,disconnect:b,send:w,subscribe:N,unsubscribe:O}}export{P as s,E as u};
1
+ import{r as i,o as h,a as k,B as p,i as I}from"./DvCAC3Uz.js";const P=globalThis.setInterval;function E(y={}){const{autoConnect:v=!0,reconnectDelay:W=3e3,maxReconnectAttempts:f=5}=y,u=I(),c=i(!1),S=i(null),l=i(null),r=i(0);let e=null,a=null,t=null;const m=()=>{if(u.public.wsUrl)return u.public.wsUrl;{const n=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.hostname,s=u.public.wsPort||"3001";return`${n}//${o}:${s}`}},d=()=>{if(e?.readyState===WebSocket.OPEN)return;const n=m();if(n)try{e=new WebSocket(n),e.onopen=()=>{c.value=!0,r.value=0,console.log("[WS] Connected"),t=P(()=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"ping"}))},3e4)},e.onmessage=o=>{try{const s=JSON.parse(o.data);S.value=s,s.type==="connected"&&(l.value=s.clientId)}catch(s){console.error("[WS] Parse error:",s)}},e.onclose=()=>{c.value=!1,l.value=null,console.log("[WS] Disconnected"),t&&(clearInterval(t),t=null),g()},e.onerror=o=>{console.error("[WS] Error:",o)}}catch(o){console.error("[WS] Connection failed:",o),g()}},b=()=>{a&&(clearTimeout(a),a=null),t&&(clearInterval(t),t=null),e&&(e.close(),e=null),c.value=!1,l.value=null},g=()=>{if(r.value>=f){console.log("[WS] Max reconnect attempts reached");return}a=setTimeout(()=>{r.value++,console.log(`[WS] Reconnecting (${r.value}/${f})...`),d()},W)},w=n=>{e?.readyState===WebSocket.OPEN?e.send(JSON.stringify(n)):console.warn("[WS] Cannot send message: not connected")},N=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"subscribe",channel:n}))},O=n=>{e?.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:"unsubscribe",channel:n}))};return v&&h(()=>{d()}),k(()=>{b()}),{isConnected:p(c),lastMessage:S,clientId:p(l),connect:d,disconnect:b,send:w,subscribe:N,unsubscribe:O}}export{P as s,E as u};
@@ -1 +1 @@
1
- import{_ as n,c as o,b as t,e as l,ap as a}from"./DSCi2X5i.js";const d={},r={class:"landing-layout"};function g(e,s){return t(),o("div",r,[s[0]||(s[0]=l("div",{class:"bg-grid"},null,-1)),s[1]||(s[1]=l("div",{class:"bg-glow bg-glow-1"},null,-1)),s[2]||(s[2]=l("div",{class:"bg-glow bg-glow-2"},null,-1)),a(e.$slots,"default",{},void 0,!0)])}const u=n(d,[["render",g],["__scopeId","data-v-7140fa30"]]);export{u as default};
1
+ import{_ as n,c as o,b as t,e as l,ap as a}from"./DvCAC3Uz.js";const d={},r={class:"landing-layout"};function g(e,s){return t(),o("div",r,[s[0]||(s[0]=l("div",{class:"bg-grid"},null,-1)),s[1]||(s[1]=l("div",{class:"bg-glow bg-glow-1"},null,-1)),s[2]||(s[2]=l("div",{class:"bg-glow bg-glow-2"},null,-1)),a(e.$slots,"default",{},void 0,!0)])}const u=n(d,[["render",g],["__scopeId","data-v-7140fa30"]]);export{u as default};
@@ -0,0 +1 @@
1
+ import{_ as d}from"./DMHPjZJ1.js";import{u}from"./BwPqhjQb.js";import{d as m,u as f,x as g,o as v,K as x,v as h,c as i,k as y,h as e,t as p,e as C,f as k,w,b as c,g as N,_ as V}from"./DvCAC3Uz.js";const b={class:"pipeline-page"},B={key:0,class:"loading card"},I={key:1,class:"empty-state card"},$=m({__name:"index",async setup(A){let t,_;const{t:a}=f(),{data:n,pending:l}=([t,_]=g(()=>u("/api/pipelines","$p7t_x6yV7n")),t=await t,_(),t);return v(()=>{if(n.value?.length){const s=n.value.find(o=>o.active)||n.value[0];s&&x(`/settings/pipeline/${encodeURIComponent(s.name)}`,{replace:!0})}}),h({title:"Pipeline Configuration - AutoCode"}),(r,s)=>{const o=d;return c(),i("div",b,[e(l)?(c(),i("div",B,p(e(a)("app.loading")),1)):e(n)?.length?y("",!0):(c(),i("div",I,[C("p",null,p(e(a)("pipeline.noColumns")),1),k(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:w(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),F=V($,[["__scopeId","data-v-9f6aa041"]]);export{F as default};
@@ -0,0 +1 @@
1
+ import{_ as N}from"./DMHPjZJ1.js";import{d as P,y as V,u as B,r as c,v as D,c as u,e as s,f as _,w as m,t as o,h as e,D as f,k as E,E as h,J as I,I as v,b,g as y,_ as S}from"./DvCAC3Uz.js";import{u as T}from"./Bl6DKdr9.js";import{u as $}from"./Ed7ZeZIY.js";const K={class:"new-pipeline-page"},R={class:"page-header card"},U={class:"header-left"},A={class:"card form-card"},F={class:"form-group"},H={class:"form-label"},J=["placeholder"],L={key:0,class:"input-hint"},M={class:"form-group"},O={class:"form-label"},j=["placeholder"],q={class:"form-actions"},z=["disabled"],G=P({__name:"new",setup(Q){const g=V(),{t}=B(),{success:w,error:k}=T(),{generateSlug:x,loadPipeline:C}=$(),a=c(""),l=c(""),i=c(!1),p=async()=>{if(!(!a.value.trim()||i.value)){i.value=!0;try{await $fetch("/api/pipelines",{method:"POST",body:{name:a.value,description:l.value}}),w(t("pipeline.pipelineCreated")),await C(a.value),g.push("/settings/pipeline")}catch{k(t("error.createFailed"))}finally{i.value=!1}}};return D({title:`${t("pipeline.new")} - AutoCode`}),(W,n)=>{const d=N;return b(),u("div",K,[s("header",R,[s("div",U,[_(d,{to:"/settings/pipeline",class:"back-link"},{default:m(()=>[y("← "+o(e(t)("nav.back")),1)]),_:1}),n[2]||(n[2]=s("span",{class:"header-separator"},"/",-1)),s("h1",null,o(e(t)("pipeline.new")),1)])]),s("div",A,[s("div",F,[s("label",H,o(e(t)("pipeline.name")),1),f(s("input",{"onUpdate:modelValue":n[0]||(n[0]=r=>v(a)?a.value=r:null),type:"text",class:"form-input",placeholder:e(t)("pipeline.namePlaceholder"),onKeyup:I(p,["enter"])},null,40,J),[[h,e(a)]]),e(a)?(b(),u("span",L," key: "+o(e(x)(e(a))),1)):E("",!0)]),s("div",M,[s("label",O,o(e(t)("pipeline.description")),1),f(s("textarea",{"onUpdate:modelValue":n[1]||(n[1]=r=>v(l)?l.value=r:null),class:"form-input",rows:"4",placeholder:e(t)("pipeline.descriptionPlaceholder")},null,8,j),[[h,e(l)]])]),s("div",q,[_(d,{to:"/settings/pipeline",class:"btn btn-secondary"},{default:m(()=>[y(o(e(t)("modal.cancel")),1)]),_:1}),s("button",{class:"btn btn-primary",disabled:!e(a).trim()||e(i),onClick:p},o(e(i)?e(t)("form.saving"):e(t)("form.create")),9,z)])])])}}}),se=S(G,[["__scopeId","data-v-123b6ad2"]]);export{se as default};
@@ -1 +1 @@
1
- import{A as f,r as u}from"./DSCi2X5i.js";const e=u([]);function v(){const t=n=>{const o=`notification-${Date.now()}-${Math.random().toString(36).slice(2)}`,i={id:o,duration:5e3,...n};e.value.push(i),i.duration&&i.duration>0&&setTimeout(()=>{s(o)},i.duration)},s=n=>{const o=e.value.findIndex(i=>i.id===n);o!==-1&&e.value.splice(o,1)},c=(n,o)=>{t({type:"success",message:n,...o!==void 0&&{duration:o}})},r=(n,o)=>{t({type:"error",message:n,duration:o??8e3})},a=(n,o)=>{t({type:"warning",message:n,...o!==void 0&&{duration:o}})},d=(n,o)=>{t({type:"info",message:n,...o!==void 0&&{duration:o}})};return{notifications:f(e),add:t,remove:s,success:c,error:r,warning:a,info:d}}export{v as u};
1
+ import{B as f,r as u}from"./DvCAC3Uz.js";const e=u([]);function v(){const t=n=>{const o=`notification-${Date.now()}-${Math.random().toString(36).slice(2)}`,i={id:o,duration:5e3,...n};e.value.push(i),i.duration&&i.duration>0&&setTimeout(()=>{s(o)},i.duration)},s=n=>{const o=e.value.findIndex(i=>i.id===n);o!==-1&&e.value.splice(o,1)},c=(n,o)=>{t({type:"success",message:n,...o!==void 0&&{duration:o}})},r=(n,o)=>{t({type:"error",message:n,duration:o??8e3})},a=(n,o)=>{t({type:"warning",message:n,...o!==void 0&&{duration:o}})},d=(n,o)=>{t({type:"info",message:n,...o!==void 0&&{duration:o}})};return{notifications:f(e),add:t,remove:s,success:c,error:r,warning:a,info:d}}export{v as u};
@@ -1 +1 @@
1
- import{d as fe,x as he,r as Vt,v as pe,o as de,y as _n,a as _e,m as ge,s as me,c as nt,e as j,j as gn,t as U,h as K,n as ye,q as we,b as et,_ as xe}from"./DSCi2X5i.js";import{u as ve}from"./CrRHcnKi.js";var be={value:()=>{}};function an(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Mt(e)}function Mt(t){this._=t}function $e(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Mt.prototype=an.prototype={constructor:Mt,on:function(t,n){var e=this._,r=$e(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(t=r[o]).type)&&(i=ke(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<s;)if(i=(t=r[o]).type)e[i]=mn(e[i],t.name,n);else if(n==null)for(i in e)e[i]=mn(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mt(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function ke(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function mn(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=be,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var Wt="http://www.w3.org/1999/xhtml";const yn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xt(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),yn.hasOwnProperty(n)?{space:yn[n],local:t}:t}function Ae(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Wt&&n.documentElement.namespaceURI===Wt?n.createElement(t):n.createElementNS(e,t)}}function ze(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Bn(t){var n=Xt(t);return(n.local?ze:Ae)(n)}function Me(){}function un(t){return t==null?Me:function(){return this.querySelector(t)}}function Ne(t){typeof t!="function"&&(t=un(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=new Array(s),l,a,c=0;c<s;++c)(l=o[c])&&(a=t.call(l,l.__data__,c,o))&&("__data__"in l&&(a.__data__=l.__data__),u[c]=a);return new B(r,this._parents)}function Ee(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Se(){return[]}function Pn(t){return t==null?Se:function(){return this.querySelectorAll(t)}}function Te(t){return function(){return Ee(t.apply(this,arguments))}}function Ce(t){typeof t=="function"?t=Te(t):t=Pn(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var s=n[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&(r.push(t.call(l,l.__data__,a,s)),i.push(l));return new B(r,i)}function qn(t){return function(){return this.matches(t)}}function Xn(t){return function(n){return n.matches(t)}}var Re=Array.prototype.find;function Ie(t){return function(){return Re.call(this.children,t)}}function De(){return this.firstElementChild}function Be(t){return this.select(t==null?De:Ie(typeof t=="function"?t:Xn(t)))}var Pe=Array.prototype.filter;function qe(){return Array.from(this.children)}function Xe(t){return function(){return Pe.call(this.children,t)}}function He(t){return this.selectAll(t==null?qe:Xe(typeof t=="function"?t:Xn(t)))}function Fe(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new B(r,this._parents)}function Hn(t){return new Array(t.length)}function Le(){return new B(this._enter||this._groups.map(Hn),this._parents)}function Ct(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}Ct.prototype={constructor:Ct,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Ve(t){return function(){return t}}function Ye(t,n,e,r,i,o){for(var s=0,u,l=n.length,a=o.length;s<a;++s)(u=n[s])?(u.__data__=o[s],r[s]=u):e[s]=new Ct(t,o[s]);for(;s<l;++s)(u=n[s])&&(i[s]=u)}function Oe(t,n,e,r,i,o,s){var u,l,a=new Map,c=n.length,p=o.length,h=new Array(c),_;for(u=0;u<c;++u)(l=n[u])&&(h[u]=_=s.call(l,l.__data__,u,n)+"",a.has(_)?i[u]=l:a.set(_,l));for(u=0;u<p;++u)_=s.call(t,o[u],u,o)+"",(l=a.get(_))?(r[u]=l,l.__data__=o[u],a.delete(_)):e[u]=new Ct(t,o[u]);for(u=0;u<c;++u)(l=n[u])&&a.get(h[u])===l&&(i[u]=l)}function Ge(t){return t.__data__}function Ue(t,n){if(!arguments.length)return Array.from(this,Ge);var e=n?Oe:Ye,r=this._parents,i=this._groups;typeof t!="function"&&(t=Ve(t));for(var o=i.length,s=new Array(o),u=new Array(o),l=new Array(o),a=0;a<o;++a){var c=r[a],p=i[a],h=p.length,_=Ke(t.call(c,c&&c.__data__,a,r)),w=_.length,x=u[a]=new Array(w),b=s[a]=new Array(w),g=l[a]=new Array(h);e(c,p,x,b,g,_,n);for(var $=0,N=0,E,C;$<w;++$)if(E=x[$]){for($>=N&&(N=$+1);!(C=b[N])&&++N<w;);E._next=C||null}}return s=new B(s,r),s._enter=u,s._exit=l,s}function Ke(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function We(){return new B(this._exit||this._groups.map(Hn),this._parents)}function Ze(t,n,e){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?o.remove():e(o),r&&i?r.merge(i).order():i}function Qe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,s=Math.min(i,o),u=new Array(i),l=0;l<s;++l)for(var a=e[l],c=r[l],p=a.length,h=u[l]=new Array(p),_,w=0;w<p;++w)(_=a[w]||c[w])&&(h[w]=_);for(;l<i;++l)u[l]=e[l];return new B(u,this._parents)}function Je(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function je(t){t||(t=tr);function n(p,h){return p&&h?t(p.__data__,h.__data__):!p-!h}for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var s=e[o],u=s.length,l=i[o]=new Array(u),a,c=0;c<u;++c)(a=s[c])&&(l[c]=a);l.sort(n)}return new B(i,this._parents).order()}function tr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function nr(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function er(){return Array.from(this)}function rr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function ir(){let t=0;for(const n of this)++t;return t}function or(){return!this.node()}function sr(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],o=0,s=i.length,u;o<s;++o)(u=i[o])&&t.call(u,u.__data__,o,i);return this}function ar(t){return function(){this.removeAttribute(t)}}function ur(t){return function(){this.removeAttributeNS(t.space,t.local)}}function lr(t,n){return function(){this.setAttribute(t,n)}}function cr(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function fr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function hr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function pr(t,n){var e=Xt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?ur:ar:typeof n=="function"?e.local?hr:fr:e.local?cr:lr)(e,n))}function Fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dr(t){return function(){this.style.removeProperty(t)}}function _r(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gr(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function mr(t,n,e){return arguments.length>1?this.each((n==null?dr:typeof n=="function"?gr:_r)(t,n,e??"")):ct(this.node(),t)}function ct(t,n){return t.style.getPropertyValue(n)||Fn(t).getComputedStyle(t,null).getPropertyValue(n)}function yr(t){return function(){delete this[t]}}function wr(t,n){return function(){this[t]=n}}function xr(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function vr(t,n){return arguments.length>1?this.each((n==null?yr:typeof n=="function"?xr:wr)(t,n)):this.node()[t]}function Ln(t){return t.trim().split(/^|\s+/)}function ln(t){return t.classList||new Vn(t)}function Vn(t){this._node=t,this._names=Ln(t.getAttribute("class")||"")}Vn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Yn(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function On(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function br(t){return function(){Yn(this,t)}}function $r(t){return function(){On(this,t)}}function kr(t,n){return function(){(n.apply(this,arguments)?Yn:On)(this,t)}}function Ar(t,n){var e=Ln(t+"");if(arguments.length<2){for(var r=ln(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?kr:n?br:$r)(e,n))}function zr(){this.textContent=""}function Mr(t){return function(){this.textContent=t}}function Nr(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function Er(t){return arguments.length?this.each(t==null?zr:(typeof t=="function"?Nr:Mr)(t)):this.node().textContent}function Sr(){this.innerHTML=""}function Tr(t){return function(){this.innerHTML=t}}function Cr(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Rr(t){return arguments.length?this.each(t==null?Sr:(typeof t=="function"?Cr:Tr)(t)):this.node().innerHTML}function Ir(){this.nextSibling&&this.parentNode.appendChild(this)}function Dr(){return this.each(Ir)}function Br(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pr(){return this.each(Br)}function qr(t){var n=typeof t=="function"?t:Bn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Xr(){return null}function Hr(t,n){var e=typeof t=="function"?t:Bn(t),r=n==null?Xr:typeof n=="function"?n:un(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function Fr(){var t=this.parentNode;t&&t.removeChild(this)}function Lr(){return this.each(Fr)}function Vr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Yr(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Or(t){return this.select(t?Yr:Vr)}function Gr(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ur(t){return function(n){t.call(this,n,this.__data__)}}function Kr(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function Wr(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,o;e<i;++e)o=n[e],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):n[++r]=o;++r?n.length=r:delete this.__on}}}function Zr(t,n,e){return function(){var r=this.__on,i,o=Ur(n);if(r){for(var s=0,u=r.length;s<u;++s)if((i=r[s]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=e),i.value=n;return}}this.addEventListener(t.type,o,e),i={type:t.type,name:t.name,value:n,listener:o,options:e},r?r.push(i):this.__on=[i]}}function Qr(t,n,e){var r=Kr(t+""),i,o=r.length,s;if(arguments.length<2){var u=this.node().__on;if(u){for(var l=0,a=u.length,c;l<a;++l)for(i=0,c=u[l];i<o;++i)if((s=r[i]).type===c.type&&s.name===c.name)return c.value}return}for(u=n?Zr:Wr,i=0;i<o;++i)this.each(u(r[i],n,e));return this}function Gn(t,n,e){var r=Fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Jr(t,n){return function(){return Gn(this,t,n)}}function jr(t,n){return function(){return Gn(this,t,n.apply(this,arguments))}}function ti(t,n){return this.each((typeof n=="function"?jr:Jr)(t,n))}function*ni(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var Un=[null];function B(t,n){this._groups=t,this._parents=n}function vt(){return new B([[document.documentElement]],Un)}function ei(){return this}B.prototype=vt.prototype={constructor:B,select:Ne,selectAll:Ce,selectChild:Be,selectChildren:He,filter:Fe,data:Ue,enter:Le,exit:We,join:Ze,merge:Qe,selection:ei,order:Je,sort:je,call:nr,nodes:er,node:rr,size:ir,empty:or,each:sr,attr:pr,style:mr,property:vr,classed:Ar,text:Er,html:Rr,raise:Dr,lower:Pr,append:qr,insert:Hr,remove:Lr,clone:Or,datum:Gr,on:Qr,dispatch:ti,[Symbol.iterator]:ni};function Z(t){return typeof t=="string"?new B([[document.querySelector(t)]],[document.documentElement]):new B([[t]],Un)}function ri(t){let n;for(;n=t.sourceEvent;)t=n;return t}function rt(t,n){if(t=ri(t),n===void 0&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}const Zt={capture:!0,passive:!1};function Qt(t){t.preventDefault(),t.stopImmediatePropagation()}function ii(t){var n=t.document.documentElement,e=Z(t).on("dragstart.drag",Qt,Zt);"onselectstart"in n?e.on("selectstart.drag",Qt,Zt):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function oi(t,n){var e=t.document.documentElement,r=Z(t).on("dragstart.drag",null);n&&(r.on("click.drag",Qt,Zt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function cn(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Kn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function bt(){}var gt=.7,Rt=1/gt,lt="\\s*([+-]?\\d+)\\s*",mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",V="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",si=/^#([0-9a-f]{3,8})$/,ai=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),ui=new RegExp(`^rgb\\(${V},${V},${V}\\)$`),li=new RegExp(`^rgba\\(${lt},${lt},${lt},${mt}\\)$`),ci=new RegExp(`^rgba\\(${V},${V},${V},${mt}\\)$`),fi=new RegExp(`^hsl\\(${mt},${V},${V}\\)$`),hi=new RegExp(`^hsla\\(${mt},${V},${V},${mt}\\)$`),wn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cn(bt,yt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xn,formatHex:xn,formatHex8:pi,formatHsl:di,formatRgb:vn,toString:vn});function xn(){return this.rgb().formatHex()}function pi(){return this.rgb().formatHex8()}function di(){return Wn(this).formatHsl()}function vn(){return this.rgb().formatRgb()}function yt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=si.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?bn(n):e===3?new I(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?$t(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?$t(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=ai.exec(t))?new I(n[1],n[2],n[3],1):(n=ui.exec(t))?new I(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=li.exec(t))?$t(n[1],n[2],n[3],n[4]):(n=ci.exec(t))?$t(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=fi.exec(t))?An(n[1],n[2]/100,n[3]/100,1):(n=hi.exec(t))?An(n[1],n[2]/100,n[3]/100,n[4]):wn.hasOwnProperty(t)?bn(wn[t]):t==="transparent"?new I(NaN,NaN,NaN,0):null}function bn(t){return new I(t>>16&255,t>>8&255,t&255,1)}function $t(t,n,e,r){return r<=0&&(t=n=e=NaN),new I(t,n,e,r)}function _i(t){return t instanceof bt||(t=yt(t)),t?(t=t.rgb(),new I(t.r,t.g,t.b,t.opacity)):new I}function Jt(t,n,e,r){return arguments.length===1?_i(t):new I(t,n,e,r??1)}function I(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}cn(I,Jt,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new I(st(this.r),st(this.g),st(this.b),It(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$n,formatHex:$n,formatHex8:gi,formatRgb:kn,toString:kn}));function $n(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}`}function gi(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}${ot((isNaN(this.opacity)?1:this.opacity)*255)}`}function kn(){const t=It(this.opacity);return`${t===1?"rgb(":"rgba("}${st(this.r)}, ${st(this.g)}, ${st(this.b)}${t===1?")":`, ${t})`}`}function It(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function st(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ot(t){return t=st(t),(t<16?"0":"")+t.toString(16)}function An(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new H(t,n,e,r)}function Wn(t){if(t instanceof H)return new H(t.h,t.s,t.l,t.opacity);if(t instanceof bt||(t=yt(t)),!t)return new H;if(t instanceof H)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),s=NaN,u=o-i,l=(o+i)/2;return u?(n===o?s=(e-r)/u+(e<r)*6:e===o?s=(r-n)/u+2:s=(n-e)/u+4,u/=l<.5?o+i:2-o-i,s*=60):u=l>0&&l<1?0:s,new H(s,u,l,t.opacity)}function mi(t,n,e,r){return arguments.length===1?Wn(t):new H(t,n,e,r??1)}function H(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}cn(H,mi,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new H(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new H(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new I(Yt(t>=240?t-240:t+120,i,r),Yt(t,i,r),Yt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new H(zn(this.h),kt(this.s),kt(this.l),It(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=It(this.opacity);return`${t===1?"hsl(":"hsla("}${zn(this.h)}, ${kt(this.s)*100}%, ${kt(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zn(t){return t=(t||0)%360,t<0?t+360:t}function kt(t){return Math.max(0,Math.min(1,t||0))}function Yt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const Zn=t=>()=>t;function yi(t,n){return function(e){return t+e*n}}function wi(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function xi(t){return(t=+t)==1?Qn:function(n,e){return e-n?wi(n,e,t):Zn(isNaN(n)?e:n)}}function Qn(t,n){var e=n-t;return e?yi(t,e):Zn(isNaN(t)?n:t)}const Mn=(function t(n){var e=xi(n);function r(i,o){var s=e((i=Jt(i)).r,(o=Jt(o)).r),u=e(i.g,o.g),l=e(i.b,o.b),a=Qn(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=u(c),i.b=l(c),i.opacity=a(c),i+""}}return r.gamma=t,r})(1);function tt(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ot=new RegExp(jt.source,"g");function vi(t){return function(){return t}}function bi(t){return function(n){return t(n)+""}}function $i(t,n){var e=jt.lastIndex=Ot.lastIndex=0,r,i,o,s=-1,u=[],l=[];for(t=t+"",n=n+"";(r=jt.exec(t))&&(i=Ot.exec(n));)(o=i.index)>e&&(o=n.slice(e,o),u[s]?u[s]+=o:u[++s]=o),(r=r[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,l.push({i:s,x:tt(r,i)})),e=Ot.lastIndex;return e<n.length&&(o=n.slice(e),u[s]?u[s]+=o:u[++s]=o),u.length<2?l[0]?bi(l[0].x):vi(n):(n=l.length,function(a){for(var c=0,p;c<n;++c)u[(p=l[c]).i]=p.x(a);return u.join("")})}var Nn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Jn(t,n,e,r,i,o){var s,u,l;return(s=Math.sqrt(t*t+n*n))&&(t/=s,n/=s),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Nn,skewX:Math.atan(l)*Nn,scaleX:s,scaleY:u}}var At;function ki(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?tn:Jn(n.a,n.b,n.c,n.d,n.e,n.f)}function Ai(t){return t==null||(At||(At=document.createElementNS("http://www.w3.org/2000/svg","g")),At.setAttribute("transform",t),!(t=At.transform.baseVal.consolidate()))?tn:(t=t.matrix,Jn(t.a,t.b,t.c,t.d,t.e,t.f))}function jn(t,n,e,r){function i(a){return a.length?a.pop()+" ":""}function o(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push("translate(",null,n,null,e);w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p||h)&&_.push("translate("+p+n+h+e)}function s(a,c,p,h){a!==c?(a-c>180?c+=360:c-a>180&&(a+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:tt(a,c)})):c&&p.push(i(p)+"rotate("+c+r)}function u(a,c,p,h){a!==c?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:tt(a,c)}):c&&p.push(i(p)+"skewX("+c+r)}function l(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push(i(_)+"scale(",null,",",null,")");w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p!==1||h!==1)&&_.push(i(_)+"scale("+p+","+h+")")}return function(a,c){var p=[],h=[];return a=t(a),c=t(c),o(a.translateX,a.translateY,c.translateX,c.translateY,p,h),s(a.rotate,c.rotate,p,h),u(a.skewX,c.skewX,p,h),l(a.scaleX,a.scaleY,c.scaleX,c.scaleY,p,h),a=c=null,function(_){for(var w=-1,x=h.length,b;++w<x;)p[(b=h[w]).i]=b.x(_);return p.join("")}}}var zi=jn(ki,"px, ","px)","deg)"),Mi=jn(Ai,", ",")",")"),Ni=1e-12;function En(t){return((t=Math.exp(t))+1/t)/2}function Ei(t){return((t=Math.exp(t))-1/t)/2}function Si(t){return((t=Math.exp(2*t))-1)/(t+1)}const Ti=(function t(n,e,r){function i(o,s){var u=o[0],l=o[1],a=o[2],c=s[0],p=s[1],h=s[2],_=c-u,w=p-l,x=_*_+w*w,b,g;if(x<Ni)g=Math.log(h/a)/n,b=function(P){return[u+P*_,l+P*w,a*Math.exp(n*P*g)]};else{var $=Math.sqrt(x),N=(h*h-a*a+r*x)/(2*a*e*$),E=(h*h-a*a-r*x)/(2*h*e*$),C=Math.log(Math.sqrt(N*N+1)-N),R=Math.log(Math.sqrt(E*E+1)-E);g=(R-C)/n,b=function(P){var ut=P*g,z=En(C),D=a/(e*$)*(z*Si(n*ut+C)-Ei(C));return[u+D*_,l+D*w,a*z/En(n*ut+C)]}}return b.duration=g*1e3*n/Math.SQRT2,b}return i.rho=function(o){var s=Math.max(.001,+o),u=s*s,l=u*u;return t(s,u,l)},i})(Math.SQRT2,2,4);var ft=0,dt=0,ht=0,te=1e3,Dt,_t,Bt=0,at=0,Ht=0,wt=typeof performance=="object"&&performance.now?performance:Date,ne=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fn(){return at||(ne(Ci),at=wt.now()+Ht)}function Ci(){at=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=ee.prototype={constructor:Pt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?fn():+e)+(n==null?0:+n),!this._next&&_t!==this&&(_t?_t._next=this:Dt=this,_t=this),this._call=t,this._time=e,nn()},stop:function(){this._call&&(this._call=null,this._time=1/0,nn())}};function ee(t,n,e){var r=new Pt;return r.restart(t,n,e),r}function Ri(){fn(),++ft;for(var t=Dt,n;t;)(n=at-t._time)>=0&&t._call.call(void 0,n),t=t._next;--ft}function Sn(){at=(Bt=wt.now())+Ht,ft=dt=0;try{Ri()}finally{ft=0,Di(),at=0}}function Ii(){var t=wt.now(),n=t-Bt;n>te&&(Ht-=n,Bt=t)}function Di(){for(var t,n=Dt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);_t=t,nn(r)}function nn(t){if(!ft){dt&&(dt=clearTimeout(dt));var n=t-at;n>24?(t<1/0&&(dt=setTimeout(Sn,t-wt.now()-Ht)),ht&&(ht=clearInterval(ht))):(ht||(Bt=wt.now(),ht=setInterval(Ii,te)),ft=1,ne(Sn))}}function Tn(t,n,e){var r=new Pt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Bi=an("start","end","cancel","interrupt"),Pi=[],re=0,Cn=1,en=2,Nt=3,Rn=4,rn=5,Et=6;function Ft(t,n,e,r,i,o){var s=t.__transition;if(!s)t.__transition={};else if(e in s)return;qi(t,e,{name:n,index:r,group:i,on:Bi,tween:Pi,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:re})}function hn(t,n){var e=F(t,n);if(e.state>re)throw new Error("too late; already scheduled");return e}function Y(t,n){var e=F(t,n);if(e.state>Nt)throw new Error("too late; already running");return e}function F(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function qi(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=ee(o,0,e.time);function o(a){e.state=Cn,e.timer.restart(s,e.delay,e.time),e.delay<=a&&s(a-e.delay)}function s(a){var c,p,h,_;if(e.state!==Cn)return l();for(c in r)if(_=r[c],_.name===e.name){if(_.state===Nt)return Tn(s);_.state===Rn?(_.state=Et,_.timer.stop(),_.on.call("interrupt",t,t.__data__,_.index,_.group),delete r[c]):+c<n&&(_.state=Et,_.timer.stop(),_.on.call("cancel",t,t.__data__,_.index,_.group),delete r[c])}if(Tn(function(){e.state===Nt&&(e.state=Rn,e.timer.restart(u,e.delay,e.time),u(a))}),e.state=en,e.on.call("start",t,t.__data__,e.index,e.group),e.state===en){for(e.state=Nt,i=new Array(h=e.tween.length),c=0,p=-1;c<h;++c)(_=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=_);i.length=p+1}}function u(a){for(var c=a<e.duration?e.ease.call(null,a/e.duration):(e.timer.restart(l),e.state=rn,1),p=-1,h=i.length;++p<h;)i[p].call(t,c);e.state===rn&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){e.state=Et,e.timer.stop(),delete r[n];for(var a in r)return;delete t.__transition}}function St(t,n){var e=t.__transition,r,i,o=!0,s;if(e){n=n==null?null:n+"";for(s in e){if((r=e[s]).name!==n){o=!1;continue}i=r.state>en&&r.state<rn,r.state=Et,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[s]}o&&delete t.__transition}}function Xi(t){return this.each(function(){St(this,t)})}function Hi(t,n){var e,r;return function(){var i=Y(this,t),o=i.tween;if(o!==e){r=e=o;for(var s=0,u=r.length;s<u;++s)if(r[s].name===n){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function Fi(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var o=Y(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var u={name:n,value:e},l=0,a=i.length;l<a;++l)if(i[l].name===n){i[l]=u;break}l===a&&i.push(u)}o.tween=i}}function Li(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=F(this.node(),e).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===t)return s.value;return null}return this.each((n==null?Hi:Fi)(e,t,n))}function pn(t,n,e){var r=t._id;return t.each(function(){var i=Y(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return F(i,r).value[n]}}function ie(t,n){var e;return(typeof n=="number"?tt:n instanceof yt?Mn:(e=yt(n))?(n=e,Mn):$i)(t,n)}function Vi(t){return function(){this.removeAttribute(t)}}function Yi(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Oi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttribute(t);return s===i?null:s===r?o:o=n(r=s,e)}}function Gi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===r?o:o=n(r=s,e)}}function Ui(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Ki(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Wi(t,n){var e=Xt(t),r=e==="transform"?Mi:ie;return this.attrTween(t,typeof n=="function"?(e.local?Ki:Ui)(e,r,pn(this,"attr."+t,n)):n==null?(e.local?Yi:Vi)(e):(e.local?Gi:Oi)(e,r,n))}function Zi(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Qi(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Qi(t,o)),e}return i._value=n,i}function ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Zi(t,o)),e}return i._value=n,i}function to(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=Xt(t);return this.tween(e,(r.local?Ji:ji)(r,n))}function no(t,n){return function(){hn(this,t).delay=+n.apply(this,arguments)}}function eo(t,n){return n=+n,function(){hn(this,t).delay=n}}function ro(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?no:eo)(n,t)):F(this.node(),n).delay}function io(t,n){return function(){Y(this,t).duration=+n.apply(this,arguments)}}function oo(t,n){return n=+n,function(){Y(this,t).duration=n}}function so(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?io:oo)(n,t)):F(this.node(),n).duration}function ao(t,n){if(typeof n!="function")throw new Error;return function(){Y(this,t).ease=n}}function uo(t){var n=this._id;return arguments.length?this.each(ao(n,t)):F(this.node(),n).ease}function lo(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;Y(this,t).ease=e}}function co(t){if(typeof t!="function")throw new Error;return this.each(lo(this._id,t))}function fo(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new J(r,this._parents,this._name,this._id)}function ho(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),s=new Array(r),u=0;u<o;++u)for(var l=n[u],a=e[u],c=l.length,p=s[u]=new Array(c),h,_=0;_<c;++_)(h=l[_]||a[_])&&(p[_]=h);for(;u<r;++u)s[u]=n[u];return new J(s,this._parents,this._name,this._id)}function po(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function _o(t,n,e){var r,i,o=po(n)?hn:Y;return function(){var s=o(this,t),u=s.on;u!==r&&(i=(r=u).copy()).on(n,e),s.on=i}}function go(t,n){var e=this._id;return arguments.length<2?F(this.node(),e).on.on(t):this.each(_o(e,t,n))}function mo(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function yo(){return this.on("end.remove",mo(this._id))}function wo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=un(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var u=r[s],l=u.length,a=o[s]=new Array(l),c,p,h=0;h<l;++h)(c=u[h])&&(p=t.call(c,c.__data__,h,u))&&("__data__"in c&&(p.__data__=c.__data__),a[h]=p,Ft(a[h],n,e,h,a,F(c,e)));return new J(o,this._parents,n,e)}function xo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=Pn(t));for(var r=this._groups,i=r.length,o=[],s=[],u=0;u<i;++u)for(var l=r[u],a=l.length,c,p=0;p<a;++p)if(c=l[p]){for(var h=t.call(c,c.__data__,p,l),_,w=F(c,e),x=0,b=h.length;x<b;++x)(_=h[x])&&Ft(_,n,e,x,h,w);o.push(h),s.push(c)}return new J(o,s,n,e)}var vo=vt.prototype.constructor;function bo(){return new vo(this._groups,this._parents)}function $o(t,n){var e,r,i;return function(){var o=ct(this,t),s=(this.style.removeProperty(t),ct(this,t));return o===s?null:o===e&&s===r?i:i=n(e=o,r=s)}}function oe(t){return function(){this.style.removeProperty(t)}}function ko(t,n,e){var r,i=e+"",o;return function(){var s=ct(this,t);return s===i?null:s===r?o:o=n(r=s,e)}}function Ao(t,n,e){var r,i,o;return function(){var s=ct(this,t),u=e(this),l=u+"";return u==null&&(l=u=(this.style.removeProperty(t),ct(this,t))),s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u))}}function zo(t,n){var e,r,i,o="style."+n,s="end."+o,u;return function(){var l=Y(this,t),a=l.on,c=l.value[o]==null?u||(u=oe(n)):void 0;(a!==e||i!==c)&&(r=(e=a).copy()).on(s,i=c),l.on=r}}function Mo(t,n,e){var r=(t+="")=="transform"?zi:ie;return n==null?this.styleTween(t,$o(t,r)).on("end.style."+t,oe(t)):typeof n=="function"?this.styleTween(t,Ao(t,r,pn(this,"style."+t,n))).each(zo(this._id,t)):this.styleTween(t,ko(t,r,n),e).on("end.style."+t,null)}function No(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Eo(t,n,e){var r,i;function o(){var s=n.apply(this,arguments);return s!==i&&(r=(i=s)&&No(t,s,e)),r}return o._value=n,o}function So(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Eo(t,n,e??""))}function To(t){return function(){this.textContent=t}}function Co(t){return function(){var n=t(this);this.textContent=n??""}}function Ro(t){return this.tween("text",typeof t=="function"?Co(pn(this,"text",t)):To(t==null?"":t+""))}function Io(t){return function(n){this.textContent=t.call(this,n)}}function Do(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Io(i)),n}return r._value=t,r}function Bo(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Do(t))}function Po(){for(var t=this._name,n=this._id,e=se(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)if(l=s[a]){var c=F(l,n);Ft(l,t,e,a,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new J(r,this._parents,t,e)}function qo(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,s){var u={value:s},l={value:function(){--i===0&&o()}};e.each(function(){var a=Y(this,r),c=a.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),a.on=n}),i===0&&o()})}var Xo=0;function J(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function se(){return++Xo}var W=vt.prototype;J.prototype={constructor:J,select:wo,selectAll:xo,selectChild:W.selectChild,selectChildren:W.selectChildren,filter:fo,merge:ho,selection:bo,transition:Po,call:W.call,nodes:W.nodes,node:W.node,size:W.size,empty:W.empty,each:W.each,on:go,attr:Wi,attrTween:to,style:Mo,styleTween:So,text:Ro,textTween:Bo,remove:yo,tween:Li,delay:ro,duration:so,ease:uo,easeVarying:co,end:qo,[Symbol.iterator]:W[Symbol.iterator]};function Ho(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Fo={time:null,delay:0,duration:250,ease:Ho};function Lo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Vo(t){var n,e;t instanceof J?(n=t._id,t=t._name):(n=se(),(e=Fo).time=fn(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&Ft(l,t,n,a,s,e||Lo(l,n));return new J(r,this._parents,t,n)}vt.prototype.interrupt=Xi;vt.prototype.transition=Vo;const on=Math.PI,sn=2*on,it=1e-6,Yo=sn-it;function ae(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Oo(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return ae;const e=10**n;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*e)/e+r[i]}}class Go{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?ae:Oo(n)}moveTo(n,e){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,e){this._append`L${this._x1=+n},${this._y1=+e}`}quadraticCurveTo(n,e,r,i){this._append`Q${+n},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(n,e,r,i,o,s){this._append`C${+n},${+e},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(n,e,r,i,o){if(n=+n,e=+e,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,u=this._y1,l=r-n,a=i-e,c=s-n,p=u-e,h=c*c+p*p;if(this._x1===null)this._append`M${this._x1=n},${this._y1=e}`;else if(h>it)if(!(Math.abs(p*l-a*c)>it)||!o)this._append`L${this._x1=n},${this._y1=e}`;else{let _=r-s,w=i-u,x=l*l+a*a,b=_*_+w*w,g=Math.sqrt(x),$=Math.sqrt(h),N=o*Math.tan((on-Math.acos((x+h-b)/(2*g*$)))/2),E=N/$,C=N/g;Math.abs(E-1)>it&&this._append`L${n+E*c},${e+E*p}`,this._append`A${o},${o},0,0,${+(p*_>c*w)},${this._x1=n+C*l},${this._y1=e+C*a}`}}arc(n,e,r,i,o,s){if(n=+n,e=+e,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),l=r*Math.sin(i),a=n+u,c=e+l,p=1^s,h=s?i-o:o-i;this._x1===null?this._append`M${a},${c}`:(Math.abs(this._x1-a)>it||Math.abs(this._y1-c)>it)&&this._append`L${a},${c}`,r&&(h<0&&(h=h%sn+sn),h>Yo?this._append`A${r},${r},0,1,${p},${n-u},${e-l}A${r},${r},0,1,${p},${this._x1=a},${this._y1=c}`:h>it&&this._append`A${r},${r},0,${+(h>=on)},${p},${this._x1=n+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(n,e,r,i){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function Uo(t){var n=0,e=t.children,r=e&&e.length;if(!r)n=1;else for(;--r>=0;)n+=e[r].value;t.value=n}function Ko(){return this.eachAfter(Uo)}function Wo(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this}function Zo(t,n){for(var e=this,r=[e],i,o,s=-1;e=r.pop();)if(t.call(n,e,++s,this),i=e.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Qo(t,n){for(var e=this,r=[e],i=[],o,s,u,l=-1;e=r.pop();)if(i.push(e),o=e.children)for(s=0,u=o.length;s<u;++s)r.push(o[s]);for(;e=i.pop();)t.call(n,e,++l,this);return this}function Jo(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r}function jo(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})}function ts(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function ns(t){for(var n=this,e=es(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r}function es(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function rs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function is(){return Array.from(this)}function os(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function ss(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function*as(){var t=this,n,e=[t],r,i,o;do for(n=e.reverse(),e=[];t=n.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)e.push(r[i]);while(e.length)}function dn(t,n){t instanceof Map?(t=[void 0,t],n===void 0&&(n=cs)):n===void 0&&(n=ls);for(var e=new xt(t),r,i=[e],o,s,u,l;r=i.pop();)if((s=n(r.data))&&(l=(s=Array.from(s)).length))for(r.children=s,u=l-1;u>=0;--u)i.push(o=s[u]=new xt(s[u])),o.parent=r,o.depth=r.depth+1;return e.eachBefore(hs)}function us(){return dn(this).eachBefore(fs)}function ls(t){return t.children}function cs(t){return Array.isArray(t)?t[1]:null}function fs(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function xt(t){this.data=t,this.depth=this.height=0,this.parent=null}xt.prototype=dn.prototype={constructor:xt,count:Ko,each:Wo,eachAfter:Qo,eachBefore:Zo,find:Jo,sum:jo,sort:ts,path:ns,ancestors:rs,descendants:is,leaves:os,links:ss,copy:us,[Symbol.iterator]:as};function ps(t,n){return t.parent===n.parent?1:2}function Gt(t){var n=t.children;return n?n[0]:t.t}function Ut(t){var n=t.children;return n?n[n.length-1]:t.t}function ds(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function _s(t){for(var n=0,e=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=n,o.m+=n,n+=o.s+(e+=o.c)}function gs(t,n,e){return t.a.parent===n.parent?t.a:e}function Tt(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Tt.prototype=Object.create(xt.prototype);function ms(t){for(var n=new Tt(t,0),e,r=[n],i,o,s,u;e=r.pop();)if(o=e._.children)for(e.children=new Array(u=o.length),s=u-1;s>=0;--s)r.push(i=e.children[s]=new Tt(o[s],s)),i.parent=e;return(n.parent=new Tt(null,0)).children=[n],n}function ys(){var t=ps,n=1,e=1,r=null;function i(a){var c=ms(a);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)a.eachBefore(l);else{var p=a,h=a,_=a;a.eachBefore(function($){$.x<p.x&&(p=$),$.x>h.x&&(h=$),$.depth>_.depth&&(_=$)});var w=p===h?1:t(p,h)/2,x=w-p.x,b=n/(h.x+w+x),g=e/(_.depth||1);a.eachBefore(function($){$.x=($.x+x)*b,$.y=$.depth*g})}return a}function o(a){var c=a.children,p=a.parent.children,h=a.i?p[a.i-1]:null;if(c){_s(a);var _=(c[0].z+c[c.length-1].z)/2;h?(a.z=h.z+t(a._,h._),a.m=a.z-_):a.z=_}else h&&(a.z=h.z+t(a._,h._));a.parent.A=u(a,h,a.parent.A||p[0])}function s(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function u(a,c,p){if(c){for(var h=a,_=a,w=c,x=h.parent.children[0],b=h.m,g=_.m,$=w.m,N=x.m,E;w=Ut(w),h=Gt(h),w&&h;)x=Gt(x),_=Ut(_),_.a=a,E=w.z+$-h.z-b+t(w._,h._),E>0&&(ds(gs(w,a,p),a,E),b+=E,g+=E),$+=w.m,b+=h.m,N+=x.m,g+=_.m;w&&!Ut(_)&&(_.t=w,_.m+=$-g),h&&!Gt(x)&&(x.t=h,x.m+=b-N,p=a)}return p}function l(a){a.x*=n,a.y=a.depth*e}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}function In(t){return function(){return t}}function ws(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);n=r}return t},()=>new Go(n)}var xs=Array.prototype.slice;function vs(t){return t[0]}function bs(t){return t[1]}class $s{constructor(n,e){this._context=n,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,e){switch(n=+n,e=+e,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,e):this._context.moveTo(n,e);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,e,n,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,n,this._y0,n,e);break}}this._x0=n,this._y0=e}}function ks(t){return new $s(t,!0)}function As(t){return t.source}function zs(t){return t.target}function Ms(t){let n=As,e=zs,r=vs,i=bs,o=null,s=null,u=ws(l);function l(){let a;const c=xs.call(arguments),p=n.apply(this,c),h=e.apply(this,c);if(o==null&&(s=t(a=u())),s.lineStart(),c[0]=p,s.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,s.point(+r.apply(this,c),+i.apply(this,c)),s.lineEnd(),a)return s=null,a+""||null}return l.source=function(a){return arguments.length?(n=a,l):n},l.target=function(a){return arguments.length?(e=a,l):e},l.x=function(a){return arguments.length?(r=typeof a=="function"?a:In(+a),l):r},l.y=function(a){return arguments.length?(i=typeof a=="function"?a:In(+a),l):i},l.context=function(a){return arguments.length?(a==null?o=s=null:s=t(o=a),l):o},l}function Ns(){return Ms(ks)}const zt=t=>()=>t;function Es(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qt=new Q(1,0,0);Q.prototype;function Kt(t){t.stopImmediatePropagation()}function pt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ss(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Ts(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Dn(){return this.__zoom||qt}function Cs(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Rs(){return navigator.maxTouchPoints||"ontouchstart"in this}function Is(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],s=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Ds(){var t=Ss,n=Ts,e=Is,r=Cs,i=Rs,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,l=Ti,a=an("start","zoom","end"),c,p,h,_=500,w=150,x=0,b=10;function g(f){f.property("__zoom",Dn).on("wheel.zoom",ut,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",D).filter(i).on("touchstart.zoom",ue).on("touchmove.zoom",le).on("touchend.zoom touchcancel.zoom",ce).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(f,m,d,y){var v=f.selection?f.selection():f;v.property("__zoom",Dn),f!==v?C(f,m,d,y):v.interrupt().each(function(){R(this,arguments).event(y).start().zoom(null,typeof m=="function"?m.apply(this,arguments):m).end()})},g.scaleBy=function(f,m,d,y){g.scaleTo(f,function(){var v=this.__zoom.k,k=typeof m=="function"?m.apply(this,arguments):m;return v*k},d,y)},g.scaleTo=function(f,m,d,y){g.transform(f,function(){var v=n.apply(this,arguments),k=this.__zoom,A=d==null?E(v):typeof d=="function"?d.apply(this,arguments):d,M=k.invert(A),S=typeof m=="function"?m.apply(this,arguments):m;return e(N($(k,S),A,M),v,s)},d,y)},g.translateBy=function(f,m,d,y){g.transform(f,function(){return e(this.__zoom.translate(typeof m=="function"?m.apply(this,arguments):m,typeof d=="function"?d.apply(this,arguments):d),n.apply(this,arguments),s)},null,y)},g.translateTo=function(f,m,d,y,v){g.transform(f,function(){var k=n.apply(this,arguments),A=this.__zoom,M=y==null?E(k):typeof y=="function"?y.apply(this,arguments):y;return e(qt.translate(M[0],M[1]).scale(A.k).translate(typeof m=="function"?-m.apply(this,arguments):-m,typeof d=="function"?-d.apply(this,arguments):-d),k,s)},y,v)};function $(f,m){return m=Math.max(o[0],Math.min(o[1],m)),m===f.k?f:new Q(m,f.x,f.y)}function N(f,m,d){var y=m[0]-d[0]*f.k,v=m[1]-d[1]*f.k;return y===f.x&&v===f.y?f:new Q(f.k,y,v)}function E(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function C(f,m,d,y){f.on("start.zoom",function(){R(this,arguments).event(y).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(y).end()}).tween("zoom",function(){var v=this,k=arguments,A=R(v,k).event(y),M=n.apply(v,k),S=d==null?E(M):typeof d=="function"?d.apply(v,k):d,L=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),T=v.__zoom,q=typeof m=="function"?m.apply(v,k):m,O=l(T.invert(S).concat(L/T.k),q.invert(S).concat(L/q.k));return function(X){if(X===1)X=q;else{var G=O(X),Lt=L/G[2];X=new Q(Lt,S[0]-G[0]*Lt,S[1]-G[1]*Lt)}A.zoom(null,X)}})}function R(f,m,d){return!d&&f.__zooming||new P(f,m)}function P(f,m){this.that=f,this.args=m,this.active=0,this.sourceEvent=null,this.extent=n.apply(f,m),this.taps=0}P.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,m){return this.mouse&&f!=="mouse"&&(this.mouse[1]=m.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=m.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=m.invert(this.touch1[0])),this.that.__zoom=m,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var m=Z(this.that).datum();a.call(f,this.that,new Es(f,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:a}),m)}};function ut(f,...m){if(!t.apply(this,arguments))return;var d=R(this,m).event(f),y=this.__zoom,v=Math.max(o[0],Math.min(o[1],y.k*Math.pow(2,r.apply(this,arguments)))),k=rt(f);if(d.wheel)(d.mouse[0][0]!==k[0]||d.mouse[0][1]!==k[1])&&(d.mouse[1]=y.invert(d.mouse[0]=k)),clearTimeout(d.wheel);else{if(y.k===v)return;d.mouse=[k,y.invert(k)],St(this),d.start()}pt(f),d.wheel=setTimeout(A,w),d.zoom("mouse",e(N($(y,v),d.mouse[0],d.mouse[1]),d.extent,s));function A(){d.wheel=null,d.end()}}function z(f,...m){if(h||!t.apply(this,arguments))return;var d=f.currentTarget,y=R(this,m,!0).event(f),v=Z(f.view).on("mousemove.zoom",S,!0).on("mouseup.zoom",L,!0),k=rt(f,d),A=f.clientX,M=f.clientY;ii(f.view),Kt(f),y.mouse=[k,this.__zoom.invert(k)],St(this),y.start();function S(T){if(pt(T),!y.moved){var q=T.clientX-A,O=T.clientY-M;y.moved=q*q+O*O>x}y.event(T).zoom("mouse",e(N(y.that.__zoom,y.mouse[0]=rt(T,d),y.mouse[1]),y.extent,s))}function L(T){v.on("mousemove.zoom mouseup.zoom",null),oi(T.view,y.moved),pt(T),y.event(T).end()}}function D(f,...m){if(t.apply(this,arguments)){var d=this.__zoom,y=rt(f.changedTouches?f.changedTouches[0]:f,this),v=d.invert(y),k=d.k*(f.shiftKey?.5:2),A=e(N($(d,k),y,v),n.apply(this,m),s);pt(f),u>0?Z(this).transition().duration(u).call(C,A,y,f):Z(this).call(g.transform,A,y,f)}}function ue(f,...m){if(t.apply(this,arguments)){var d=f.touches,y=d.length,v=R(this,m,f.changedTouches.length===y).event(f),k,A,M,S;for(Kt(f),A=0;A<y;++A)M=d[A],S=rt(M,this),S=[S,this.__zoom.invert(S),M.identifier],v.touch0?!v.touch1&&v.touch0[2]!==S[2]&&(v.touch1=S,v.taps=0):(v.touch0=S,k=!0,v.taps=1+!!c);c&&(c=clearTimeout(c)),k&&(v.taps<2&&(p=S[0],c=setTimeout(function(){c=null},_)),St(this),v.start())}}function le(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A,M,S;for(pt(f),k=0;k<v;++k)A=y[k],M=rt(A,this),d.touch0&&d.touch0[2]===A.identifier?d.touch0[0]=M:d.touch1&&d.touch1[2]===A.identifier&&(d.touch1[0]=M);if(A=d.that.__zoom,d.touch1){var L=d.touch0[0],T=d.touch0[1],q=d.touch1[0],O=d.touch1[1],X=(X=q[0]-L[0])*X+(X=q[1]-L[1])*X,G=(G=O[0]-T[0])*G+(G=O[1]-T[1])*G;A=$(A,Math.sqrt(X/G)),M=[(L[0]+q[0])/2,(L[1]+q[1])/2],S=[(T[0]+O[0])/2,(T[1]+O[1])/2]}else if(d.touch0)M=d.touch0[0],S=d.touch0[1];else return;d.zoom("touch",e(N(A,M,S),d.extent,s))}}function ce(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A;for(Kt(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},_),k=0;k<v;++k)A=y[k],d.touch0&&d.touch0[2]===A.identifier?delete d.touch0:d.touch1&&d.touch1[2]===A.identifier&&delete d.touch1;if(d.touch1&&!d.touch0&&(d.touch0=d.touch1,delete d.touch1),d.touch0)d.touch0[1]=this.__zoom.invert(d.touch0[0]);else if(d.end(),d.taps===2&&(A=rt(A,this),Math.hypot(p[0]-A[0],p[1]-A[1])<b)){var M=Z(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return g.wheelDelta=function(f){return arguments.length?(r=typeof f=="function"?f:zt(+f),g):r},g.filter=function(f){return arguments.length?(t=typeof f=="function"?f:zt(!!f),g):t},g.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:zt(!!f),g):i},g.extent=function(f){return arguments.length?(n=typeof f=="function"?f:zt([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),g):n},g.scaleExtent=function(f){return arguments.length?(o[0]=+f[0],o[1]=+f[1],g):[o[0],o[1]]},g.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(f){return arguments.length?(e=f,g):e},g.duration=function(f){return arguments.length?(u=+f,g):u},g.interpolate=function(f){return arguments.length?(l=f,g):l},g.on=function(){var f=a.on.apply(a,arguments);return f===a?g:f},g.clickDistance=function(f){return arguments.length?(x=(f=+f)*f,g):Math.sqrt(x)},g.tapDistance=function(f){return arguments.length?(b=+f,g):b},g}const Bs={class:"issue-graph-page"},Ps={class:"page-header"},qs={class:"graph-controls"},Xs={key:0,class:"loading card"},Hs={key:1,class:"empty card"},Fs={key:2,class:"graph-container card"},Ls=fe({__name:"graph",async setup(t){let n,e;const r=he(),i=Vt(null),o=Vt(null),s=Vt({left:"0px",top:"0px"});let u=null,l=null;const{data:a,status:c}=([n,e]=pe(()=>ve("/api/issues/graph","$5ObCgmYhuY")),n=await n,e(),n),p=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,1.3)},h=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,.7)},_=()=>{l&&u&&l.transition().duration(300).call(u.transform,qt)},w=b=>{switch(b){case"critical":return"#ef4444";case"high":return"#f59e0b";case"medium":return"#3b82f6";case"low":return"#22c55e";default:return"#94a3b8"}},x=()=>{if(!i.value||!a.value)return;const b=i.value.parentElement;if(!b)return;const g=b.clientWidth,$=b.clientHeight||600;Z(i.value).selectAll("*").remove(),l=Z(i.value).attr("width",g).attr("height",$);const N=l.append("g");u=Ds().scaleExtent([.1,4]).on("zoom",z=>{N.attr("transform",z.transform.toString())}),l.call(u);const E=dn(a.value),R=ys().size([$-100,g-200]).separation((z,D)=>z.parent===D.parent?1:1.5)(E);N.selectAll(".link").data(R.links()).enter().append("path").attr("class","link").attr("d",Ns().x(z=>z.y+100).y(z=>z.x+50)).attr("fill","none").attr("stroke","#cbd5e1").attr("stroke-width",2);const P=N.selectAll(".node").data(R.descendants()).enter().append("g").attr("class","node").attr("transform",z=>`translate(${(z.y??0)+100}, ${(z.x??0)+50})`).style("cursor","pointer").on("click",(z,D)=>{D.data.id&&D.data.id!=="root"&&r.push(`/issue/${D.data.id}`)}).on("mouseenter",(z,D)=>{D.data.id!=="root"&&(o.value=D.data,s.value={left:`${z.pageX+10}px`,top:`${z.pageY+10}px`})}).on("mouseleave",()=>{o.value=null});P.append("circle").attr("r",z=>z.data.id==="root"?12:8).attr("fill",z=>z.data.id==="root"?"#64748b":w(z.data.priority)).attr("stroke","#fff").attr("stroke-width",2),P.append("text").attr("dy",-15).attr("text-anchor","middle").attr("font-size","11px").attr("fill","#64748b").text(z=>z.data.id==="root"?"":z.data.id);const ut=qt.translate(50,$/2-(R.x||0)-50);l.call(u.transform,ut)};return de(()=>{_n(()=>{x()}),window.addEventListener("resize",x)}),_e(()=>{window.removeEventListener("resize",x)}),ge(a,()=>{_n(()=>{x()})}),me({title:"Issue Graph - AutoCode"}),(b,g)=>(et(),nt("div",Bs,[j("header",Ps,[j("h1",null,U(b.$t("graph.title")),1),j("div",qs,[j("button",{class:"btn btn-secondary btn-sm",onClick:p},"+ "+U(b.$t("graph.zoomIn")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:h}," − "+U(b.$t("graph.zoomOut")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:_},U(b.$t("graph.reset")),1)])]),K(c)==="pending"?(et(),nt("div",Xs,U(b.$t("app.loading")),1)):K(a)?.children?.length?(et(),nt("div",Fs,[(et(),nt("svg",{ref_key:"svgRef",ref:i,class:"graph-svg"},null,512))])):(et(),nt("div",Hs,U(b.$t("graph.noIssues")),1)),K(o)?(et(),nt("div",{key:3,class:"issue-tooltip",style:ye(K(s))},[j("strong",null,U(K(o).id),1),j("p",null,U(K(o).title),1),K(o).priority?(et(),nt("span",{key:0,class:we(["badge",`badge-${K(o).priority}`])},U(K(o).priority),3)):gn("",!0)],4)):gn("",!0)]))}}),Os=xe(Ls,[["__scopeId","data-v-63d9891e"]]);export{Os as default};
1
+ import{d as fe,y as he,r as Vt,x as pe,o as de,z as _n,a as _e,n as ge,v as me,c as nt,e as j,k as gn,t as U,h as K,p as ye,s as we,b as et,_ as xe}from"./DvCAC3Uz.js";import{u as ve}from"./BwPqhjQb.js";var be={value:()=>{}};function an(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Mt(e)}function Mt(t){this._=t}function $e(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Mt.prototype=an.prototype={constructor:Mt,on:function(t,n){var e=this._,r=$e(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(t=r[o]).type)&&(i=ke(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<s;)if(i=(t=r[o]).type)e[i]=mn(e[i],t.name,n);else if(n==null)for(i in e)e[i]=mn(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mt(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function ke(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function mn(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=be,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var Wt="http://www.w3.org/1999/xhtml";const yn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function qt(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),yn.hasOwnProperty(n)?{space:yn[n],local:t}:t}function Ae(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Wt&&n.documentElement.namespaceURI===Wt?n.createElement(t):n.createElementNS(e,t)}}function ze(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Bn(t){var n=qt(t);return(n.local?ze:Ae)(n)}function Me(){}function un(t){return t==null?Me:function(){return this.querySelector(t)}}function Ne(t){typeof t!="function"&&(t=un(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=new Array(s),l,a,c=0;c<s;++c)(l=o[c])&&(a=t.call(l,l.__data__,c,o))&&("__data__"in l&&(a.__data__=l.__data__),u[c]=a);return new B(r,this._parents)}function Ee(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Se(){return[]}function Pn(t){return t==null?Se:function(){return this.querySelectorAll(t)}}function Te(t){return function(){return Ee(t.apply(this,arguments))}}function Ce(t){typeof t=="function"?t=Te(t):t=Pn(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var s=n[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&(r.push(t.call(l,l.__data__,a,s)),i.push(l));return new B(r,i)}function Xn(t){return function(){return this.matches(t)}}function qn(t){return function(n){return n.matches(t)}}var Re=Array.prototype.find;function Ie(t){return function(){return Re.call(this.children,t)}}function De(){return this.firstElementChild}function Be(t){return this.select(t==null?De:Ie(typeof t=="function"?t:qn(t)))}var Pe=Array.prototype.filter;function Xe(){return Array.from(this.children)}function qe(t){return function(){return Pe.call(this.children,t)}}function He(t){return this.selectAll(t==null?Xe:qe(typeof t=="function"?t:qn(t)))}function Fe(t){typeof t!="function"&&(t=Xn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new B(r,this._parents)}function Hn(t){return new Array(t.length)}function Le(){return new B(this._enter||this._groups.map(Hn),this._parents)}function Ct(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}Ct.prototype={constructor:Ct,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Ve(t){return function(){return t}}function Ye(t,n,e,r,i,o){for(var s=0,u,l=n.length,a=o.length;s<a;++s)(u=n[s])?(u.__data__=o[s],r[s]=u):e[s]=new Ct(t,o[s]);for(;s<l;++s)(u=n[s])&&(i[s]=u)}function Oe(t,n,e,r,i,o,s){var u,l,a=new Map,c=n.length,p=o.length,h=new Array(c),_;for(u=0;u<c;++u)(l=n[u])&&(h[u]=_=s.call(l,l.__data__,u,n)+"",a.has(_)?i[u]=l:a.set(_,l));for(u=0;u<p;++u)_=s.call(t,o[u],u,o)+"",(l=a.get(_))?(r[u]=l,l.__data__=o[u],a.delete(_)):e[u]=new Ct(t,o[u]);for(u=0;u<c;++u)(l=n[u])&&a.get(h[u])===l&&(i[u]=l)}function Ge(t){return t.__data__}function Ue(t,n){if(!arguments.length)return Array.from(this,Ge);var e=n?Oe:Ye,r=this._parents,i=this._groups;typeof t!="function"&&(t=Ve(t));for(var o=i.length,s=new Array(o),u=new Array(o),l=new Array(o),a=0;a<o;++a){var c=r[a],p=i[a],h=p.length,_=Ke(t.call(c,c&&c.__data__,a,r)),w=_.length,x=u[a]=new Array(w),b=s[a]=new Array(w),g=l[a]=new Array(h);e(c,p,x,b,g,_,n);for(var $=0,N=0,E,C;$<w;++$)if(E=x[$]){for($>=N&&(N=$+1);!(C=b[N])&&++N<w;);E._next=C||null}}return s=new B(s,r),s._enter=u,s._exit=l,s}function Ke(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function We(){return new B(this._exit||this._groups.map(Hn),this._parents)}function Ze(t,n,e){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?o.remove():e(o),r&&i?r.merge(i).order():i}function Qe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,s=Math.min(i,o),u=new Array(i),l=0;l<s;++l)for(var a=e[l],c=r[l],p=a.length,h=u[l]=new Array(p),_,w=0;w<p;++w)(_=a[w]||c[w])&&(h[w]=_);for(;l<i;++l)u[l]=e[l];return new B(u,this._parents)}function Je(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function je(t){t||(t=tr);function n(p,h){return p&&h?t(p.__data__,h.__data__):!p-!h}for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var s=e[o],u=s.length,l=i[o]=new Array(u),a,c=0;c<u;++c)(a=s[c])&&(l[c]=a);l.sort(n)}return new B(i,this._parents).order()}function tr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function nr(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function er(){return Array.from(this)}function rr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function ir(){let t=0;for(const n of this)++t;return t}function or(){return!this.node()}function sr(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],o=0,s=i.length,u;o<s;++o)(u=i[o])&&t.call(u,u.__data__,o,i);return this}function ar(t){return function(){this.removeAttribute(t)}}function ur(t){return function(){this.removeAttributeNS(t.space,t.local)}}function lr(t,n){return function(){this.setAttribute(t,n)}}function cr(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function fr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function hr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function pr(t,n){var e=qt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?ur:ar:typeof n=="function"?e.local?hr:fr:e.local?cr:lr)(e,n))}function Fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dr(t){return function(){this.style.removeProperty(t)}}function _r(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gr(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function mr(t,n,e){return arguments.length>1?this.each((n==null?dr:typeof n=="function"?gr:_r)(t,n,e??"")):ct(this.node(),t)}function ct(t,n){return t.style.getPropertyValue(n)||Fn(t).getComputedStyle(t,null).getPropertyValue(n)}function yr(t){return function(){delete this[t]}}function wr(t,n){return function(){this[t]=n}}function xr(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function vr(t,n){return arguments.length>1?this.each((n==null?yr:typeof n=="function"?xr:wr)(t,n)):this.node()[t]}function Ln(t){return t.trim().split(/^|\s+/)}function ln(t){return t.classList||new Vn(t)}function Vn(t){this._node=t,this._names=Ln(t.getAttribute("class")||"")}Vn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Yn(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function On(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function br(t){return function(){Yn(this,t)}}function $r(t){return function(){On(this,t)}}function kr(t,n){return function(){(n.apply(this,arguments)?Yn:On)(this,t)}}function Ar(t,n){var e=Ln(t+"");if(arguments.length<2){for(var r=ln(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?kr:n?br:$r)(e,n))}function zr(){this.textContent=""}function Mr(t){return function(){this.textContent=t}}function Nr(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function Er(t){return arguments.length?this.each(t==null?zr:(typeof t=="function"?Nr:Mr)(t)):this.node().textContent}function Sr(){this.innerHTML=""}function Tr(t){return function(){this.innerHTML=t}}function Cr(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Rr(t){return arguments.length?this.each(t==null?Sr:(typeof t=="function"?Cr:Tr)(t)):this.node().innerHTML}function Ir(){this.nextSibling&&this.parentNode.appendChild(this)}function Dr(){return this.each(Ir)}function Br(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pr(){return this.each(Br)}function Xr(t){var n=typeof t=="function"?t:Bn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function qr(){return null}function Hr(t,n){var e=typeof t=="function"?t:Bn(t),r=n==null?qr:typeof n=="function"?n:un(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function Fr(){var t=this.parentNode;t&&t.removeChild(this)}function Lr(){return this.each(Fr)}function Vr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Yr(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Or(t){return this.select(t?Yr:Vr)}function Gr(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ur(t){return function(n){t.call(this,n,this.__data__)}}function Kr(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function Wr(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,o;e<i;++e)o=n[e],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):n[++r]=o;++r?n.length=r:delete this.__on}}}function Zr(t,n,e){return function(){var r=this.__on,i,o=Ur(n);if(r){for(var s=0,u=r.length;s<u;++s)if((i=r[s]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=e),i.value=n;return}}this.addEventListener(t.type,o,e),i={type:t.type,name:t.name,value:n,listener:o,options:e},r?r.push(i):this.__on=[i]}}function Qr(t,n,e){var r=Kr(t+""),i,o=r.length,s;if(arguments.length<2){var u=this.node().__on;if(u){for(var l=0,a=u.length,c;l<a;++l)for(i=0,c=u[l];i<o;++i)if((s=r[i]).type===c.type&&s.name===c.name)return c.value}return}for(u=n?Zr:Wr,i=0;i<o;++i)this.each(u(r[i],n,e));return this}function Gn(t,n,e){var r=Fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Jr(t,n){return function(){return Gn(this,t,n)}}function jr(t,n){return function(){return Gn(this,t,n.apply(this,arguments))}}function ti(t,n){return this.each((typeof n=="function"?jr:Jr)(t,n))}function*ni(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var Un=[null];function B(t,n){this._groups=t,this._parents=n}function vt(){return new B([[document.documentElement]],Un)}function ei(){return this}B.prototype=vt.prototype={constructor:B,select:Ne,selectAll:Ce,selectChild:Be,selectChildren:He,filter:Fe,data:Ue,enter:Le,exit:We,join:Ze,merge:Qe,selection:ei,order:Je,sort:je,call:nr,nodes:er,node:rr,size:ir,empty:or,each:sr,attr:pr,style:mr,property:vr,classed:Ar,text:Er,html:Rr,raise:Dr,lower:Pr,append:Xr,insert:Hr,remove:Lr,clone:Or,datum:Gr,on:Qr,dispatch:ti,[Symbol.iterator]:ni};function Z(t){return typeof t=="string"?new B([[document.querySelector(t)]],[document.documentElement]):new B([[t]],Un)}function ri(t){let n;for(;n=t.sourceEvent;)t=n;return t}function rt(t,n){if(t=ri(t),n===void 0&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}const Zt={capture:!0,passive:!1};function Qt(t){t.preventDefault(),t.stopImmediatePropagation()}function ii(t){var n=t.document.documentElement,e=Z(t).on("dragstart.drag",Qt,Zt);"onselectstart"in n?e.on("selectstart.drag",Qt,Zt):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function oi(t,n){var e=t.document.documentElement,r=Z(t).on("dragstart.drag",null);n&&(r.on("click.drag",Qt,Zt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function cn(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Kn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function bt(){}var gt=.7,Rt=1/gt,lt="\\s*([+-]?\\d+)\\s*",mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",V="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",si=/^#([0-9a-f]{3,8})$/,ai=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),ui=new RegExp(`^rgb\\(${V},${V},${V}\\)$`),li=new RegExp(`^rgba\\(${lt},${lt},${lt},${mt}\\)$`),ci=new RegExp(`^rgba\\(${V},${V},${V},${mt}\\)$`),fi=new RegExp(`^hsl\\(${mt},${V},${V}\\)$`),hi=new RegExp(`^hsla\\(${mt},${V},${V},${mt}\\)$`),wn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cn(bt,yt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xn,formatHex:xn,formatHex8:pi,formatHsl:di,formatRgb:vn,toString:vn});function xn(){return this.rgb().formatHex()}function pi(){return this.rgb().formatHex8()}function di(){return Wn(this).formatHsl()}function vn(){return this.rgb().formatRgb()}function yt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=si.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?bn(n):e===3?new I(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?$t(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?$t(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=ai.exec(t))?new I(n[1],n[2],n[3],1):(n=ui.exec(t))?new I(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=li.exec(t))?$t(n[1],n[2],n[3],n[4]):(n=ci.exec(t))?$t(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=fi.exec(t))?An(n[1],n[2]/100,n[3]/100,1):(n=hi.exec(t))?An(n[1],n[2]/100,n[3]/100,n[4]):wn.hasOwnProperty(t)?bn(wn[t]):t==="transparent"?new I(NaN,NaN,NaN,0):null}function bn(t){return new I(t>>16&255,t>>8&255,t&255,1)}function $t(t,n,e,r){return r<=0&&(t=n=e=NaN),new I(t,n,e,r)}function _i(t){return t instanceof bt||(t=yt(t)),t?(t=t.rgb(),new I(t.r,t.g,t.b,t.opacity)):new I}function Jt(t,n,e,r){return arguments.length===1?_i(t):new I(t,n,e,r??1)}function I(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}cn(I,Jt,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new I(st(this.r),st(this.g),st(this.b),It(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$n,formatHex:$n,formatHex8:gi,formatRgb:kn,toString:kn}));function $n(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}`}function gi(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}${ot((isNaN(this.opacity)?1:this.opacity)*255)}`}function kn(){const t=It(this.opacity);return`${t===1?"rgb(":"rgba("}${st(this.r)}, ${st(this.g)}, ${st(this.b)}${t===1?")":`, ${t})`}`}function It(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function st(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ot(t){return t=st(t),(t<16?"0":"")+t.toString(16)}function An(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new H(t,n,e,r)}function Wn(t){if(t instanceof H)return new H(t.h,t.s,t.l,t.opacity);if(t instanceof bt||(t=yt(t)),!t)return new H;if(t instanceof H)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),s=NaN,u=o-i,l=(o+i)/2;return u?(n===o?s=(e-r)/u+(e<r)*6:e===o?s=(r-n)/u+2:s=(n-e)/u+4,u/=l<.5?o+i:2-o-i,s*=60):u=l>0&&l<1?0:s,new H(s,u,l,t.opacity)}function mi(t,n,e,r){return arguments.length===1?Wn(t):new H(t,n,e,r??1)}function H(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}cn(H,mi,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new H(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new H(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new I(Yt(t>=240?t-240:t+120,i,r),Yt(t,i,r),Yt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new H(zn(this.h),kt(this.s),kt(this.l),It(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=It(this.opacity);return`${t===1?"hsl(":"hsla("}${zn(this.h)}, ${kt(this.s)*100}%, ${kt(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zn(t){return t=(t||0)%360,t<0?t+360:t}function kt(t){return Math.max(0,Math.min(1,t||0))}function Yt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const Zn=t=>()=>t;function yi(t,n){return function(e){return t+e*n}}function wi(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function xi(t){return(t=+t)==1?Qn:function(n,e){return e-n?wi(n,e,t):Zn(isNaN(n)?e:n)}}function Qn(t,n){var e=n-t;return e?yi(t,e):Zn(isNaN(t)?n:t)}const Mn=(function t(n){var e=xi(n);function r(i,o){var s=e((i=Jt(i)).r,(o=Jt(o)).r),u=e(i.g,o.g),l=e(i.b,o.b),a=Qn(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=u(c),i.b=l(c),i.opacity=a(c),i+""}}return r.gamma=t,r})(1);function tt(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ot=new RegExp(jt.source,"g");function vi(t){return function(){return t}}function bi(t){return function(n){return t(n)+""}}function $i(t,n){var e=jt.lastIndex=Ot.lastIndex=0,r,i,o,s=-1,u=[],l=[];for(t=t+"",n=n+"";(r=jt.exec(t))&&(i=Ot.exec(n));)(o=i.index)>e&&(o=n.slice(e,o),u[s]?u[s]+=o:u[++s]=o),(r=r[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,l.push({i:s,x:tt(r,i)})),e=Ot.lastIndex;return e<n.length&&(o=n.slice(e),u[s]?u[s]+=o:u[++s]=o),u.length<2?l[0]?bi(l[0].x):vi(n):(n=l.length,function(a){for(var c=0,p;c<n;++c)u[(p=l[c]).i]=p.x(a);return u.join("")})}var Nn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Jn(t,n,e,r,i,o){var s,u,l;return(s=Math.sqrt(t*t+n*n))&&(t/=s,n/=s),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Nn,skewX:Math.atan(l)*Nn,scaleX:s,scaleY:u}}var At;function ki(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?tn:Jn(n.a,n.b,n.c,n.d,n.e,n.f)}function Ai(t){return t==null||(At||(At=document.createElementNS("http://www.w3.org/2000/svg","g")),At.setAttribute("transform",t),!(t=At.transform.baseVal.consolidate()))?tn:(t=t.matrix,Jn(t.a,t.b,t.c,t.d,t.e,t.f))}function jn(t,n,e,r){function i(a){return a.length?a.pop()+" ":""}function o(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push("translate(",null,n,null,e);w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p||h)&&_.push("translate("+p+n+h+e)}function s(a,c,p,h){a!==c?(a-c>180?c+=360:c-a>180&&(a+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:tt(a,c)})):c&&p.push(i(p)+"rotate("+c+r)}function u(a,c,p,h){a!==c?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:tt(a,c)}):c&&p.push(i(p)+"skewX("+c+r)}function l(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push(i(_)+"scale(",null,",",null,")");w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p!==1||h!==1)&&_.push(i(_)+"scale("+p+","+h+")")}return function(a,c){var p=[],h=[];return a=t(a),c=t(c),o(a.translateX,a.translateY,c.translateX,c.translateY,p,h),s(a.rotate,c.rotate,p,h),u(a.skewX,c.skewX,p,h),l(a.scaleX,a.scaleY,c.scaleX,c.scaleY,p,h),a=c=null,function(_){for(var w=-1,x=h.length,b;++w<x;)p[(b=h[w]).i]=b.x(_);return p.join("")}}}var zi=jn(ki,"px, ","px)","deg)"),Mi=jn(Ai,", ",")",")"),Ni=1e-12;function En(t){return((t=Math.exp(t))+1/t)/2}function Ei(t){return((t=Math.exp(t))-1/t)/2}function Si(t){return((t=Math.exp(2*t))-1)/(t+1)}const Ti=(function t(n,e,r){function i(o,s){var u=o[0],l=o[1],a=o[2],c=s[0],p=s[1],h=s[2],_=c-u,w=p-l,x=_*_+w*w,b,g;if(x<Ni)g=Math.log(h/a)/n,b=function(P){return[u+P*_,l+P*w,a*Math.exp(n*P*g)]};else{var $=Math.sqrt(x),N=(h*h-a*a+r*x)/(2*a*e*$),E=(h*h-a*a-r*x)/(2*h*e*$),C=Math.log(Math.sqrt(N*N+1)-N),R=Math.log(Math.sqrt(E*E+1)-E);g=(R-C)/n,b=function(P){var ut=P*g,z=En(C),D=a/(e*$)*(z*Si(n*ut+C)-Ei(C));return[u+D*_,l+D*w,a*z/En(n*ut+C)]}}return b.duration=g*1e3*n/Math.SQRT2,b}return i.rho=function(o){var s=Math.max(.001,+o),u=s*s,l=u*u;return t(s,u,l)},i})(Math.SQRT2,2,4);var ft=0,dt=0,ht=0,te=1e3,Dt,_t,Bt=0,at=0,Ht=0,wt=typeof performance=="object"&&performance.now?performance:Date,ne=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fn(){return at||(ne(Ci),at=wt.now()+Ht)}function Ci(){at=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=ee.prototype={constructor:Pt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?fn():+e)+(n==null?0:+n),!this._next&&_t!==this&&(_t?_t._next=this:Dt=this,_t=this),this._call=t,this._time=e,nn()},stop:function(){this._call&&(this._call=null,this._time=1/0,nn())}};function ee(t,n,e){var r=new Pt;return r.restart(t,n,e),r}function Ri(){fn(),++ft;for(var t=Dt,n;t;)(n=at-t._time)>=0&&t._call.call(void 0,n),t=t._next;--ft}function Sn(){at=(Bt=wt.now())+Ht,ft=dt=0;try{Ri()}finally{ft=0,Di(),at=0}}function Ii(){var t=wt.now(),n=t-Bt;n>te&&(Ht-=n,Bt=t)}function Di(){for(var t,n=Dt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);_t=t,nn(r)}function nn(t){if(!ft){dt&&(dt=clearTimeout(dt));var n=t-at;n>24?(t<1/0&&(dt=setTimeout(Sn,t-wt.now()-Ht)),ht&&(ht=clearInterval(ht))):(ht||(Bt=wt.now(),ht=setInterval(Ii,te)),ft=1,ne(Sn))}}function Tn(t,n,e){var r=new Pt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Bi=an("start","end","cancel","interrupt"),Pi=[],re=0,Cn=1,en=2,Nt=3,Rn=4,rn=5,Et=6;function Ft(t,n,e,r,i,o){var s=t.__transition;if(!s)t.__transition={};else if(e in s)return;Xi(t,e,{name:n,index:r,group:i,on:Bi,tween:Pi,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:re})}function hn(t,n){var e=F(t,n);if(e.state>re)throw new Error("too late; already scheduled");return e}function Y(t,n){var e=F(t,n);if(e.state>Nt)throw new Error("too late; already running");return e}function F(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Xi(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=ee(o,0,e.time);function o(a){e.state=Cn,e.timer.restart(s,e.delay,e.time),e.delay<=a&&s(a-e.delay)}function s(a){var c,p,h,_;if(e.state!==Cn)return l();for(c in r)if(_=r[c],_.name===e.name){if(_.state===Nt)return Tn(s);_.state===Rn?(_.state=Et,_.timer.stop(),_.on.call("interrupt",t,t.__data__,_.index,_.group),delete r[c]):+c<n&&(_.state=Et,_.timer.stop(),_.on.call("cancel",t,t.__data__,_.index,_.group),delete r[c])}if(Tn(function(){e.state===Nt&&(e.state=Rn,e.timer.restart(u,e.delay,e.time),u(a))}),e.state=en,e.on.call("start",t,t.__data__,e.index,e.group),e.state===en){for(e.state=Nt,i=new Array(h=e.tween.length),c=0,p=-1;c<h;++c)(_=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=_);i.length=p+1}}function u(a){for(var c=a<e.duration?e.ease.call(null,a/e.duration):(e.timer.restart(l),e.state=rn,1),p=-1,h=i.length;++p<h;)i[p].call(t,c);e.state===rn&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){e.state=Et,e.timer.stop(),delete r[n];for(var a in r)return;delete t.__transition}}function St(t,n){var e=t.__transition,r,i,o=!0,s;if(e){n=n==null?null:n+"";for(s in e){if((r=e[s]).name!==n){o=!1;continue}i=r.state>en&&r.state<rn,r.state=Et,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[s]}o&&delete t.__transition}}function qi(t){return this.each(function(){St(this,t)})}function Hi(t,n){var e,r;return function(){var i=Y(this,t),o=i.tween;if(o!==e){r=e=o;for(var s=0,u=r.length;s<u;++s)if(r[s].name===n){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function Fi(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var o=Y(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var u={name:n,value:e},l=0,a=i.length;l<a;++l)if(i[l].name===n){i[l]=u;break}l===a&&i.push(u)}o.tween=i}}function Li(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=F(this.node(),e).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===t)return s.value;return null}return this.each((n==null?Hi:Fi)(e,t,n))}function pn(t,n,e){var r=t._id;return t.each(function(){var i=Y(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return F(i,r).value[n]}}function ie(t,n){var e;return(typeof n=="number"?tt:n instanceof yt?Mn:(e=yt(n))?(n=e,Mn):$i)(t,n)}function Vi(t){return function(){this.removeAttribute(t)}}function Yi(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Oi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttribute(t);return s===i?null:s===r?o:o=n(r=s,e)}}function Gi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===r?o:o=n(r=s,e)}}function Ui(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Ki(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Wi(t,n){var e=qt(t),r=e==="transform"?Mi:ie;return this.attrTween(t,typeof n=="function"?(e.local?Ki:Ui)(e,r,pn(this,"attr."+t,n)):n==null?(e.local?Yi:Vi)(e):(e.local?Gi:Oi)(e,r,n))}function Zi(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Qi(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Qi(t,o)),e}return i._value=n,i}function ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Zi(t,o)),e}return i._value=n,i}function to(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=qt(t);return this.tween(e,(r.local?Ji:ji)(r,n))}function no(t,n){return function(){hn(this,t).delay=+n.apply(this,arguments)}}function eo(t,n){return n=+n,function(){hn(this,t).delay=n}}function ro(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?no:eo)(n,t)):F(this.node(),n).delay}function io(t,n){return function(){Y(this,t).duration=+n.apply(this,arguments)}}function oo(t,n){return n=+n,function(){Y(this,t).duration=n}}function so(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?io:oo)(n,t)):F(this.node(),n).duration}function ao(t,n){if(typeof n!="function")throw new Error;return function(){Y(this,t).ease=n}}function uo(t){var n=this._id;return arguments.length?this.each(ao(n,t)):F(this.node(),n).ease}function lo(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;Y(this,t).ease=e}}function co(t){if(typeof t!="function")throw new Error;return this.each(lo(this._id,t))}function fo(t){typeof t!="function"&&(t=Xn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new J(r,this._parents,this._name,this._id)}function ho(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),s=new Array(r),u=0;u<o;++u)for(var l=n[u],a=e[u],c=l.length,p=s[u]=new Array(c),h,_=0;_<c;++_)(h=l[_]||a[_])&&(p[_]=h);for(;u<r;++u)s[u]=n[u];return new J(s,this._parents,this._name,this._id)}function po(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function _o(t,n,e){var r,i,o=po(n)?hn:Y;return function(){var s=o(this,t),u=s.on;u!==r&&(i=(r=u).copy()).on(n,e),s.on=i}}function go(t,n){var e=this._id;return arguments.length<2?F(this.node(),e).on.on(t):this.each(_o(e,t,n))}function mo(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function yo(){return this.on("end.remove",mo(this._id))}function wo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=un(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var u=r[s],l=u.length,a=o[s]=new Array(l),c,p,h=0;h<l;++h)(c=u[h])&&(p=t.call(c,c.__data__,h,u))&&("__data__"in c&&(p.__data__=c.__data__),a[h]=p,Ft(a[h],n,e,h,a,F(c,e)));return new J(o,this._parents,n,e)}function xo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=Pn(t));for(var r=this._groups,i=r.length,o=[],s=[],u=0;u<i;++u)for(var l=r[u],a=l.length,c,p=0;p<a;++p)if(c=l[p]){for(var h=t.call(c,c.__data__,p,l),_,w=F(c,e),x=0,b=h.length;x<b;++x)(_=h[x])&&Ft(_,n,e,x,h,w);o.push(h),s.push(c)}return new J(o,s,n,e)}var vo=vt.prototype.constructor;function bo(){return new vo(this._groups,this._parents)}function $o(t,n){var e,r,i;return function(){var o=ct(this,t),s=(this.style.removeProperty(t),ct(this,t));return o===s?null:o===e&&s===r?i:i=n(e=o,r=s)}}function oe(t){return function(){this.style.removeProperty(t)}}function ko(t,n,e){var r,i=e+"",o;return function(){var s=ct(this,t);return s===i?null:s===r?o:o=n(r=s,e)}}function Ao(t,n,e){var r,i,o;return function(){var s=ct(this,t),u=e(this),l=u+"";return u==null&&(l=u=(this.style.removeProperty(t),ct(this,t))),s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u))}}function zo(t,n){var e,r,i,o="style."+n,s="end."+o,u;return function(){var l=Y(this,t),a=l.on,c=l.value[o]==null?u||(u=oe(n)):void 0;(a!==e||i!==c)&&(r=(e=a).copy()).on(s,i=c),l.on=r}}function Mo(t,n,e){var r=(t+="")=="transform"?zi:ie;return n==null?this.styleTween(t,$o(t,r)).on("end.style."+t,oe(t)):typeof n=="function"?this.styleTween(t,Ao(t,r,pn(this,"style."+t,n))).each(zo(this._id,t)):this.styleTween(t,ko(t,r,n),e).on("end.style."+t,null)}function No(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Eo(t,n,e){var r,i;function o(){var s=n.apply(this,arguments);return s!==i&&(r=(i=s)&&No(t,s,e)),r}return o._value=n,o}function So(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Eo(t,n,e??""))}function To(t){return function(){this.textContent=t}}function Co(t){return function(){var n=t(this);this.textContent=n??""}}function Ro(t){return this.tween("text",typeof t=="function"?Co(pn(this,"text",t)):To(t==null?"":t+""))}function Io(t){return function(n){this.textContent=t.call(this,n)}}function Do(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Io(i)),n}return r._value=t,r}function Bo(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Do(t))}function Po(){for(var t=this._name,n=this._id,e=se(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)if(l=s[a]){var c=F(l,n);Ft(l,t,e,a,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new J(r,this._parents,t,e)}function Xo(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,s){var u={value:s},l={value:function(){--i===0&&o()}};e.each(function(){var a=Y(this,r),c=a.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),a.on=n}),i===0&&o()})}var qo=0;function J(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function se(){return++qo}var W=vt.prototype;J.prototype={constructor:J,select:wo,selectAll:xo,selectChild:W.selectChild,selectChildren:W.selectChildren,filter:fo,merge:ho,selection:bo,transition:Po,call:W.call,nodes:W.nodes,node:W.node,size:W.size,empty:W.empty,each:W.each,on:go,attr:Wi,attrTween:to,style:Mo,styleTween:So,text:Ro,textTween:Bo,remove:yo,tween:Li,delay:ro,duration:so,ease:uo,easeVarying:co,end:Xo,[Symbol.iterator]:W[Symbol.iterator]};function Ho(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Fo={time:null,delay:0,duration:250,ease:Ho};function Lo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Vo(t){var n,e;t instanceof J?(n=t._id,t=t._name):(n=se(),(e=Fo).time=fn(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&Ft(l,t,n,a,s,e||Lo(l,n));return new J(r,this._parents,t,n)}vt.prototype.interrupt=qi;vt.prototype.transition=Vo;const on=Math.PI,sn=2*on,it=1e-6,Yo=sn-it;function ae(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Oo(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return ae;const e=10**n;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*e)/e+r[i]}}class Go{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?ae:Oo(n)}moveTo(n,e){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,e){this._append`L${this._x1=+n},${this._y1=+e}`}quadraticCurveTo(n,e,r,i){this._append`Q${+n},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(n,e,r,i,o,s){this._append`C${+n},${+e},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(n,e,r,i,o){if(n=+n,e=+e,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,u=this._y1,l=r-n,a=i-e,c=s-n,p=u-e,h=c*c+p*p;if(this._x1===null)this._append`M${this._x1=n},${this._y1=e}`;else if(h>it)if(!(Math.abs(p*l-a*c)>it)||!o)this._append`L${this._x1=n},${this._y1=e}`;else{let _=r-s,w=i-u,x=l*l+a*a,b=_*_+w*w,g=Math.sqrt(x),$=Math.sqrt(h),N=o*Math.tan((on-Math.acos((x+h-b)/(2*g*$)))/2),E=N/$,C=N/g;Math.abs(E-1)>it&&this._append`L${n+E*c},${e+E*p}`,this._append`A${o},${o},0,0,${+(p*_>c*w)},${this._x1=n+C*l},${this._y1=e+C*a}`}}arc(n,e,r,i,o,s){if(n=+n,e=+e,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),l=r*Math.sin(i),a=n+u,c=e+l,p=1^s,h=s?i-o:o-i;this._x1===null?this._append`M${a},${c}`:(Math.abs(this._x1-a)>it||Math.abs(this._y1-c)>it)&&this._append`L${a},${c}`,r&&(h<0&&(h=h%sn+sn),h>Yo?this._append`A${r},${r},0,1,${p},${n-u},${e-l}A${r},${r},0,1,${p},${this._x1=a},${this._y1=c}`:h>it&&this._append`A${r},${r},0,${+(h>=on)},${p},${this._x1=n+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(n,e,r,i){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function Uo(t){var n=0,e=t.children,r=e&&e.length;if(!r)n=1;else for(;--r>=0;)n+=e[r].value;t.value=n}function Ko(){return this.eachAfter(Uo)}function Wo(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this}function Zo(t,n){for(var e=this,r=[e],i,o,s=-1;e=r.pop();)if(t.call(n,e,++s,this),i=e.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Qo(t,n){for(var e=this,r=[e],i=[],o,s,u,l=-1;e=r.pop();)if(i.push(e),o=e.children)for(s=0,u=o.length;s<u;++s)r.push(o[s]);for(;e=i.pop();)t.call(n,e,++l,this);return this}function Jo(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r}function jo(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})}function ts(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function ns(t){for(var n=this,e=es(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r}function es(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function rs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function is(){return Array.from(this)}function os(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function ss(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function*as(){var t=this,n,e=[t],r,i,o;do for(n=e.reverse(),e=[];t=n.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)e.push(r[i]);while(e.length)}function dn(t,n){t instanceof Map?(t=[void 0,t],n===void 0&&(n=cs)):n===void 0&&(n=ls);for(var e=new xt(t),r,i=[e],o,s,u,l;r=i.pop();)if((s=n(r.data))&&(l=(s=Array.from(s)).length))for(r.children=s,u=l-1;u>=0;--u)i.push(o=s[u]=new xt(s[u])),o.parent=r,o.depth=r.depth+1;return e.eachBefore(hs)}function us(){return dn(this).eachBefore(fs)}function ls(t){return t.children}function cs(t){return Array.isArray(t)?t[1]:null}function fs(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function xt(t){this.data=t,this.depth=this.height=0,this.parent=null}xt.prototype=dn.prototype={constructor:xt,count:Ko,each:Wo,eachAfter:Qo,eachBefore:Zo,find:Jo,sum:jo,sort:ts,path:ns,ancestors:rs,descendants:is,leaves:os,links:ss,copy:us,[Symbol.iterator]:as};function ps(t,n){return t.parent===n.parent?1:2}function Gt(t){var n=t.children;return n?n[0]:t.t}function Ut(t){var n=t.children;return n?n[n.length-1]:t.t}function ds(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function _s(t){for(var n=0,e=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=n,o.m+=n,n+=o.s+(e+=o.c)}function gs(t,n,e){return t.a.parent===n.parent?t.a:e}function Tt(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Tt.prototype=Object.create(xt.prototype);function ms(t){for(var n=new Tt(t,0),e,r=[n],i,o,s,u;e=r.pop();)if(o=e._.children)for(e.children=new Array(u=o.length),s=u-1;s>=0;--s)r.push(i=e.children[s]=new Tt(o[s],s)),i.parent=e;return(n.parent=new Tt(null,0)).children=[n],n}function ys(){var t=ps,n=1,e=1,r=null;function i(a){var c=ms(a);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)a.eachBefore(l);else{var p=a,h=a,_=a;a.eachBefore(function($){$.x<p.x&&(p=$),$.x>h.x&&(h=$),$.depth>_.depth&&(_=$)});var w=p===h?1:t(p,h)/2,x=w-p.x,b=n/(h.x+w+x),g=e/(_.depth||1);a.eachBefore(function($){$.x=($.x+x)*b,$.y=$.depth*g})}return a}function o(a){var c=a.children,p=a.parent.children,h=a.i?p[a.i-1]:null;if(c){_s(a);var _=(c[0].z+c[c.length-1].z)/2;h?(a.z=h.z+t(a._,h._),a.m=a.z-_):a.z=_}else h&&(a.z=h.z+t(a._,h._));a.parent.A=u(a,h,a.parent.A||p[0])}function s(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function u(a,c,p){if(c){for(var h=a,_=a,w=c,x=h.parent.children[0],b=h.m,g=_.m,$=w.m,N=x.m,E;w=Ut(w),h=Gt(h),w&&h;)x=Gt(x),_=Ut(_),_.a=a,E=w.z+$-h.z-b+t(w._,h._),E>0&&(ds(gs(w,a,p),a,E),b+=E,g+=E),$+=w.m,b+=h.m,N+=x.m,g+=_.m;w&&!Ut(_)&&(_.t=w,_.m+=$-g),h&&!Gt(x)&&(x.t=h,x.m+=b-N,p=a)}return p}function l(a){a.x*=n,a.y=a.depth*e}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}function In(t){return function(){return t}}function ws(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);n=r}return t},()=>new Go(n)}var xs=Array.prototype.slice;function vs(t){return t[0]}function bs(t){return t[1]}class $s{constructor(n,e){this._context=n,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,e){switch(n=+n,e=+e,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,e):this._context.moveTo(n,e);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,e,n,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,n,this._y0,n,e);break}}this._x0=n,this._y0=e}}function ks(t){return new $s(t,!0)}function As(t){return t.source}function zs(t){return t.target}function Ms(t){let n=As,e=zs,r=vs,i=bs,o=null,s=null,u=ws(l);function l(){let a;const c=xs.call(arguments),p=n.apply(this,c),h=e.apply(this,c);if(o==null&&(s=t(a=u())),s.lineStart(),c[0]=p,s.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,s.point(+r.apply(this,c),+i.apply(this,c)),s.lineEnd(),a)return s=null,a+""||null}return l.source=function(a){return arguments.length?(n=a,l):n},l.target=function(a){return arguments.length?(e=a,l):e},l.x=function(a){return arguments.length?(r=typeof a=="function"?a:In(+a),l):r},l.y=function(a){return arguments.length?(i=typeof a=="function"?a:In(+a),l):i},l.context=function(a){return arguments.length?(a==null?o=s=null:s=t(o=a),l):o},l}function Ns(){return Ms(ks)}const zt=t=>()=>t;function Es(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Xt=new Q(1,0,0);Q.prototype;function Kt(t){t.stopImmediatePropagation()}function pt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ss(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Ts(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Dn(){return this.__zoom||Xt}function Cs(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Rs(){return navigator.maxTouchPoints||"ontouchstart"in this}function Is(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],s=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Ds(){var t=Ss,n=Ts,e=Is,r=Cs,i=Rs,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,l=Ti,a=an("start","zoom","end"),c,p,h,_=500,w=150,x=0,b=10;function g(f){f.property("__zoom",Dn).on("wheel.zoom",ut,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",D).filter(i).on("touchstart.zoom",ue).on("touchmove.zoom",le).on("touchend.zoom touchcancel.zoom",ce).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(f,m,d,y){var v=f.selection?f.selection():f;v.property("__zoom",Dn),f!==v?C(f,m,d,y):v.interrupt().each(function(){R(this,arguments).event(y).start().zoom(null,typeof m=="function"?m.apply(this,arguments):m).end()})},g.scaleBy=function(f,m,d,y){g.scaleTo(f,function(){var v=this.__zoom.k,k=typeof m=="function"?m.apply(this,arguments):m;return v*k},d,y)},g.scaleTo=function(f,m,d,y){g.transform(f,function(){var v=n.apply(this,arguments),k=this.__zoom,A=d==null?E(v):typeof d=="function"?d.apply(this,arguments):d,M=k.invert(A),S=typeof m=="function"?m.apply(this,arguments):m;return e(N($(k,S),A,M),v,s)},d,y)},g.translateBy=function(f,m,d,y){g.transform(f,function(){return e(this.__zoom.translate(typeof m=="function"?m.apply(this,arguments):m,typeof d=="function"?d.apply(this,arguments):d),n.apply(this,arguments),s)},null,y)},g.translateTo=function(f,m,d,y,v){g.transform(f,function(){var k=n.apply(this,arguments),A=this.__zoom,M=y==null?E(k):typeof y=="function"?y.apply(this,arguments):y;return e(Xt.translate(M[0],M[1]).scale(A.k).translate(typeof m=="function"?-m.apply(this,arguments):-m,typeof d=="function"?-d.apply(this,arguments):-d),k,s)},y,v)};function $(f,m){return m=Math.max(o[0],Math.min(o[1],m)),m===f.k?f:new Q(m,f.x,f.y)}function N(f,m,d){var y=m[0]-d[0]*f.k,v=m[1]-d[1]*f.k;return y===f.x&&v===f.y?f:new Q(f.k,y,v)}function E(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function C(f,m,d,y){f.on("start.zoom",function(){R(this,arguments).event(y).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(y).end()}).tween("zoom",function(){var v=this,k=arguments,A=R(v,k).event(y),M=n.apply(v,k),S=d==null?E(M):typeof d=="function"?d.apply(v,k):d,L=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),T=v.__zoom,X=typeof m=="function"?m.apply(v,k):m,O=l(T.invert(S).concat(L/T.k),X.invert(S).concat(L/X.k));return function(q){if(q===1)q=X;else{var G=O(q),Lt=L/G[2];q=new Q(Lt,S[0]-G[0]*Lt,S[1]-G[1]*Lt)}A.zoom(null,q)}})}function R(f,m,d){return!d&&f.__zooming||new P(f,m)}function P(f,m){this.that=f,this.args=m,this.active=0,this.sourceEvent=null,this.extent=n.apply(f,m),this.taps=0}P.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,m){return this.mouse&&f!=="mouse"&&(this.mouse[1]=m.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=m.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=m.invert(this.touch1[0])),this.that.__zoom=m,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var m=Z(this.that).datum();a.call(f,this.that,new Es(f,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:a}),m)}};function ut(f,...m){if(!t.apply(this,arguments))return;var d=R(this,m).event(f),y=this.__zoom,v=Math.max(o[0],Math.min(o[1],y.k*Math.pow(2,r.apply(this,arguments)))),k=rt(f);if(d.wheel)(d.mouse[0][0]!==k[0]||d.mouse[0][1]!==k[1])&&(d.mouse[1]=y.invert(d.mouse[0]=k)),clearTimeout(d.wheel);else{if(y.k===v)return;d.mouse=[k,y.invert(k)],St(this),d.start()}pt(f),d.wheel=setTimeout(A,w),d.zoom("mouse",e(N($(y,v),d.mouse[0],d.mouse[1]),d.extent,s));function A(){d.wheel=null,d.end()}}function z(f,...m){if(h||!t.apply(this,arguments))return;var d=f.currentTarget,y=R(this,m,!0).event(f),v=Z(f.view).on("mousemove.zoom",S,!0).on("mouseup.zoom",L,!0),k=rt(f,d),A=f.clientX,M=f.clientY;ii(f.view),Kt(f),y.mouse=[k,this.__zoom.invert(k)],St(this),y.start();function S(T){if(pt(T),!y.moved){var X=T.clientX-A,O=T.clientY-M;y.moved=X*X+O*O>x}y.event(T).zoom("mouse",e(N(y.that.__zoom,y.mouse[0]=rt(T,d),y.mouse[1]),y.extent,s))}function L(T){v.on("mousemove.zoom mouseup.zoom",null),oi(T.view,y.moved),pt(T),y.event(T).end()}}function D(f,...m){if(t.apply(this,arguments)){var d=this.__zoom,y=rt(f.changedTouches?f.changedTouches[0]:f,this),v=d.invert(y),k=d.k*(f.shiftKey?.5:2),A=e(N($(d,k),y,v),n.apply(this,m),s);pt(f),u>0?Z(this).transition().duration(u).call(C,A,y,f):Z(this).call(g.transform,A,y,f)}}function ue(f,...m){if(t.apply(this,arguments)){var d=f.touches,y=d.length,v=R(this,m,f.changedTouches.length===y).event(f),k,A,M,S;for(Kt(f),A=0;A<y;++A)M=d[A],S=rt(M,this),S=[S,this.__zoom.invert(S),M.identifier],v.touch0?!v.touch1&&v.touch0[2]!==S[2]&&(v.touch1=S,v.taps=0):(v.touch0=S,k=!0,v.taps=1+!!c);c&&(c=clearTimeout(c)),k&&(v.taps<2&&(p=S[0],c=setTimeout(function(){c=null},_)),St(this),v.start())}}function le(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A,M,S;for(pt(f),k=0;k<v;++k)A=y[k],M=rt(A,this),d.touch0&&d.touch0[2]===A.identifier?d.touch0[0]=M:d.touch1&&d.touch1[2]===A.identifier&&(d.touch1[0]=M);if(A=d.that.__zoom,d.touch1){var L=d.touch0[0],T=d.touch0[1],X=d.touch1[0],O=d.touch1[1],q=(q=X[0]-L[0])*q+(q=X[1]-L[1])*q,G=(G=O[0]-T[0])*G+(G=O[1]-T[1])*G;A=$(A,Math.sqrt(q/G)),M=[(L[0]+X[0])/2,(L[1]+X[1])/2],S=[(T[0]+O[0])/2,(T[1]+O[1])/2]}else if(d.touch0)M=d.touch0[0],S=d.touch0[1];else return;d.zoom("touch",e(N(A,M,S),d.extent,s))}}function ce(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A;for(Kt(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},_),k=0;k<v;++k)A=y[k],d.touch0&&d.touch0[2]===A.identifier?delete d.touch0:d.touch1&&d.touch1[2]===A.identifier&&delete d.touch1;if(d.touch1&&!d.touch0&&(d.touch0=d.touch1,delete d.touch1),d.touch0)d.touch0[1]=this.__zoom.invert(d.touch0[0]);else if(d.end(),d.taps===2&&(A=rt(A,this),Math.hypot(p[0]-A[0],p[1]-A[1])<b)){var M=Z(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return g.wheelDelta=function(f){return arguments.length?(r=typeof f=="function"?f:zt(+f),g):r},g.filter=function(f){return arguments.length?(t=typeof f=="function"?f:zt(!!f),g):t},g.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:zt(!!f),g):i},g.extent=function(f){return arguments.length?(n=typeof f=="function"?f:zt([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),g):n},g.scaleExtent=function(f){return arguments.length?(o[0]=+f[0],o[1]=+f[1],g):[o[0],o[1]]},g.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(f){return arguments.length?(e=f,g):e},g.duration=function(f){return arguments.length?(u=+f,g):u},g.interpolate=function(f){return arguments.length?(l=f,g):l},g.on=function(){var f=a.on.apply(a,arguments);return f===a?g:f},g.clickDistance=function(f){return arguments.length?(x=(f=+f)*f,g):Math.sqrt(x)},g.tapDistance=function(f){return arguments.length?(b=+f,g):b},g}const Bs={class:"issue-graph-page"},Ps={class:"page-header"},Xs={class:"graph-controls"},qs={key:0,class:"loading card"},Hs={key:1,class:"empty card"},Fs={key:2,class:"graph-container card"},Ls=fe({__name:"graph",async setup(t){let n,e;const r=he(),i=Vt(null),o=Vt(null),s=Vt({left:"0px",top:"0px"});let u=null,l=null;const{data:a,status:c}=([n,e]=pe(()=>ve("/api/issues/graph","$5ObCgmYhuY")),n=await n,e(),n),p=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,1.3)},h=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,.7)},_=()=>{l&&u&&l.transition().duration(300).call(u.transform,Xt)},w=b=>{switch(b){case"critical":return"#ef4444";case"high":return"#f59e0b";case"medium":return"#3b82f6";case"low":return"#22c55e";default:return"#94a3b8"}},x=()=>{if(!i.value||!a.value)return;const b=i.value.parentElement;if(!b)return;const g=b.clientWidth,$=b.clientHeight||600;Z(i.value).selectAll("*").remove(),l=Z(i.value).attr("width",g).attr("height",$);const N=l.append("g");u=Ds().scaleExtent([.1,4]).on("zoom",z=>{N.attr("transform",z.transform.toString())}),l.call(u);const E=dn(a.value),R=ys().size([$-100,g-200]).separation((z,D)=>z.parent===D.parent?1:1.5)(E);N.selectAll(".link").data(R.links()).enter().append("path").attr("class","link").attr("d",Ns().x(z=>z.y+100).y(z=>z.x+50)).attr("fill","none").attr("stroke","#cbd5e1").attr("stroke-width",2);const P=N.selectAll(".node").data(R.descendants()).enter().append("g").attr("class","node").attr("transform",z=>`translate(${(z.y??0)+100}, ${(z.x??0)+50})`).style("cursor","pointer").on("click",(z,D)=>{D.data.id&&D.data.id!=="root"&&r.push(`/issue/${D.data.id}`)}).on("mouseenter",(z,D)=>{D.data.id!=="root"&&(o.value=D.data,s.value={left:`${z.pageX+10}px`,top:`${z.pageY+10}px`})}).on("mouseleave",()=>{o.value=null});P.append("circle").attr("r",z=>z.data.id==="root"?12:8).attr("fill",z=>z.data.id==="root"?"#64748b":w(z.data.priority)).attr("stroke","#fff").attr("stroke-width",2),P.append("text").attr("dy",-15).attr("text-anchor","middle").attr("font-size","11px").attr("fill","#64748b").text(z=>z.data.id==="root"?"":z.data.id);const ut=Xt.translate(50,$/2-(R.x||0)-50);l.call(u.transform,ut)};return de(()=>{_n(()=>{x()}),window.addEventListener("resize",x)}),_e(()=>{window.removeEventListener("resize",x)}),ge(a,()=>{_n(()=>{x()})}),me({title:"Issue Graph - AutoCode"}),(b,g)=>(et(),nt("div",Bs,[j("header",Ps,[j("h1",null,U(b.$t("graph.title")),1),j("div",Xs,[j("button",{class:"btn btn-secondary btn-sm",onClick:p},"+ "+U(b.$t("graph.zoomIn")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:h}," − "+U(b.$t("graph.zoomOut")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:_},U(b.$t("graph.reset")),1)])]),K(c)==="pending"?(et(),nt("div",qs,U(b.$t("app.loading")),1)):K(a)?.children?.length?(et(),nt("div",Fs,[(et(),nt("svg",{ref_key:"svgRef",ref:i,class:"graph-svg"},null,512))])):(et(),nt("div",Hs,U(b.$t("graph.noIssues")),1)),K(o)?(et(),nt("div",{key:3,class:"issue-tooltip",style:ye(K(s))},[j("strong",null,U(K(o).id),1),j("p",null,U(K(o).title),1),K(o).priority?(et(),nt("span",{key:0,class:we(["badge",`badge-${K(o).priority}`])},U(K(o).priority),3)):gn("",!0)],4)):gn("",!0)]))}}),Os=xe(Ls,[["__scopeId","data-v-63d9891e"]]);export{Os as default};
@@ -1 +1 @@
1
- import{a8 as A,l as O,a9 as w,aa as V,ab as $,ac as H,ad as I,a as W,ae as x,m as j,af as G,ag as J,r as Q,ah as T,ai as X,y as Y,aj as Z,h as z,ak as K,B as L,al as k,am as tt}from"./DSCi2X5i.js";const et=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],at=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",B=[];class nt{_data=new E;_hash=new E([...et]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const a=this._nDataBytes*8,e=this._data.sigBytes*8;return this._data.words[e>>>5]|=128<<24-e%32,this._data.words[(e+64>>>9<<4)+14]=Math.floor(a/4294967296),this._data.words[(e+64>>>9<<4)+15]=a,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,a){const e=this._hash.words;let n=e[0],i=e[1],r=e[2],o=e[3],_=e[4],D=e[5],c=e[6],f=e[7];for(let u=0;u<64;u++){if(u<16)B[u]=t[a+u]|0;else{const v=B[u-15],h=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,l=B[u-2],P=(l<<15|l>>>17)^(l<<13|l>>>19)^l>>>10;B[u]=h+B[u-7]+P+B[u-16]}const b=_&D^~_&c,d=n&i^n&r^i&r,y=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),p=(_<<26|_>>>6)^(_<<21|_>>>11)^(_<<7|_>>>25),g=f+p+b+at[u]+B[u],m=y+d;f=c,c=D,D=_,_=o+g|0,o=r,r=i,i=n,n=g+m|0}e[0]=e[0]+n|0,e[1]=e[1]+i|0,e[2]=e[2]+r|0,e[3]=e[3]+o|0,e[4]=e[4]+_|0,e[5]=e[5]+D|0,e[6]=e[6]+c|0,e[7]=e[7]+f|0}_append(t){typeof t=="string"&&(t=E.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let a,e=this._data.sigBytes/64;t?e=Math.ceil(e):e=Math.max((e|0)-this._minBufferSize,0);const n=e*16,i=Math.min(n*4,this._data.sigBytes);if(n){for(let r=0;r<n;r+=16)this._doProcessBlock(this._data.words,r);a=this._data.words.splice(0,n),this._data.sigBytes-=i}return new E(a,i)}}class E{words;sigBytes;constructor(t,a){t=this.words=t||[],this.sigBytes=a===void 0?t.length*4:a}static fromUtf8(t){const a=unescape(encodeURIComponent(t)),e=a.length,n=[];for(let i=0;i<e;i++)n[i>>>2]|=(a.charCodeAt(i)&255)<<24-i%4*8;return new E(n,e)}toBase64(){const t=[];for(let a=0;a<this.sigBytes;a+=3){const e=this.words[a>>>2]>>>24-a%4*8&255,n=this.words[a+1>>>2]>>>24-(a+1)%4*8&255,i=this.words[a+2>>>2]>>>24-(a+2)%4*8&255,r=e<<16|n<<8|i;for(let o=0;o<4&&a*8+o*6<this.sigBytes*8;o++)t.push(st.charAt(r>>>6*(3-o)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let a=0;a<t.sigBytes;a++){const e=t.words[a>>>2]>>>24-a%4*8&255;this.words[this.sigBytes+a>>>2]|=e<<24-(this.sigBytes+a)%4*8}else for(let a=0;a<t.sigBytes;a+=4)this.words[this.sigBytes+a>>>2]=t.words[a>>>2];this.sigBytes+=t.sigBytes}}function rt(s){return new nt().finalize(s).toBase64()}function C(s){return rt(A(s))}const ot={trailing:!0};function it(s,t=25,a={}){if(a={...ot,...a},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let e,n,i=[],r,o;const _=(f,u)=>(r=ct(s,f,u),r.finally(()=>{if(r=null,a.trailing&&o&&!n){const b=_(f,o);return o=null,b}}),r),D=function(...f){return a.trailing&&(o=f),r||new Promise(u=>{const b=!n&&a.leading;clearTimeout(n),n=setTimeout(()=>{n=null;const d=a.leading?e:_(this,f);o=null;for(const y of i)y(d);i=[]},t),b?(e=_(this,f),u(e)):i.push(u)})},c=f=>{f&&(clearTimeout(f),n=null)};return D.isPending=()=>!!n,D.cancel=()=>{c(n),i=[],o=null},D.flush=()=>{if(c(n),!o||r)return;const f=o;return o=null,_(this,f)},D}async function ct(s,t,a){return await s.apply(t,a)}const lt=Symbol.for("nuxt:client-only");function ut(...s){const t=typeof s[s.length-1]=="string"?s.pop():void 0;ft(s[0],s[1])&&s.unshift(t);let[a,e,n={}]=s,i=!1;const r=O(()=>w(a));if(typeof r.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof e!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const o=V();n.server??=!0,n.default??=ht,n.getCachedData??=q,n.lazy??=!1,n.immediate??=!0,n.deep??=$.deep,n.dedupe??="cancel",n._functionName,o._asyncData[r.value];function _(){const d={cause:"initial",dedupe:n.dedupe};return o._asyncData[r.value]?._init||(d.cachedData=n.getCachedData(r.value,o,{cause:"initial"}),o._asyncData[r.value]=U(o,r.value,e,n,d.cachedData)),()=>o._asyncData[r.value].execute(d)}const D=_(),c=o._asyncData[r.value];c._deps++;const f=n.server!==!1&&o.payload.serverRendered;{let d=function(h){const l=o._asyncData[h];l?._deps&&(l._deps--,l._deps===0&&l?._off())};const y=H();if(y&&f&&n.immediate&&!y.sp&&(y.sp=[]),y&&!y._nuxtOnBeforeMountCbs){y._nuxtOnBeforeMountCbs=[];const h=y._nuxtOnBeforeMountCbs;I(()=>{h.forEach(l=>{l()}),h.splice(0,h.length)}),W(()=>h.splice(0,h.length))}const p=y&&(y._nuxtClientOnly||x(lt,!1));f&&o.isHydrating&&(c.error.value||c.data.value!==void 0)?c.status.value=c.error.value?"error":"success":y&&(!p&&o.payload.serverRendered&&o.isHydrating||n.lazy)&&n.immediate?y._nuxtOnBeforeMountCbs.push(D):n.immediate&&c.status.value!=="success"&&D();const g=J(),m=j(r,(h,l)=>{if((h||l)&&h!==l){i=!0;const P=o._asyncData[l]?.data.value!==void 0,F=o._asyncDataPromises[l]!==void 0,R={cause:"initial",dedupe:n.dedupe};if(!o._asyncData[h]?._init){let S;l&&P?S=o._asyncData[l].data.value:(S=n.getCachedData(h,o,{cause:"initial"}),R.cachedData=S),o._asyncData[h]=U(o,h,e,n,S)}o._asyncData[h]._deps++,l&&d(l),(n.immediate||P||F)&&o._asyncData[h].execute(R),K(()=>{i=!1})}},{flush:"sync"}),v=n.watch?j(n.watch,()=>{i||o._asyncData[r.value]?._execute({cause:"watch",dedupe:n.dedupe})}):()=>{};g&&G(()=>{m(),v(),d(r.value)})}const u={data:M(()=>o._asyncData[r.value]?.data),pending:M(()=>o._asyncData[r.value]?.pending),status:M(()=>o._asyncData[r.value]?.status),error:M(()=>o._asyncData[r.value]?.error),refresh:(...d)=>o._asyncData[r.value]?._init?o._asyncData[r.value].execute(...d):_()(),execute:(...d)=>u.refresh(...d),clear:()=>{const d=o._asyncData[r.value];if(d?._abortController)try{d._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{d._abortController=void 0}N(o,r.value)}},b=Promise.resolve(o._asyncDataPromises[r.value]).then(()=>u);return Object.assign(b,u),b}function M(s){return O({get(){return s()?.value},set(t){const a=s();a&&(a.value=t)}})}function ft(s,t){return!(typeof s=="string"||typeof s=="object"&&s!==null||typeof s=="function"&&typeof t=="function")}function N(s,t){t in s.payload.data&&(s.payload.data[t]=void 0),t in s.payload._errors&&(s.payload._errors[t]=void 0),s._asyncData[t]&&(s._asyncData[t].data.value=z(s._asyncData[t]._default()),s._asyncData[t].error.value=void 0,s._asyncData[t].status.value="idle"),t in s._asyncDataPromises&&(s._asyncDataPromises[t]=void 0)}function dt(s,t){const a={};for(const e of t)a[e]=s[e];return a}function U(s,t,a,e,n){s.payload._errors[t]??=void 0;const i=e.getCachedData!==q,r=a,o=e.deep?Q:T,_=n!==void 0,D=s.hook("app:data:refresh",async f=>{(!f||f.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:o(_?n:e.default()),pending:O(()=>c.status.value==="pending"),error:X(s.payload._errors,t),status:T("idle"),execute:(...f)=>{const[u,b=void 0]=f,d=u&&b===void 0&&typeof u=="object"?u:{};if(s._asyncDataPromises[t]&&(d.dedupe??e.dedupe)==="defer")return s._asyncDataPromises[t];{const g="cachedData"in d?d.cachedData:e.getCachedData(t,s,{cause:d.cause??"refresh:manual"});if(g!==void 0)return s.payload.data[t]=c.data.value=g,c.error.value=void 0,c.status.value="success",Promise.resolve(g)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,p=new Promise((g,m)=>{try{const v=d.timeout??e.timeout,h=_t([c._abortController?.signal,d?.signal],y.signal,v);if(h.aborted){const l=h.reason;m(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"));return}return h.addEventListener("abort",()=>{const l=h.reason;m(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(r(s,{signal:h})).then(g,m)}catch(v){m(v)}}).then(async g=>{let m=g;e.transform&&(m=await e.transform(g)),e.pick&&(m=dt(m,e.pick)),s.payload.data[t]=m,c.data.value=m,c.error.value=void 0,c.status.value="success"}).catch(g=>{if(s._asyncDataPromises[t]&&s._asyncDataPromises[t]!==p||c._abortController?.signal.aborted)return s._asyncDataPromises[t];if(typeof DOMException<"u"&&g instanceof DOMException&&g.name==="AbortError")return c.status.value="idle",s._asyncDataPromises[t];c.error.value=Z(g),c.data.value=z(e.default()),c.status.value="error"}).finally(()=>{y.abort(),delete s._asyncDataPromises[t]});return s._asyncDataPromises[t]=p,s._asyncDataPromises[t]},_execute:it((...f)=>c.execute(...f),0,{leading:!0}),_default:e.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{D(),s._asyncData[t]?._init&&(s._asyncData[t]._init=!1),i||Y(()=>{s._asyncData[t]?._init||(N(s,t),c.execute=()=>Promise.resolve())})}};return c}const ht=()=>{},q=(s,t,a)=>{if(t.isHydrating)return t.payload.data[s];if(a.cause!=="refresh:manual"&&a.cause!=="refresh:hook")return t.static.data[s]};function _t(s,t,a){const e=s.filter(r=>!!r);if(typeof a=="number"&&a>=0){const r=AbortSignal.timeout?.(a);r&&e.push(r)}if(AbortSignal.any)return AbortSignal.any(e);const n=new AbortController;for(const r of e)if(r.aborted){const o=r.reason??new DOMException("Aborted","AbortError");try{n.abort(o)}catch{n.abort()}return n.signal}const i=()=>{const o=e.find(_=>_.aborted)?.reason??new DOMException("Aborted","AbortError");try{n.abort(o)}catch{n.abort()}};for(const r of e)r.addEventListener?.("abort",i,{once:!0,signal:t});return n.signal}function Dt(s,t,a){const[e={},n]=typeof t=="string"?[{},t]:[t,a],i=O(()=>w(s)),r=O(()=>w(e.key)||"$f"+C([n,typeof i.value=="string"?i.value:"",...yt(e)]));if(!e.baseURL&&typeof i.value=="string"&&i.value[0]==="/"&&i.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:o,lazy:_,default:D,transform:c,pick:f,watch:u,immediate:b,getCachedData:d,deep:y,dedupe:p,timeout:g,...m}=e,v=L({...k,...m,cache:typeof e.cache=="boolean"?void 0:e.cache}),h={server:o,lazy:_,default:D,transform:c,pick:f,immediate:b,getCachedData:d,deep:y,dedupe:p,timeout:g,watch:u===!1?[]:[...u||[],v]};return ut(u===!1?r.value:r,(P,{signal:F})=>(e.$fetch||globalThis.$fetch)(i.value,{signal:F,...v}),h)}function yt(s){const t=[w(s.method)?.toUpperCase()||"GET",w(s.baseURL)];for(const a of[s.query||s.params]){const e=w(a);if(!e)continue;const n={};for(const[i,r]of Object.entries(e))n[w(i)]=w(r);t.push(n)}if(s.body){const a=w(s.body);if(!a)t.push(C(a));else if(a instanceof ArrayBuffer)t.push(C(Object.fromEntries([...new Uint8Array(a).entries()].map(([e,n])=>[e,n.toString()]))));else if(a instanceof FormData){const e={};for(const n of a.entries()){const[i,r]=n;e[i]=r instanceof File?r.name:r}t.push(C(e))}else if(tt(a))t.push(C(L(a)));else try{t.push(C(a))}catch{console.warn("[useFetch] Failed to hash body",a)}}return t}export{Dt as u};
1
+ import{a8 as A,m as O,a9 as w,aa as V,ab as $,ac as H,ad as I,a as W,ae as x,n as j,af as G,ag as J,r as Q,ah as T,ai as X,z as Y,aj as Z,h as z,ak as K,C as L,al as k,am as tt}from"./DvCAC3Uz.js";const et=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],at=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",B=[];class nt{_data=new E;_hash=new E([...et]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const a=this._nDataBytes*8,e=this._data.sigBytes*8;return this._data.words[e>>>5]|=128<<24-e%32,this._data.words[(e+64>>>9<<4)+14]=Math.floor(a/4294967296),this._data.words[(e+64>>>9<<4)+15]=a,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,a){const e=this._hash.words;let n=e[0],i=e[1],r=e[2],o=e[3],_=e[4],D=e[5],c=e[6],f=e[7];for(let u=0;u<64;u++){if(u<16)B[u]=t[a+u]|0;else{const v=B[u-15],h=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,l=B[u-2],P=(l<<15|l>>>17)^(l<<13|l>>>19)^l>>>10;B[u]=h+B[u-7]+P+B[u-16]}const b=_&D^~_&c,d=n&i^n&r^i&r,y=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),p=(_<<26|_>>>6)^(_<<21|_>>>11)^(_<<7|_>>>25),g=f+p+b+at[u]+B[u],m=y+d;f=c,c=D,D=_,_=o+g|0,o=r,r=i,i=n,n=g+m|0}e[0]=e[0]+n|0,e[1]=e[1]+i|0,e[2]=e[2]+r|0,e[3]=e[3]+o|0,e[4]=e[4]+_|0,e[5]=e[5]+D|0,e[6]=e[6]+c|0,e[7]=e[7]+f|0}_append(t){typeof t=="string"&&(t=E.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let a,e=this._data.sigBytes/64;t?e=Math.ceil(e):e=Math.max((e|0)-this._minBufferSize,0);const n=e*16,i=Math.min(n*4,this._data.sigBytes);if(n){for(let r=0;r<n;r+=16)this._doProcessBlock(this._data.words,r);a=this._data.words.splice(0,n),this._data.sigBytes-=i}return new E(a,i)}}class E{words;sigBytes;constructor(t,a){t=this.words=t||[],this.sigBytes=a===void 0?t.length*4:a}static fromUtf8(t){const a=unescape(encodeURIComponent(t)),e=a.length,n=[];for(let i=0;i<e;i++)n[i>>>2]|=(a.charCodeAt(i)&255)<<24-i%4*8;return new E(n,e)}toBase64(){const t=[];for(let a=0;a<this.sigBytes;a+=3){const e=this.words[a>>>2]>>>24-a%4*8&255,n=this.words[a+1>>>2]>>>24-(a+1)%4*8&255,i=this.words[a+2>>>2]>>>24-(a+2)%4*8&255,r=e<<16|n<<8|i;for(let o=0;o<4&&a*8+o*6<this.sigBytes*8;o++)t.push(st.charAt(r>>>6*(3-o)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let a=0;a<t.sigBytes;a++){const e=t.words[a>>>2]>>>24-a%4*8&255;this.words[this.sigBytes+a>>>2]|=e<<24-(this.sigBytes+a)%4*8}else for(let a=0;a<t.sigBytes;a+=4)this.words[this.sigBytes+a>>>2]=t.words[a>>>2];this.sigBytes+=t.sigBytes}}function rt(s){return new nt().finalize(s).toBase64()}function C(s){return rt(A(s))}const ot={trailing:!0};function it(s,t=25,a={}){if(a={...ot,...a},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let e,n,i=[],r,o;const _=(f,u)=>(r=ct(s,f,u),r.finally(()=>{if(r=null,a.trailing&&o&&!n){const b=_(f,o);return o=null,b}}),r),D=function(...f){return a.trailing&&(o=f),r||new Promise(u=>{const b=!n&&a.leading;clearTimeout(n),n=setTimeout(()=>{n=null;const d=a.leading?e:_(this,f);o=null;for(const y of i)y(d);i=[]},t),b?(e=_(this,f),u(e)):i.push(u)})},c=f=>{f&&(clearTimeout(f),n=null)};return D.isPending=()=>!!n,D.cancel=()=>{c(n),i=[],o=null},D.flush=()=>{if(c(n),!o||r)return;const f=o;return o=null,_(this,f)},D}async function ct(s,t,a){return await s.apply(t,a)}const lt=Symbol.for("nuxt:client-only");function ut(...s){const t=typeof s[s.length-1]=="string"?s.pop():void 0;ft(s[0],s[1])&&s.unshift(t);let[a,e,n={}]=s,i=!1;const r=O(()=>w(a));if(typeof r.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof e!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const o=V();n.server??=!0,n.default??=ht,n.getCachedData??=q,n.lazy??=!1,n.immediate??=!0,n.deep??=$.deep,n.dedupe??="cancel",n._functionName,o._asyncData[r.value];function _(){const d={cause:"initial",dedupe:n.dedupe};return o._asyncData[r.value]?._init||(d.cachedData=n.getCachedData(r.value,o,{cause:"initial"}),o._asyncData[r.value]=U(o,r.value,e,n,d.cachedData)),()=>o._asyncData[r.value].execute(d)}const D=_(),c=o._asyncData[r.value];c._deps++;const f=n.server!==!1&&o.payload.serverRendered;{let d=function(h){const l=o._asyncData[h];l?._deps&&(l._deps--,l._deps===0&&l?._off())};const y=H();if(y&&f&&n.immediate&&!y.sp&&(y.sp=[]),y&&!y._nuxtOnBeforeMountCbs){y._nuxtOnBeforeMountCbs=[];const h=y._nuxtOnBeforeMountCbs;I(()=>{h.forEach(l=>{l()}),h.splice(0,h.length)}),W(()=>h.splice(0,h.length))}const p=y&&(y._nuxtClientOnly||x(lt,!1));f&&o.isHydrating&&(c.error.value||c.data.value!==void 0)?c.status.value=c.error.value?"error":"success":y&&(!p&&o.payload.serverRendered&&o.isHydrating||n.lazy)&&n.immediate?y._nuxtOnBeforeMountCbs.push(D):n.immediate&&c.status.value!=="success"&&D();const g=J(),m=j(r,(h,l)=>{if((h||l)&&h!==l){i=!0;const P=o._asyncData[l]?.data.value!==void 0,F=o._asyncDataPromises[l]!==void 0,R={cause:"initial",dedupe:n.dedupe};if(!o._asyncData[h]?._init){let S;l&&P?S=o._asyncData[l].data.value:(S=n.getCachedData(h,o,{cause:"initial"}),R.cachedData=S),o._asyncData[h]=U(o,h,e,n,S)}o._asyncData[h]._deps++,l&&d(l),(n.immediate||P||F)&&o._asyncData[h].execute(R),K(()=>{i=!1})}},{flush:"sync"}),v=n.watch?j(n.watch,()=>{i||o._asyncData[r.value]?._execute({cause:"watch",dedupe:n.dedupe})}):()=>{};g&&G(()=>{m(),v(),d(r.value)})}const u={data:M(()=>o._asyncData[r.value]?.data),pending:M(()=>o._asyncData[r.value]?.pending),status:M(()=>o._asyncData[r.value]?.status),error:M(()=>o._asyncData[r.value]?.error),refresh:(...d)=>o._asyncData[r.value]?._init?o._asyncData[r.value].execute(...d):_()(),execute:(...d)=>u.refresh(...d),clear:()=>{const d=o._asyncData[r.value];if(d?._abortController)try{d._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{d._abortController=void 0}N(o,r.value)}},b=Promise.resolve(o._asyncDataPromises[r.value]).then(()=>u);return Object.assign(b,u),b}function M(s){return O({get(){return s()?.value},set(t){const a=s();a&&(a.value=t)}})}function ft(s,t){return!(typeof s=="string"||typeof s=="object"&&s!==null||typeof s=="function"&&typeof t=="function")}function N(s,t){t in s.payload.data&&(s.payload.data[t]=void 0),t in s.payload._errors&&(s.payload._errors[t]=void 0),s._asyncData[t]&&(s._asyncData[t].data.value=z(s._asyncData[t]._default()),s._asyncData[t].error.value=void 0,s._asyncData[t].status.value="idle"),t in s._asyncDataPromises&&(s._asyncDataPromises[t]=void 0)}function dt(s,t){const a={};for(const e of t)a[e]=s[e];return a}function U(s,t,a,e,n){s.payload._errors[t]??=void 0;const i=e.getCachedData!==q,r=a,o=e.deep?Q:T,_=n!==void 0,D=s.hook("app:data:refresh",async f=>{(!f||f.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:o(_?n:e.default()),pending:O(()=>c.status.value==="pending"),error:X(s.payload._errors,t),status:T("idle"),execute:(...f)=>{const[u,b=void 0]=f,d=u&&b===void 0&&typeof u=="object"?u:{};if(s._asyncDataPromises[t]&&(d.dedupe??e.dedupe)==="defer")return s._asyncDataPromises[t];{const g="cachedData"in d?d.cachedData:e.getCachedData(t,s,{cause:d.cause??"refresh:manual"});if(g!==void 0)return s.payload.data[t]=c.data.value=g,c.error.value=void 0,c.status.value="success",Promise.resolve(g)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,p=new Promise((g,m)=>{try{const v=d.timeout??e.timeout,h=_t([c._abortController?.signal,d?.signal],y.signal,v);if(h.aborted){const l=h.reason;m(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"));return}return h.addEventListener("abort",()=>{const l=h.reason;m(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(r(s,{signal:h})).then(g,m)}catch(v){m(v)}}).then(async g=>{let m=g;e.transform&&(m=await e.transform(g)),e.pick&&(m=dt(m,e.pick)),s.payload.data[t]=m,c.data.value=m,c.error.value=void 0,c.status.value="success"}).catch(g=>{if(s._asyncDataPromises[t]&&s._asyncDataPromises[t]!==p||c._abortController?.signal.aborted)return s._asyncDataPromises[t];if(typeof DOMException<"u"&&g instanceof DOMException&&g.name==="AbortError")return c.status.value="idle",s._asyncDataPromises[t];c.error.value=Z(g),c.data.value=z(e.default()),c.status.value="error"}).finally(()=>{y.abort(),delete s._asyncDataPromises[t]});return s._asyncDataPromises[t]=p,s._asyncDataPromises[t]},_execute:it((...f)=>c.execute(...f),0,{leading:!0}),_default:e.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{D(),s._asyncData[t]?._init&&(s._asyncData[t]._init=!1),i||Y(()=>{s._asyncData[t]?._init||(N(s,t),c.execute=()=>Promise.resolve())})}};return c}const ht=()=>{},q=(s,t,a)=>{if(t.isHydrating)return t.payload.data[s];if(a.cause!=="refresh:manual"&&a.cause!=="refresh:hook")return t.static.data[s]};function _t(s,t,a){const e=s.filter(r=>!!r);if(typeof a=="number"&&a>=0){const r=AbortSignal.timeout?.(a);r&&e.push(r)}if(AbortSignal.any)return AbortSignal.any(e);const n=new AbortController;for(const r of e)if(r.aborted){const o=r.reason??new DOMException("Aborted","AbortError");try{n.abort(o)}catch{n.abort()}return n.signal}const i=()=>{const o=e.find(_=>_.aborted)?.reason??new DOMException("Aborted","AbortError");try{n.abort(o)}catch{n.abort()}};for(const r of e)r.addEventListener?.("abort",i,{once:!0,signal:t});return n.signal}function Dt(s,t,a){const[e={},n]=typeof t=="string"?[{},t]:[t,a],i=O(()=>w(s)),r=O(()=>w(e.key)||"$f"+C([n,typeof i.value=="string"?i.value:"",...yt(e)]));if(!e.baseURL&&typeof i.value=="string"&&i.value[0]==="/"&&i.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:o,lazy:_,default:D,transform:c,pick:f,watch:u,immediate:b,getCachedData:d,deep:y,dedupe:p,timeout:g,...m}=e,v=L({...k,...m,cache:typeof e.cache=="boolean"?void 0:e.cache}),h={server:o,lazy:_,default:D,transform:c,pick:f,immediate:b,getCachedData:d,deep:y,dedupe:p,timeout:g,watch:u===!1?[]:[...u||[],v]};return ut(u===!1?r.value:r,(P,{signal:F})=>(e.$fetch||globalThis.$fetch)(i.value,{signal:F,...v}),h)}function yt(s){const t=[w(s.method)?.toUpperCase()||"GET",w(s.baseURL)];for(const a of[s.query||s.params]){const e=w(a);if(!e)continue;const n={};for(const[i,r]of Object.entries(e))n[w(i)]=w(r);t.push(n)}if(s.body){const a=w(s.body);if(!a)t.push(C(a));else if(a instanceof ArrayBuffer)t.push(C(Object.fromEntries([...new Uint8Array(a).entries()].map(([e,n])=>[e,n.toString()]))));else if(a instanceof FormData){const e={};for(const n of a.entries()){const[i,r]=n;e[i]=r instanceof File?r.name:r}t.push(C(e))}else if(tt(a))t.push(C(L(a)));else try{t.push(C(a))}catch{console.warn("[useFetch] Failed to hash body",a)}}return t}export{Dt as u};
@@ -0,0 +1 @@
1
+ import{_ as D}from"./CT9ZVcpr.js";import{d as E,H as F,r as h,x as v,m as I,n as L,v as N,c as i,f as R,e as t,h as a,t as c,A as x,D as B,E as V,I as O,F as U,q as W,b as m,_ as j}from"./DvCAC3Uz.js";import{d as q}from"./C0Rlrcoy.js";import{u as z}from"./Bl6DKdr9.js";import{u as J}from"./YduSsW3Y.js";import{u as y}from"./BwPqhjQb.js";import{u as P}from"./BF1FNKpo.js";import"./DMHPjZJ1.js";const Y={class:"issue-comments-page"},G={class:"comments-content card"},K=["placeholder"],Q=["disabled"],X={key:0,class:"loading"},Z={key:1,class:"empty"},ee={key:2,class:"comments-list"},te={class:"comment-header"},se={class:"comment-author"},oe={class:"comment-date"},ae=["innerHTML"],ne=E({__name:"comments",async setup(re){let s,l;const b=F(),{success:g,error:w}=z(),{getErrorMessage:$}=J(),u=b.params.id,o=h(""),d=h(!1),{data:n}=([s,l]=v(()=>y(`/api/issues/${u}`,"$sHdW2Rruhz")),s=await s,l(),s),C=I(()=>{if(!n.value)return null;const e={id:n.value.key,title:n.value.title,column:n.value.column_slug};return n.value.priority&&(e.priority=n.value.priority),e}),{data:p,status:k,refresh:_}=([s,l]=v(()=>y(`/api/issues/${u}/comments`,"$2TYRtwuSoA")),s=await s,l(),s),{lastMessage:S}=P();L(S,e=>{e?.type==="comment"&&e.issueId===u&&_()});const H=e=>new Date(e).toLocaleString(),M=e=>q(e),A=async()=>{if(o.value.trim()){d.value=!0;try{await fetch(`/api/issues/${u}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:o.value})}),o.value="",g("Comment added"),_()}catch(e){w($(e,"Failed to add comment"))}finally{d.value=!1}}};return N({title:`Comments - ${u} - AutoCode`}),(e,f)=>{const T=D;return m(),i("div",Y,[R(T,{issue:a(C),"active-tab":"comments"},null,8,["issue"]),t("div",G,[t("h2",null,c(e.$t("issue.comments")),1),t("form",{class:"comment-form",onSubmit:x(A,["prevent"])},[B(t("textarea",{"onUpdate:modelValue":f[0]||(f[0]=r=>O(o)?o.value=r:null),class:"form-input comment-input",placeholder:e.$t("issue.addComment"),rows:"3"},null,8,K),[[V,a(o)]]),t("button",{type:"submit",class:"btn btn-primary",disabled:!a(o).trim()||a(d)},c(e.$t("form.save")),9,Q)],32),a(k)==="pending"?(m(),i("div",X,c(e.$t("app.loading")),1)):a(p)?.length?(m(),i("ul",ee,[(m(!0),i(U,null,W(a(p),r=>(m(),i("li",{key:r.id,class:"comment"},[t("div",te,[t("span",se,c(r.author||"User"),1),t("time",oe,c(H(r.createdAt)),1)]),t("div",{class:"comment-body",innerHTML:M(r.content)},null,8,ae)]))),128))])):(m(),i("div",Z,c(e.$t("issue.noComments")),1))])])}}}),fe=j(ne,[["__scopeId","data-v-b988772a"]]);export{fe as default};
@@ -0,0 +1 @@
1
+ import{d,u as p,m as c,o as g,c as n,b as s,F as v,q as h,s as L,h as l,t as f,_ as S}from"./DvCAC3Uz.js";const b={class:"lang-switcher"},k=["title","onClick"],r="autocode-lang",w=d({__name:"LangSwitcher",setup(C){const{locale:a,locales:_,setLocale:u}=p(),i=c(()=>_.value),m=c(()=>a.value),o=async e=>{await u(e),localStorage.setItem(r,e),document.documentElement.lang=e};return g(()=>{const e=localStorage.getItem(r);e&&e!==a.value&&o(e),document.documentElement.lang=a.value}),(e,E)=>(s(),n("div",b,[(s(!0),n(v,null,h(l(i),t=>(s(),n("button",{key:t.code,class:L(["lang-btn",{active:l(m)===t.code}]),title:t.name,onClick:x=>o(t.code)},f(t.code.toUpperCase()),11,k))),128))]))}}),y=Object.assign(S(w,[["__scopeId","data-v-2d84a2aa"]]),{__name:"LangSwitcher"});export{y as _};
@@ -0,0 +1 @@
1
+ import{_ as v}from"./DMHPjZJ1.js";import{d as f,H as $,m as k,c as d,e as a,f as c,w as n,h as m,g as i,t as e,k as y,s as u,b as r,_}from"./DvCAC3Uz.js";const T={class:"issue-header"},g={class:"issue-info"},N={class:"issue-title"},C={class:"issue-id"},V={class:"issue-meta"},x={class:"column-name"},B={class:"issue-tabs"},H=f({__name:"IssueHeader",props:{issue:{},activeTab:{}},setup(s){const h=s,b=$(),l=k(()=>b.path.match(/\/issue\/[^/]+\/history\/[^/]+\/(terminal|prompt)$/)?{to:`/issue/${h.issue?.id}/history`,label:"issue.history"}:{to:"/kanban",label:"nav.kanban"});return(t,I)=>{const o=v;return r(),d("div",T,[a("div",g,[c(o,{to:m(l).to,class:"back-link"},{default:n(()=>[i(" ← "+e(t.$t(m(l).label)),1)]),_:1},8,["to"]),a("h1",N,[a("span",C,e(s.issue?.id),1),i(" "+e(s.issue?.title),1)]),a("div",V,[s.issue?.priority?(r(),d("span",{key:0,class:u(["badge",`badge-${s.issue.priority}`])},e(s.issue.priority),3)):y("",!0),a("span",x,e(s.issue?.column),1)])]),a("nav",B,[c(o,{to:`/issue/${s.issue?.id}`,class:u(["tab",{active:s.activeTab==="details"}])},{default:n(()=>[i(e(t.$t("issue.details")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/comments`,class:u(["tab",{active:s.activeTab==="comments"}])},{default:n(()=>[i(e(t.$t("issue.comments")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/history`,class:u(["tab",{active:s.activeTab==="history"}])},{default:n(()=>[i(e(t.$t("issue.history")),1)]),_:1},8,["to","class"]),c(o,{to:`/issue/${s.issue?.id}/terminal`,class:u(["tab",{active:s.activeTab==="terminal"}])},{default:n(()=>[i(e(t.$t("issue.terminal")),1)]),_:1},8,["to","class"])])])}}}),j=Object.assign(_(H,[["__scopeId","data-v-242cda85"]]),{__name:"IssueHeader"});export{j as _};
@@ -0,0 +1 @@
1
+ import{_ as k}from"./CT9ZVcpr.js";import{_ as b}from"./DMHPjZJ1.js";import{d as w,H as x,x as m,m as C,v as I,c as n,f as h,e as r,h as s,k as N,t as e,w as H,b as c,g as P,_ as V}from"./DvCAC3Uz.js";import{u as v}from"./BwPqhjQb.js";const A={class:"prompt-page"},B={class:"card"},D={class:"section-header"},E={class:"session-badge"},F={key:0,class:"column-badge"},S={key:0,class:"loading"},G={key:1,class:"error-message"},K={key:2,class:"empty"},L={key:3,class:"prompt-content"},O={class:"actions"},Q=w({__name:"prompt",async setup(R){let t,i;const u=x(),p=u.params.id,d=u.params.sessionId,{data:a}=([t,i]=m(()=>v(`/api/issues/${p}`,"$a3ca3_CGOD")),t=await t,i(),t),y=C(()=>{if(!a.value)return null;const o={id:a.value.key,title:a.value.title,column:a.value.column_slug};return a.value.priority&&(o.priority=a.value.priority),o}),{data:_,status:f,error:l}=([t,i]=m(()=>v(`/api/issues/${p}/history/${d}/prompt`,"$QrPKfenAcg")),t=await t,i(),t);return I({title:`Prompt ${d} - ${p} - AutoCode`}),(o,T)=>{const $=k,g=b;return c(),n("div",A,[h($,{issue:s(y),"active-tab":"history"},null,8,["issue"]),r("div",B,[r("div",D,[r("h2",null,e(o.$t("history.viewPrompt")),1),r("span",E,e(s(d)),1),s(_)?.column?(c(),n("span",F,e(s(_).column),1)):N("",!0)]),s(f)==="pending"?(c(),n("div",S,e(o.$t("app.loading")),1)):s(l)?(c(),n("div",G,e(s(l).message),1)):s(_)?.content?(c(),n("div",L,[r("pre",null,e(s(_).content),1)])):(c(),n("div",K,e(o.$t("column.noPrompt")),1))]),r("div",O,[h(g,{to:`/issue/${s(p)}/history`,class:"btn-secondary"},{default:H(()=>[P(e(o.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),M=V(Q,[["__scopeId","data-v-8b8841c6"]]);export{M as default};
@@ -0,0 +1 @@
1
+ import{_ as x}from"./CT9ZVcpr.js";import{_ as C}from"./DMHPjZJ1.js";import{d as T,H as F,x as h,m as I,v as L,c as a,f as v,e as n,h as e,k as V,t,F as D,q as H,w as B,b as i,s as S,g as X,_ as A}from"./DvCAC3Uz.js";import{u as y}from"./BwPqhjQb.js";const E={class:"terminal-page"},R={class:"card"},q={class:"section-header"},z={class:"session-badge"},J={key:0,class:"column-badge"},O={key:0,class:"loading"},W={key:1,class:"error-message"},Y={key:2,class:"empty"},j={key:3,class:"terminal-content"},G={class:"log-time"},K={class:"log-level"},M={class:"log-message"},P={class:"actions"},Q=T({__name:"terminal",async setup(U){let o,c;const p=F(),l=p.params.id,u=p.params.sessionId,{data:r}=([o,c]=h(()=>y(`/api/issues/${l}`,"$WXwXsy2rDm")),o=await o,c(),o),f=I(()=>{if(!r.value)return null;const s={id:r.value.key,title:r.value.title,column:r.value.column_slug};return r.value.priority&&(s.priority=r.value.priority),s}),{data:d,status:$,error:g}=([o,c]=h(()=>y(`/api/issues/${l}/history/${u}/log`,"$7VJyO-YXL0")),o=await o,c(),o),k=s=>{const m=new Date(s);return isNaN(m.getTime())?s:m.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",second:"2-digit"})};return L({title:`Terminal ${u} - ${l} - AutoCode`}),(s,m)=>{const w=x,b=C;return i(),a("div",E,[v(w,{issue:e(f),"active-tab":"history"},null,8,["issue"]),n("div",R,[n("div",q,[n("h2",null,t(s.$t("history.viewTerminal")),1),n("span",z,t(e(u)),1),e(d)?.column?(i(),a("span",J,t(e(d).column),1)):V("",!0)]),e($)==="pending"?(i(),a("div",O,t(s.$t("app.loading")),1)):e(g)?(i(),a("div",W,t(e(g).message),1)):e(d)?.logs?.length?(i(),a("div",j,[(i(!0),a(D,null,H(e(d).logs,(_,N)=>(i(),a("div",{key:N,class:S(["log-entry",`log-${_.level}`])},[n("span",G,t(k(_.timestamp)),1),n("span",K,t(_.level),1),n("span",M,t(_.message),1)],2))),128))])):(i(),a("div",Y,t(s.$t("terminal.noLogs")),1))]),n("div",P,[v(b,{to:`/issue/${e(l)}/history`,class:"btn-secondary"},{default:B(()=>[X(t(s.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),os=A(Q,[["__scopeId","data-v-608b488c"]]);export{os as default};
@@ -0,0 +1 @@
1
+ import{_ as F}from"./CT9ZVcpr.js";import{_ as T}from"./DMHPjZJ1.js";import{d as b,H as C,x as h,m as H,v as L,c as n,f as v,e as a,h as o,t as e,F as S,q as A,w as B,b as i,s as I,g as V,_ as D}from"./DvCAC3Uz.js";import{u as y}from"./BwPqhjQb.js";const E={class:"terminal-page"},R={class:"card"},U={class:"section-header"},j={class:"column-badge"},q={key:0,class:"loading"},z={key:1,class:"error-message"},M={key:2,class:"empty"},O={key:3,class:"terminal-content"},G={class:"log-time"},J={class:"log-level"},K={class:"log-message"},P={class:"actions"},Q=b({__name:"terminal",async setup(W){let t,c;const m=C(),l=m.params.id,d=m.params.column,{data:r}=([t,c]=h(()=>y(`/api/issues/${l}`,"$kO2jumUF-U")),t=await t,c(),t),f=H(()=>{if(!r.value)return null;const s={id:r.value.key,title:r.value.title,column:r.value.column_slug};return r.value.priority&&(s.priority=r.value.priority),s}),{data:p,status:$,error:g}=([t,c]=h(()=>y(`/api/issues/${l}/${d}/log`,"$kN3ufMrA3g")),t=await t,c(),t),k=s=>{const _=new Date(s);return isNaN(_.getTime())?s:_.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",second:"2-digit"})};return L({title:`Terminal ${d} - ${l} - AutoCode`}),(s,_)=>{const w=F,N=T;return i(),n("div",E,[v(w,{issue:o(f),"active-tab":"history"},null,8,["issue"]),a("div",R,[a("div",U,[a("h2",null,e(s.$t("history.viewTerminal")),1),a("span",j,e(o(d)),1)]),o($)==="pending"?(i(),n("div",q,e(s.$t("app.loading")),1)):o(g)?(i(),n("div",z,e(o(g).message),1)):o(p)?.length?(i(),n("div",O,[(i(!0),n(S,null,A(o(p),(u,x)=>(i(),n("div",{key:x,class:I(["log-entry",`log-${u.level}`])},[a("span",G,e(k(u.timestamp)),1),a("span",J,e(u.level),1),a("span",K,e(u.message),1)],2))),128))])):(i(),n("div",M,e(s.$t("terminal.noLogs")),1))]),a("div",P,[v(N,{to:`/issue/${o(l)}/history`,class:"btn-secondary"},{default:B(()=>[V(e(s.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),es=D(Q,[["__scopeId","data-v-8427ea96"]]);export{es as default};
@@ -1 +1 @@
1
- import{_ as L}from"./CWlxiWg5.js";import{_ as D}from"./CoH6AHzq.js";import{d as E,G as R,v as $,l as k,s as S,c as e,f as T,e as i,h as r,t as a,F as m,p as v,b as t,j as c,q as G,i as b,w,g as A,_ as P}from"./DSCi2X5i.js";import{u as H}from"./CrRHcnKi.js";const j={class:"issue-history-page"},q={class:"card"},z={class:"section-header"},J={class:"count"},K={key:0,class:"loading"},M={key:1,class:"error-message"},O={key:2,class:"empty"},Q={key:3,class:"history-list"},U={class:"history-main"},W={key:0,class:"history-from"},X={key:1,class:"history-arrow"},Y={class:"history-to"},Z={key:1,class:"history-changes"},ss={class:"change-field"},ts={class:"change-from"},os={class:"change-to"},es={key:0,class:"history-actions"},as={key:1,class:"session-badge"},is={class:"history-date"},rs=E({__name:"index",async setup(ns){let n,u;const d=R().params.id,{data:l}=([n,u]=$(()=>H(`/api/issues/${d}`,"$Rocr4faAHy")),n=await n,u(),n),I=k(()=>{if(!l.value)return null;const o={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(o.priority=l.value.priority),o}),{data:_,status:C,error:p}=([n,u]=$(()=>H(`/api/issues/${d}/history`,"$bELPvGg345")),n=await n,u(),n),F=k(()=>_.value?[..._.value].reverse():[]),N=o=>new Date(o).toLocaleDateString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}),f=o=>o||"";return S({title:`History - ${d} - AutoCode`}),(o,h)=>{const V=L,g=D;return t(),e("div",j,[T(V,{issue:r(I),"active-tab":"history"},null,8,["issue"]),i("div",q,[i("div",z,[i("h2",null,a(o.$t("issue.history")),1),i("span",J,"("+a(r(_)?.length||0)+")",1)]),r(C)==="pending"?(t(),e("div",K,a(o.$t("app.loading")),1)):r(p)?(t(),e("div",M,a(r(p).message),1)):r(_)?.length?(t(),e("ul",Q,[(t(!0),e(m,null,v(r(F),(s,x)=>(t(),e("li",{key:x,class:"history-item"},[i("div",U,[i("span",{class:G(["history-action",`history-action-${s.action}`])},a(o.$t(`history.action.${s.action}`)),3),s.action!=="edited"?(t(),e(m,{key:0},[s.from?(t(),e("span",W,a(s.from),1)):c("",!0),s.from?(t(),e("span",X,"→")):c("",!0),i("span",Y,a(s.to),1)],64)):s.changes?.length?(t(),e("div",Z,[(t(!0),e(m,null,v(s.changes,(y,B)=>(t(),e("div",{key:B,class:"history-change-item"},[i("span",ss,a(o.$t(`history.field.${y.field}`)),1),i("span",ts,a(f(y.from)||"∅"),1),h[0]||(h[0]=i("span",{class:"history-arrow"},"→",-1)),i("span",os,a(f(y.to)||"∅"),1)]))),128))])):c("",!0)]),s.artifactsAvailable?.prompt||s.artifactsAvailable?.terminal?(t(),e("div",es,[s.artifactsAvailable?.prompt?(t(),b(g,{key:0,to:`/issue/${r(d)}/history/${s.sessionId}/prompt`,class:"btn-action"},{default:w(()=>[A(a(o.$t("history.viewPrompt")),1)]),_:1},8,["to"])):c("",!0),s.artifactsAvailable?.terminal?(t(),b(g,{key:1,to:`/issue/${r(d)}/history/${s.sessionId}/terminal`,class:"btn-action"},{default:w(()=>[A(a(o.$t("history.viewTerminal")),1)]),_:1},8,["to"])):c("",!0)])):c("",!0),s.sessionId?(t(),e("span",as,a(s.sessionId),1)):c("",!0),i("time",is,a(N(s.at)),1)]))),128))])):(t(),e("div",O,a(o.$t("issue.noHistory")),1))])])}}}),hs=P(rs,[["__scopeId","data-v-e79c602e"]]);export{hs as default};
1
+ import{_ as L}from"./CT9ZVcpr.js";import{_ as D}from"./DMHPjZJ1.js";import{d as E,H as R,x as k,m as $,v as S,c as e,f as T,e as i,h as r,t as a,F as m,q as v,b as t,k as c,s as P,j as b,w,g as H,_ as j}from"./DvCAC3Uz.js";import{u as A}from"./BwPqhjQb.js";const q={class:"issue-history-page"},z={class:"card"},G={class:"section-header"},J={class:"count"},K={key:0,class:"loading"},M={key:1,class:"error-message"},O={key:2,class:"empty"},Q={key:3,class:"history-list"},U={class:"history-main"},W={key:0,class:"history-from"},X={key:1,class:"history-arrow"},Y={class:"history-to"},Z={key:1,class:"history-changes"},ss={class:"change-field"},ts={class:"change-from"},os={class:"change-to"},es={key:0,class:"history-actions"},as={key:1,class:"session-badge"},is={class:"history-date"},rs=E({__name:"index",async setup(ns){let n,u;const d=R().params.id,{data:l}=([n,u]=k(()=>A(`/api/issues/${d}`,"$Rocr4faAHy")),n=await n,u(),n),I=$(()=>{if(!l.value)return null;const o={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(o.priority=l.value.priority),o}),{data:_,status:C,error:p}=([n,u]=k(()=>A(`/api/issues/${d}/history`,"$bELPvGg345")),n=await n,u(),n),x=$(()=>_.value?[..._.value].reverse():[]),F=o=>new Date(o).toLocaleDateString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}),f=o=>o||"";return S({title:`History - ${d} - AutoCode`}),(o,h)=>{const N=L,g=D;return t(),e("div",q,[T(N,{issue:r(I),"active-tab":"history"},null,8,["issue"]),i("div",z,[i("div",G,[i("h2",null,a(o.$t("issue.history")),1),i("span",J,"("+a(r(_)?.length||0)+")",1)]),r(C)==="pending"?(t(),e("div",K,a(o.$t("app.loading")),1)):r(p)?(t(),e("div",M,a(r(p).message),1)):r(_)?.length?(t(),e("ul",Q,[(t(!0),e(m,null,v(r(x),(s,V)=>(t(),e("li",{key:V,class:"history-item"},[i("div",U,[i("span",{class:P(["history-action",`history-action-${s.action}`])},a(o.$t(`history.action.${s.action}`)),3),s.action!=="edited"?(t(),e(m,{key:0},[s.from?(t(),e("span",W,a(s.from),1)):c("",!0),s.from?(t(),e("span",X,"→")):c("",!0),i("span",Y,a(s.to),1)],64)):s.changes?.length?(t(),e("div",Z,[(t(!0),e(m,null,v(s.changes,(y,B)=>(t(),e("div",{key:B,class:"history-change-item"},[i("span",ss,a(o.$t(`history.field.${y.field}`)),1),i("span",ts,a(f(y.from)||"∅"),1),h[0]||(h[0]=i("span",{class:"history-arrow"},"→",-1)),i("span",os,a(f(y.to)||"∅"),1)]))),128))])):c("",!0)]),s.artifactsAvailable?.prompt||s.artifactsAvailable?.terminal?(t(),e("div",es,[s.artifactsAvailable?.prompt?(t(),b(g,{key:0,to:`/issue/${r(d)}/history/${s.sessionId}/prompt`,class:"btn-action"},{default:w(()=>[H(a(o.$t("history.viewPrompt")),1)]),_:1},8,["to"])):c("",!0),s.artifactsAvailable?.terminal?(t(),b(g,{key:1,to:`/issue/${r(d)}/history/${s.sessionId}/terminal`,class:"btn-action"},{default:w(()=>[H(a(o.$t("history.viewTerminal")),1)]),_:1},8,["to"])):c("",!0)])):c("",!0),s.sessionId?(t(),e("span",as,a(s.sessionId),1)):c("",!0),i("time",is,a(F(s.at)),1)]))),128))])):(t(),e("div",O,a(o.$t("issue.noHistory")),1))])])}}}),hs=j(rs,[["__scopeId","data-v-e79c602e"]]);export{hs as default};
@@ -1 +1 @@
1
- import{d as B,x as q,ah as O,r as T,aa as k,o as j,aq as N,ar as E,as as U,at as I,au as A,av as w,aw as D,ax as L,ay as F,l as b,az as _,aA as H,I as V,K as z,aB as M,aC as W,aD as $}from"./DSCi2X5i.js";const G=(...t)=>t.find(o=>o!==void 0);function K(t){const o=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,u,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return C(e,r);const l="path"in e&&e.path!==void 0?e.path:u(e).path;return{...e,name:void 0,path:C(l,r)}}function R(e){const u=q(),f=V(),r=b(()=>!!e.target&&e.target!=="_self"),l=b(()=>{const i=e.to||e.href||"";return typeof i=="string"&&_(i,{acceptRelative:!0})}),y=w("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,c=b(()=>{if(e.external)return!0;const i=e.to||e.href||"";return typeof i=="object"?!1:i===""||l.value}),n=b(()=>{const i=e.to||e.href||"";return c.value?i:S(i,u.resolve,e.trailingSlash)}),g=c.value?void 0:h?.({...e,to:n}),m=b(()=>{const i=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const p=typeof n.value=="object"&&"path"in n.value?L(n.value):n.value,x=typeof p=="object"?u.resolve(p).href:p;return C(x,i)}return typeof n.value=="object"?u.resolve(n.value)?.href??null:C(H(f.app.baseURL,n.value),i)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:m,isActive:g?.isActive??b(()=>n.value===u.currentRoute.value.path),isExactActive:g?.isExactActive??b(()=>n.value===u.currentRoute.value.path),route:g?.route??b(()=>u.resolve(n.value)),async navigate(i){await z(m.value,{replace:e.replace,external:c.value||r.value})}}}return B({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:R,setup(e,{slots:u}){const f=q(),{to:r,href:l,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=R(e),g=O(!1),m=T(null),i=s=>{m.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function p(s){return!g.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function x(s=k()){if(g.value)return;g.value=!0;const d=typeof r.value=="string"?r.value:h.value?L(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([s.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&F(r.value,f).catch(()=>{})])}if(p("visibility")){const s=k();let d,a=null;j(()=>{const P=Q();N(()=>{d=E(()=>{m?.value?.tagName&&(a=P.observe(m.value,async()=>{a?.(),a=null,await x(s)}))})})}),U(()=>{d&&I(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:i,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(p("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),g.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(w("RouterLink"),a,u.default)}const s=e.target||null,d=G(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?u.default?u.default({href:l.value,navigate:y,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return D(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:s,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:l.value||null,rel:d,target:s,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},u.default?.())}}})}const Z=K($);function C(t,o){const v=o==="append"?M:W;return _(t)&&!t.startsWith("http")?t:v(t,!0)}function Q(){const t=k();if(t._observer)return t._observer;let o=null;const v=new Map,S=(e,u)=>(o||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,u),o.observe(e),()=>{v.delete(e),o?.unobserve(e),v.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:S}}const J=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||J.test(t.effectiveType)))}export{Z as _};
1
+ import{d as B,y as q,ah as O,r as T,aa as k,o as j,aq as N,ar as E,as as U,at as D,au as A,av as w,aw as I,ax as L,ay as F,m as b,az as _,aA as H,i as V,K as z,aB as M,aC as W,aD as $}from"./DvCAC3Uz.js";const G=(...t)=>t.find(o=>o!==void 0);function K(t){const o=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,u,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return C(e,r);const l="path"in e&&e.path!==void 0?e.path:u(e).path;return{...e,name:void 0,path:C(l,r)}}function R(e){const u=q(),f=V(),r=b(()=>!!e.target&&e.target!=="_self"),l=b(()=>{const i=e.to||e.href||"";return typeof i=="string"&&_(i,{acceptRelative:!0})}),y=w("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,c=b(()=>{if(e.external)return!0;const i=e.to||e.href||"";return typeof i=="object"?!1:i===""||l.value}),n=b(()=>{const i=e.to||e.href||"";return c.value?i:S(i,u.resolve,e.trailingSlash)}),g=c.value?void 0:h?.({...e,to:n}),m=b(()=>{const i=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const p=typeof n.value=="object"&&"path"in n.value?L(n.value):n.value,x=typeof p=="object"?u.resolve(p).href:p;return C(x,i)}return typeof n.value=="object"?u.resolve(n.value)?.href??null:C(H(f.app.baseURL,n.value),i)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:m,isActive:g?.isActive??b(()=>n.value===u.currentRoute.value.path),isExactActive:g?.isExactActive??b(()=>n.value===u.currentRoute.value.path),route:g?.route??b(()=>u.resolve(n.value)),async navigate(i){await z(m.value,{replace:e.replace,external:c.value||r.value})}}}return B({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:R,setup(e,{slots:u}){const f=q(),{to:r,href:l,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=R(e),g=O(!1),m=T(null),i=s=>{m.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function p(s){return!g.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function x(s=k()){if(g.value)return;g.value=!0;const d=typeof r.value=="string"?r.value:h.value?L(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([s.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&F(r.value,f).catch(()=>{})])}if(p("visibility")){const s=k();let d,a=null;j(()=>{const P=Q();N(()=>{d=E(()=>{m?.value?.tagName&&(a=P.observe(m.value,async()=>{a?.(),a=null,await x(s)}))})})}),U(()=>{d&&D(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:i,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(p("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),g.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(w("RouterLink"),a,u.default)}const s=e.target||null,d=G(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?u.default?u.default({href:l.value,navigate:y,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return I(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:s,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:l.value||null,rel:d,target:s,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},u.default?.())}}})}const Z=K($);function C(t,o){const v=o==="append"?M:W;return _(t)&&!t.startsWith("http")?t:v(t,!0)}function Q(){const t=k();if(t._observer)return t._observer;let o=null;const v=new Map,S=(e,u)=>(o||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,u),o.observe(e),()=>{v.delete(e),o?.unobserve(e),v.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:S}}const J=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||J.test(t.effectiveType)))}export{Z as _};
@@ -1 +1 @@
1
- import{_ as _e}from"./CWlxiWg5.js";import{_ as he}from"./CoH6AHzq.js";import{d as fe,G as ye,x as ge,u as be,r as v,v as R,l as S,m as $e,s as ke,c as n,f as K,e as t,j as C,h as s,C as T,D as O,H as A,g as Q,t as a,E as W,F as L,p as H,q as Y,w as Ce,z as we,b as r,_ as Ee}from"./DSCi2X5i.js";import{d as De}from"./C0Rlrcoy.js";import{u as Me}from"./D7nf-00m.js";import{u as Pe}from"./CGP_mwJK.js";import{u as q}from"./CrRHcnKi.js";const Se={class:"issue-view-page"},Te={class:"issue-content"},Ve={class:"main-section"},Ne={class:"card title-card"},Ae={class:"title-row"},Le=["placeholder"],He=["disabled","title"],Ue={key:0,class:"spinner"},Oe={key:1,class:"sparkle"},Fe={class:"card"},Ie={class:"form-row"},Be={class:"form-group"},Je={class:"form-label",for:"edit-priority"},Re={value:""},qe={value:"low"},ze={value:"medium"},Xe={value:"high"},je={value:"critical"},Ge={class:"form-group"},Ke={class:"form-label",for:"edit-parent"},Qe=["placeholder"],We={id:"parent-suggestions"},Ye=["value"],Ze={class:"meta-badges"},xe={class:"meta-badge column-badge"},et={key:0,class:"meta-badge semver-badge"},tt={key:0,class:"card"},st={class:"labels-list"},at={class:"card"},it={class:"section-header"},ot=["innerHTML"],lt=["placeholder"],nt={class:"card"},rt={class:"section-header"},ct={key:0,class:"criteria-list"},ut={key:1,class:"empty-criteria"},dt={key:2,class:"criteria-edit"},vt=["onUpdate:modelValue","placeholder"],pt=["onClick"],mt={class:"actions-bar"},_t=["disabled"],ht=["disabled"],ft={key:2,class:"done-badge"},yt={class:"sidebar"},gt={class:"card"},bt={class:"action-buttons"},$t={class:"card"},kt={class:"metadata-list"},Ct={class:"metadata-item"},wt={class:"metadata-item"},Et={class:"metadata-item"},Dt={key:0,class:"card"},Mt={class:"modal"},Pt={class:"modal-header"},St={class:"modal-title"},Tt={class:"modal-body"},Vt=["value"],Nt={class:"modal-footer"},At=fe({__name:"index",async setup(Lt){let d,w;const Z=ye(),x=ge(),{t:_,locale:ee}=be(),{success:V,error:E}=Me(),{getErrorMessage:N}=Pe(),g=Z.params.id,D=v(!1),M=v(""),F=v(!1),U=v(!1),P=v(!1),h=v(!1),u=v(!1),c=v([]),{data:i,refresh:I}=([d,w]=R(()=>q(`/api/issues/${g}`,"$IXIJsCSqf0")),d=await d,w(),d),{data:b}=([d,w]=R(()=>q("/api/columns","$xdX8vE_27c")),d=await d,w(),d),{data:te}=([d,w]=R(()=>q("/api/issues","$81nxEVnLdN")),d=await d,w(),d),se=S(()=>(te.value||[]).filter(e=>e.key!==g).slice(0,10)),p=v(i.value?.title||""),f=v(i.value?.description||""),y=v(i.value?.priority||""),$=v(i.value?.parent_key||"");$e(i,e=>{e&&(p.value=e.title,f.value=e.description||"",y.value=e.priority||"",$.value=e.parent_key||"")});const z=S(()=>!i.value||!b.value?i.value?.column_slug||"":b.value.find(o=>o.slug===i.value?.column_slug)?.name||i.value.column_slug),B=S(()=>{if(!i.value||!b.value||b.value.length===0)return!1;const e=b.value[b.value.length-1];return i.value.column_slug===e?.slug}),ae=S(()=>{if(!i.value)return null;const e={id:i.value.key,title:p.value,column:i.value.column_slug};return i.value.priority&&(e.priority=i.value.priority),e}),X=S(()=>{if(!i.value)return!1;const e=p.value!==i.value.title,o=f.value!==(i.value.description||""),k=y.value!==(i.value.priority||""),J=$.value!==(i.value.parent_key||""),l=u.value&&JSON.stringify(c.value.filter(m=>m.trim()))!==JSON.stringify(i.value.acceptance_criteria||[]);return e||o||k||J||l}),ie=S(()=>{const e=h.value?f.value:i.value?.description||"";return e?De(e):`<span style="color: var(--text-muted)">${_("issue.noDescription")}</span>`}),j=e=>e?new Date(e).toLocaleDateString():"-",oe=()=>{h.value=!h.value},le=()=>{u.value||(c.value=[...i.value?.acceptance_criteria||[]],c.value.length===0&&(c.value=[""])),u.value=!u.value},ne=()=>{c.value.push("")},re=e=>{c.value.splice(e,1),c.value.length===0&&(c.value=[""])},ce=async()=>{if(!(!p.value.trim()||P.value)){P.value=!0;try{const e=u.value?c.value.filter(k=>k.trim()):i.value?.acceptance_criteria||[],o=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:p.value,lang:ee.value,description:f.value||void 0,priority:y.value||void 0,acceptance_criteria:e.length>0?e:void 0,parent_key:$.value||void 0}});if(o.description&&(f.value=o.description,h.value=!0),o.priority){const k={P0:"critical",P1:"high",P2:"medium",P3:"low"};y.value=k[o.priority]||o.priority}o.acceptance_criteria&&Array.isArray(o.acceptance_criteria)&&(c.value=o.acceptance_criteria.length>0?o.acceptance_criteria:[""],u.value=!0),V(_("autocomplete.rememberSave"))}catch(e){E(N(e,_("autocomplete.error")))}finally{P.value=!1}}},ue=async()=>{if(X.value){U.value=!0;try{const e={title:p.value,description:f.value,priority:y.value||void 0,parent_key:$.value||void 0};u.value&&(e.acceptance_criteria=c.value.filter(o=>o.trim())),await $fetch(`/api/issues/${g}`,{method:"PATCH",body:e}),V(_("notify.issueSaved")),h.value&&(h.value=!1),u.value&&(u.value=!1),I()}catch(e){E(N(e))}finally{U.value=!1}}},de=async()=>{F.value=!0;try{await $fetch(`/api/issues/${g}/next`,{method:"POST"}),V(_("notify.issueAdvanced")),I()}catch(e){E(N(e))}finally{F.value=!1}},ve=()=>{M.value=i.value?.column_slug||"",D.value=!0},pe=async()=>{if(!M.value){E(_("notify.error"));return}try{await $fetch(`/api/issues/${g}/move`,{method:"POST",body:{column:M.value,force:!0}}),V(_("notify.issueMoved")),D.value=!1,I()}catch(e){E(N(e))}},me=async()=>{if(confirm(_("issue.confirmArchive")))try{await $fetch(`/api/issues/${g}/archive`,{method:"DELETE"}),V(_("notify.issueArchived")),x.push("/")}catch(e){E(N(e))}};return ke({title:`${g} - AutoCode`}),(e,o)=>{const k=_e,J=he;return r(),n("div",Se,[K(k,{issue:s(ae),"active-tab":"details"},null,8,["issue"]),t("div",Te,[t("div",Ve,[t("div",Ne,[t("div",Ae,[T(t("input",{"onUpdate:modelValue":o[0]||(o[0]=l=>A(p)?p.value=l:null),type:"text",class:"title-input",placeholder:e.$t("issue.title")},null,8,Le),[[O,s(p)]]),t("button",{type:"button",class:"btn-autocomplete",disabled:s(P)||!s(p).trim(),title:e.$t("autocomplete.tooltip"),onClick:ce},[s(P)?(r(),n("span",Ue)):(r(),n("span",Oe,"✨")),Q(" "+a(s(P)?e.$t("autocomplete.loading"):e.$t("autocomplete.button")),1)],8,He)])]),t("div",Fe,[t("h2",null,a(e.$t("issue.metadata")),1),t("div",Ie,[t("div",Be,[t("label",Je,a(e.$t("issue.priority")),1),T(t("select",{id:"edit-priority","onUpdate:modelValue":o[1]||(o[1]=l=>A(y)?y.value=l:null),class:"form-input"},[t("option",Re,a(e.$t("form.select")),1),t("option",qe,a(e.$t("priority.low")),1),t("option",ze,a(e.$t("priority.medium")),1),t("option",Xe,a(e.$t("priority.high")),1),t("option",je,a(e.$t("priority.critical")),1)],512),[[W,s(y)]])]),t("div",Ge,[t("label",Ke,a(e.$t("issue.parent")),1),T(t("input",{id:"edit-parent","onUpdate:modelValue":o[2]||(o[2]=l=>A($)?$.value=l:null),type:"text",class:"form-input",placeholder:e.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Qe),[[O,s($)]]),t("datalist",We,[(r(!0),n(L,null,H(s(se),l=>(r(),n("option",{key:l.key,value:l.key},a(l.title),9,Ye))),128))])])]),t("div",Ze,[t("span",xe,a(s(z)),1),s(i)?.semver?(r(),n("span",et,a(s(i).semver),1)):C("",!0)])]),s(i)?.labels?.length?(r(),n("div",tt,[t("h2",null,a(e.$t("issue.labels")),1),t("div",st,[(r(!0),n(L,null,H(s(i).labels,(l,m)=>(r(),n("span",{key:m,class:"label-tag"},a(l),1))),128))])])):C("",!0),t("div",at,[t("div",it,[t("h2",null,a(e.$t("issue.description")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(h)}]),onClick:oe},a(s(h)?"✓":"✏️"),3)]),s(h)?T((r(),n("textarea",{key:1,"onUpdate:modelValue":o[3]||(o[3]=l=>A(f)?f.value=l:null),class:"description-edit",placeholder:e.$t("issue.description"),rows:"10"},null,8,lt)),[[O,s(f)]]):(r(),n("div",{key:0,class:"description",innerHTML:s(ie)},null,8,ot))]),t("div",nt,[t("div",rt,[t("h2",null,a(e.$t("issue.acceptanceCriteria")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(u)}]),onClick:le},a(s(u)?"✓":"✏️"),3)]),!s(u)&&s(i)?.acceptance_criteria?.length?(r(),n("ul",ct,[(r(!0),n(L,null,H(s(i).acceptance_criteria,(l,m)=>(r(),n("li",{key:m,class:"criteria-item"},a(l),1))),128))])):s(u)?(r(),n("div",dt,[(r(!0),n(L,null,H(s(c),(l,m)=>(r(),n("div",{key:m,class:"criteria-input-row"},[T(t("input",{"onUpdate:modelValue":G=>s(c)[m]=G,type:"text",class:"form-input",placeholder:e.$t("form.criteriaPlaceholder")},null,8,vt),[[O,s(c)[m]]]),t("button",{class:"btn-icon",type:"button",onClick:G=>re(m)},"×",8,pt)]))),128)),t("button",{class:"btn btn-secondary btn-sm",type:"button",onClick:ne}," + "+a(e.$t("form.addCriteria")),1)])):(r(),n("p",ut,a(e.$t("issue.noCriteria")),1))]),t("div",mt,[t("button",{class:"btn btn-primary",disabled:s(U)||!s(X),onClick:ue},a(s(U)?e.$t("form.saving"):e.$t("form.save")),9,_t),s(B)?C("",!0):(r(),n("button",{key:0,class:"btn btn-secondary",disabled:s(F),onClick:de},a(e.$t("issue.next"))+" → ",9,ht)),s(B)?C("",!0):(r(),n("button",{key:1,class:"btn btn-danger",onClick:me},a(e.$t("issue.archive")),1)),s(B)?(r(),n("span",ft," ✓ "+a(e.$t("issue.done")),1)):C("",!0)])]),t("aside",yt,[t("div",gt,[t("h3",null,a(e.$t("issue.actions")),1),t("div",bt,[t("button",{class:"btn btn-secondary",onClick:ve},a(e.$t("issue.move")),1)])]),t("div",$t,[t("h3",null,a(e.$t("issue.details")),1),t("dl",kt,[t("div",Ct,[t("dt",null,a(e.$t("issue.status")),1),t("dd",null,a(s(z)),1)]),t("div",wt,[t("dt",null,a(e.$t("issue.created")),1),t("dd",null,a(j(s(i)?.created_at)),1)]),t("div",Et,[t("dt",null,a(e.$t("issue.updated")),1),t("dd",null,a(j(s(i)?.updated_at)),1)])])]),s(i)?.parent_key?(r(),n("div",Dt,[t("h3",null,a(e.$t("issue.parent")),1),K(J,{to:`/issue/${s(i).parent_key}`,class:"parent-link"},{default:Ce(()=>[Q(a(s(i).parent_key),1)]),_:1},8,["to"])])):C("",!0)])]),s(D)?(r(),n("div",{key:0,class:"modal-overlay active",onClick:o[7]||(o[7]=we(l=>D.value=!1,["self"]))},[t("div",Mt,[t("div",Pt,[t("h3",St,a(e.$t("issue.move")),1),t("button",{class:"modal-close",onClick:o[4]||(o[4]=l=>D.value=!1)},"×")]),t("div",Tt,[T(t("select",{"onUpdate:modelValue":o[5]||(o[5]=l=>A(M)?M.value=l:null),class:"form-input"},[(r(!0),n(L,null,H(s(b),l=>(r(),n("option",{key:l.slug,value:l.slug},a(l.name),9,Vt))),128))],512),[[W,s(M)]])]),t("div",Nt,[t("button",{class:"btn btn-secondary",onClick:o[6]||(o[6]=l=>D.value=!1)},a(e.$t("modal.cancel")),1),t("button",{class:"btn btn-primary",onClick:pe},a(e.$t("modal.confirm")),1)])])])):C("",!0)])}}}),Rt=Ee(At,[["__scopeId","data-v-07b1c9a3"]]);export{Rt as default};
1
+ import{_ as _e}from"./CT9ZVcpr.js";import{_ as he}from"./DMHPjZJ1.js";import{d as fe,H as ye,y as ge,u as be,r as v,x as R,m as S,n as $e,v as ke,c as n,f as K,e as t,k as C,h as s,D as T,E as I,I as A,g as Q,t as a,G as W,F as L,q as H,s as Y,w as Ce,A as we,b as r,_ as Ee}from"./DvCAC3Uz.js";import{d as De}from"./C0Rlrcoy.js";import{u as Me}from"./Bl6DKdr9.js";import{u as Pe}from"./YduSsW3Y.js";import{u as q}from"./BwPqhjQb.js";const Se={class:"issue-view-page"},Te={class:"issue-content"},Ve={class:"main-section"},Ne={class:"card title-card"},Ae={class:"title-row"},Le=["placeholder"],He=["disabled","title"],Ue={key:0,class:"spinner"},Ie={key:1,class:"sparkle"},Oe={class:"card"},Fe={class:"form-row"},Be={class:"form-group"},Je={class:"form-label",for:"edit-priority"},Re={value:""},qe={value:"low"},Xe={value:"medium"},ze={value:"high"},Ge={value:"critical"},je={class:"form-group"},Ke={class:"form-label",for:"edit-parent"},Qe=["placeholder"],We={id:"parent-suggestions"},Ye=["value"],Ze={class:"meta-badges"},xe={class:"meta-badge column-badge"},et={key:0,class:"meta-badge semver-badge"},tt={key:0,class:"card"},st={class:"labels-list"},at={class:"card"},it={class:"section-header"},ot=["innerHTML"],lt=["placeholder"],nt={class:"card"},rt={class:"section-header"},ct={key:0,class:"criteria-list"},ut={key:1,class:"empty-criteria"},dt={key:2,class:"criteria-edit"},vt=["onUpdate:modelValue","placeholder"],pt=["onClick"],mt={class:"actions-bar"},_t=["disabled"],ht=["disabled"],ft={key:2,class:"done-badge"},yt={class:"sidebar"},gt={class:"card"},bt={class:"action-buttons"},$t={class:"card"},kt={class:"metadata-list"},Ct={class:"metadata-item"},wt={class:"metadata-item"},Et={class:"metadata-item"},Dt={key:0,class:"card"},Mt={class:"modal"},Pt={class:"modal-header"},St={class:"modal-title"},Tt={class:"modal-body"},Vt=["value"],Nt={class:"modal-footer"},At=fe({__name:"index",async setup(Lt){let d,w;const Z=ye(),x=ge(),{t:_,locale:ee}=be(),{success:V,error:E}=Me(),{getErrorMessage:N}=Pe(),g=Z.params.id,D=v(!1),M=v(""),O=v(!1),U=v(!1),P=v(!1),h=v(!1),u=v(!1),c=v([]),{data:i,refresh:F}=([d,w]=R(()=>q(`/api/issues/${g}`,"$IXIJsCSqf0")),d=await d,w(),d),{data:b}=([d,w]=R(()=>q("/api/columns","$xdX8vE_27c")),d=await d,w(),d),{data:te}=([d,w]=R(()=>q("/api/issues","$81nxEVnLdN")),d=await d,w(),d),se=S(()=>(te.value||[]).filter(e=>e.key!==g).slice(0,10)),p=v(i.value?.title||""),f=v(i.value?.description||""),y=v(i.value?.priority||""),$=v(i.value?.parent_key||"");$e(i,e=>{e&&(p.value=e.title,f.value=e.description||"",y.value=e.priority||"",$.value=e.parent_key||"")});const X=S(()=>!i.value||!b.value?i.value?.column_slug||"":b.value.find(o=>o.slug===i.value?.column_slug)?.name||i.value.column_slug),B=S(()=>{if(!i.value||!b.value||b.value.length===0)return!1;const e=b.value[b.value.length-1];return i.value.column_slug===e?.slug}),ae=S(()=>{if(!i.value)return null;const e={id:i.value.key,title:p.value,column:i.value.column_slug};return i.value.priority&&(e.priority=i.value.priority),e}),z=S(()=>{if(!i.value)return!1;const e=p.value!==i.value.title,o=f.value!==(i.value.description||""),k=y.value!==(i.value.priority||""),J=$.value!==(i.value.parent_key||""),l=u.value&&JSON.stringify(c.value.filter(m=>m.trim()))!==JSON.stringify(i.value.acceptance_criteria||[]);return e||o||k||J||l}),ie=S(()=>{const e=h.value?f.value:i.value?.description||"";return e?De(e):`<span style="color: var(--text-muted)">${_("issue.noDescription")}</span>`}),G=e=>e?new Date(e).toLocaleDateString():"-",oe=()=>{h.value=!h.value},le=()=>{u.value||(c.value=[...i.value?.acceptance_criteria||[]],c.value.length===0&&(c.value=[""])),u.value=!u.value},ne=()=>{c.value.push("")},re=e=>{c.value.splice(e,1),c.value.length===0&&(c.value=[""])},ce=async()=>{if(!(!p.value.trim()||P.value)){P.value=!0;try{const e=u.value?c.value.filter(k=>k.trim()):i.value?.acceptance_criteria||[],o=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:p.value,lang:ee.value,description:f.value||void 0,priority:y.value||void 0,acceptance_criteria:e.length>0?e:void 0,parent_key:$.value||void 0}});if(o.description&&(f.value=o.description,h.value=!0),o.priority){const k={P0:"critical",P1:"high",P2:"medium",P3:"low"};y.value=k[o.priority]||o.priority}o.acceptance_criteria&&Array.isArray(o.acceptance_criteria)&&(c.value=o.acceptance_criteria.length>0?o.acceptance_criteria:[""],u.value=!0),V(_("autocomplete.rememberSave"))}catch(e){E(N(e,_("autocomplete.error")))}finally{P.value=!1}}},ue=async()=>{if(z.value){U.value=!0;try{const e={title:p.value,description:f.value,priority:y.value||void 0,parent_key:$.value||void 0};u.value&&(e.acceptance_criteria=c.value.filter(o=>o.trim())),await $fetch(`/api/issues/${g}`,{method:"PATCH",body:e}),V(_("notify.issueSaved")),h.value&&(h.value=!1),u.value&&(u.value=!1),F()}catch(e){E(N(e))}finally{U.value=!1}}},de=async()=>{O.value=!0;try{await $fetch(`/api/issues/${g}/next`,{method:"POST"}),V(_("notify.issueAdvanced")),F()}catch(e){E(N(e))}finally{O.value=!1}},ve=()=>{M.value=i.value?.column_slug||"",D.value=!0},pe=async()=>{if(!M.value){E(_("notify.error"));return}try{await $fetch(`/api/issues/${g}/move`,{method:"POST",body:{column:M.value,force:!0}}),V(_("notify.issueMoved")),D.value=!1,F()}catch(e){E(N(e))}},me=async()=>{if(confirm(_("issue.confirmArchive")))try{await $fetch(`/api/issues/${g}/archive`,{method:"DELETE"}),V(_("notify.issueArchived")),x.push("/")}catch(e){E(N(e))}};return ke({title:`${g} - AutoCode`}),(e,o)=>{const k=_e,J=he;return r(),n("div",Se,[K(k,{issue:s(ae),"active-tab":"details"},null,8,["issue"]),t("div",Te,[t("div",Ve,[t("div",Ne,[t("div",Ae,[T(t("input",{"onUpdate:modelValue":o[0]||(o[0]=l=>A(p)?p.value=l:null),type:"text",class:"title-input",placeholder:e.$t("issue.title")},null,8,Le),[[I,s(p)]]),t("button",{type:"button",class:"btn-autocomplete",disabled:s(P)||!s(p).trim(),title:e.$t("autocomplete.tooltip"),onClick:ce},[s(P)?(r(),n("span",Ue)):(r(),n("span",Ie,"✨")),Q(" "+a(s(P)?e.$t("autocomplete.loading"):e.$t("autocomplete.button")),1)],8,He)])]),t("div",Oe,[t("h2",null,a(e.$t("issue.metadata")),1),t("div",Fe,[t("div",Be,[t("label",Je,a(e.$t("issue.priority")),1),T(t("select",{id:"edit-priority","onUpdate:modelValue":o[1]||(o[1]=l=>A(y)?y.value=l:null),class:"form-input"},[t("option",Re,a(e.$t("form.select")),1),t("option",qe,a(e.$t("priority.low")),1),t("option",Xe,a(e.$t("priority.medium")),1),t("option",ze,a(e.$t("priority.high")),1),t("option",Ge,a(e.$t("priority.critical")),1)],512),[[W,s(y)]])]),t("div",je,[t("label",Ke,a(e.$t("issue.parent")),1),T(t("input",{id:"edit-parent","onUpdate:modelValue":o[2]||(o[2]=l=>A($)?$.value=l:null),type:"text",class:"form-input",placeholder:e.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Qe),[[I,s($)]]),t("datalist",We,[(r(!0),n(L,null,H(s(se),l=>(r(),n("option",{key:l.key,value:l.key},a(l.title),9,Ye))),128))])])]),t("div",Ze,[t("span",xe,a(s(X)),1),s(i)?.semver?(r(),n("span",et,a(s(i).semver),1)):C("",!0)])]),s(i)?.labels?.length?(r(),n("div",tt,[t("h2",null,a(e.$t("issue.labels")),1),t("div",st,[(r(!0),n(L,null,H(s(i).labels,(l,m)=>(r(),n("span",{key:m,class:"label-tag"},a(l),1))),128))])])):C("",!0),t("div",at,[t("div",it,[t("h2",null,a(e.$t("issue.description")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(h)}]),onClick:oe},a(s(h)?"✓":"✏️"),3)]),s(h)?T((r(),n("textarea",{key:1,"onUpdate:modelValue":o[3]||(o[3]=l=>A(f)?f.value=l:null),class:"description-edit",placeholder:e.$t("issue.description"),rows:"10"},null,8,lt)),[[I,s(f)]]):(r(),n("div",{key:0,class:"description",innerHTML:s(ie)},null,8,ot))]),t("div",nt,[t("div",rt,[t("h2",null,a(e.$t("issue.acceptanceCriteria")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(u)}]),onClick:le},a(s(u)?"✓":"✏️"),3)]),!s(u)&&s(i)?.acceptance_criteria?.length?(r(),n("ul",ct,[(r(!0),n(L,null,H(s(i).acceptance_criteria,(l,m)=>(r(),n("li",{key:m,class:"criteria-item"},a(l),1))),128))])):s(u)?(r(),n("div",dt,[(r(!0),n(L,null,H(s(c),(l,m)=>(r(),n("div",{key:m,class:"criteria-input-row"},[T(t("input",{"onUpdate:modelValue":j=>s(c)[m]=j,type:"text",class:"form-input",placeholder:e.$t("form.criteriaPlaceholder")},null,8,vt),[[I,s(c)[m]]]),t("button",{class:"btn-icon",type:"button",onClick:j=>re(m)},"×",8,pt)]))),128)),t("button",{class:"btn btn-secondary btn-sm",type:"button",onClick:ne}," + "+a(e.$t("form.addCriteria")),1)])):(r(),n("p",ut,a(e.$t("issue.noCriteria")),1))]),t("div",mt,[t("button",{class:"btn btn-primary",disabled:s(U)||!s(z),onClick:ue},a(s(U)?e.$t("form.saving"):e.$t("form.save")),9,_t),s(B)?C("",!0):(r(),n("button",{key:0,class:"btn btn-secondary",disabled:s(O),onClick:de},a(e.$t("issue.next"))+" → ",9,ht)),s(B)?C("",!0):(r(),n("button",{key:1,class:"btn btn-danger",onClick:me},a(e.$t("issue.archive")),1)),s(B)?(r(),n("span",ft," ✓ "+a(e.$t("issue.done")),1)):C("",!0)])]),t("aside",yt,[t("div",gt,[t("h3",null,a(e.$t("issue.actions")),1),t("div",bt,[t("button",{class:"btn btn-secondary",onClick:ve},a(e.$t("issue.move")),1)])]),t("div",$t,[t("h3",null,a(e.$t("issue.details")),1),t("dl",kt,[t("div",Ct,[t("dt",null,a(e.$t("issue.status")),1),t("dd",null,a(s(X)),1)]),t("div",wt,[t("dt",null,a(e.$t("issue.created")),1),t("dd",null,a(G(s(i)?.created_at)),1)]),t("div",Et,[t("dt",null,a(e.$t("issue.updated")),1),t("dd",null,a(G(s(i)?.updated_at)),1)])])]),s(i)?.parent_key?(r(),n("div",Dt,[t("h3",null,a(e.$t("issue.parent")),1),K(J,{to:`/issue/${s(i).parent_key}`,class:"parent-link"},{default:Ce(()=>[Q(a(s(i).parent_key),1)]),_:1},8,["to"])])):C("",!0)])]),s(D)?(r(),n("div",{key:0,class:"modal-overlay active",onClick:o[7]||(o[7]=we(l=>D.value=!1,["self"]))},[t("div",Mt,[t("div",Pt,[t("h3",St,a(e.$t("issue.move")),1),t("button",{class:"modal-close",onClick:o[4]||(o[4]=l=>D.value=!1)},"×")]),t("div",Tt,[T(t("select",{"onUpdate:modelValue":o[5]||(o[5]=l=>A(M)?M.value=l:null),class:"form-input"},[(r(!0),n(L,null,H(s(b),l=>(r(),n("option",{key:l.slug,value:l.slug},a(l.name),9,Vt))),128))],512),[[W,s(M)]])]),t("div",Nt,[t("button",{class:"btn btn-secondary",onClick:o[6]||(o[6]=l=>D.value=!1)},a(e.$t("modal.cancel")),1),t("button",{class:"btn btn-primary",onClick:pe},a(e.$t("modal.confirm")),1)])])])):C("",!0)])}}}),Rt=Ee(At,[["__scopeId","data-v-07b1c9a3"]]);export{Rt as default};