@autocode-cli/autocode 0.24.2 → 0.26.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 (74) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CxCUB-jw.js → B5lFKq3G.js} +1 -1
  3. package/.output/public/_nuxt/{BB7mNyvB.js → BBMcfTGy.js} +1 -1
  4. package/.output/public/_nuxt/{vfCqvZ7p.js → BcawioR3.js} +1 -1
  5. package/.output/public/_nuxt/{DPY45j3g.js → Br7Y24-t.js} +1 -1
  6. package/.output/public/_nuxt/{BfvaD8zq.js → Btwtsr_u.js} +6 -6
  7. package/.output/public/_nuxt/{p0o0xQ7S.js → BvE9NWMw.js} +1 -1
  8. package/.output/public/_nuxt/{aL-hwrDv.js → C4itadaD.js} +1 -1
  9. package/.output/public/_nuxt/{C2zPiS0N.js → C4ybMJ7Z.js} +1 -1
  10. package/.output/public/_nuxt/{DerTgqhZ.js → C7Lp5NPF.js} +1 -1
  11. package/.output/public/_nuxt/{D3gHSFO1.js → CMcAFpoK.js} +1 -1
  12. package/.output/public/_nuxt/{C5qkUISE.js → CWZ6WSwr.js} +1 -1
  13. package/.output/public/_nuxt/{C9Z_Mjdv.js → CYH4f4uY.js} +1 -1
  14. package/.output/public/_nuxt/{BhrZFGnk.js → CuwYCM4v.js} +1 -1
  15. package/.output/public/_nuxt/{CG6fFX4R.js → CvcfIZU-.js} +1 -1
  16. package/.output/public/_nuxt/{DZQLsTee.js → CvmJj3tc.js} +1 -1
  17. package/.output/public/_nuxt/{aMXqd-8n.js → D-DgzaOC.js} +1 -1
  18. package/.output/public/_nuxt/{D44BzzMg.js → D2qvqRWP.js} +1 -1
  19. package/.output/public/_nuxt/{DrnWNKxr.js → D5ZS_G-Z.js} +1 -1
  20. package/.output/public/_nuxt/{CP8dHttY.js → D8M2gN6n.js} +1 -1
  21. package/.output/public/_nuxt/{jYOQFUDH.js → D90sdSc5.js} +1 -1
  22. package/.output/public/_nuxt/{Bz9WwRWr.js → DGmZExaA.js} +1 -1
  23. package/.output/public/_nuxt/{BbEo0CFB.js → DJIybA4c.js} +1 -1
  24. package/.output/public/_nuxt/{CQWl6TIZ.js → DXwIM0gJ.js} +1 -1
  25. package/.output/public/_nuxt/{CeVGNobe.js → DhNKaVRN.js} +1 -1
  26. package/.output/public/_nuxt/{Cu-0JJ8B.js → DkN85EyM.js} +1 -1
  27. package/.output/public/_nuxt/{BMvB5hkX.js → DmYbhlFa.js} +1 -1
  28. package/.output/public/_nuxt/{BcQFK3DA.js → DnOmfKyh.js} +1 -1
  29. package/.output/public/_nuxt/{BarhsfnG.js → DuqIS0qR.js} +1 -1
  30. package/.output/public/_nuxt/{DABo4_10.js → I-u8LDqX.js} +1 -1
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/234711bd-452d-42ba-9430-4d79ebc81813.json +1 -0
  33. package/.output/public/_nuxt/{Bu1-IDNY.js → nnCcRJrE.js} +1 -1
  34. package/.output/public/_nuxt/{8PJti6tf.js → oH1B3N8m.js} +1 -1
  35. package/.output/public/_payload.json +1 -1
  36. package/.output/public/index.html +1 -1
  37. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  38. package/.output/server/chunks/build/nuxt-link-Cq8xZgFP.mjs +1 -1
  39. package/.output/server/chunks/build/server.mjs +3 -3
  40. package/.output/server/chunks/build/styles.mjs +15 -15
  41. package/.output/server/chunks/nitro/nitro.mjs +244 -231
  42. package/.output/server/chunks/routes/_ws.mjs +1 -1
  43. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  44. package/.output/server/chunks/routes/api/index.post2.mjs +3 -1
  45. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  46. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  47. package/.output/server/chunks/routes/api/pipelines/_name/activate.put.mjs +1 -1
  48. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/activate.put.mjs +1 -1
  49. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/finalize.post.mjs +1 -1
  50. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.delete.mjs +1 -1
  51. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.get.mjs +1 -1
  52. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.put.mjs +1 -1
  53. package/.output/server/chunks/routes/api/pipelines/_name/versions.get.mjs +1 -1
  54. package/.output/server/chunks/routes/api/pipelines/_name/versions.post.mjs +1 -1
  55. package/.output/server/chunks/routes/api/pipelines/_name_.delete.mjs +1 -1
  56. package/.output/server/chunks/routes/api/pipelines/_name_.get.mjs +1 -1
  57. package/.output/server/chunks/routes/api/pipelines/_name_.put.mjs +1 -1
  58. package/.output/server/chunks/routes/api/stats.get.mjs +1 -1
  59. package/.output/server/chunks/routes/api/workflow/health.get.mjs +1 -1
  60. package/.output/server/chunks/routes/api/ws/status.get.mjs +1 -1
  61. package/.output/server/chunks/routes/renderer.mjs +1 -1
  62. package/.output/server/node_modules/.prisma/client/index.js +3 -2
  63. package/.output/server/node_modules/.prisma/client/package.json +1 -1
  64. package/.output/server/package.json +1 -1
  65. package/package.json +3 -3
  66. package/templates/prompts/_transition-decision.en.md +2 -1
  67. package/templates/prompts/_transition-decision.fr.md +18 -18
  68. package/templates/prompts/retest-cypress.en.md +15 -0
  69. package/templates/prompts/retest-cypress.fr.md +15 -0
  70. package/templates/prompts/testing-cypress.en.md +15 -0
  71. package/templates/prompts/testing-cypress.fr.md +15 -0
  72. package/.output/public/_nuxt/builds/meta/fda5642b-b71a-476c-9e0f-eb15a462e2fe.json +0 -1
  73. /package/.output/public/_i18n/{fC3ee0mv → JmX-ZbAb}/en/messages.json +0 -0
  74. /package/.output/public/_i18n/{fC3ee0mv → JmX-ZbAb}/fr/messages.json +0 -0
@@ -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"./BfvaD8zq.js";import{u as ve}from"./p0o0xQ7S.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,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"./Btwtsr_u.js";import{u as ve}from"./BvE9NWMw.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 +1 @@
1
- import{_ as T}from"./BhrZFGnk.js";import{u as U}from"./p0o0xQ7S.js";import{u as V,s as B}from"./vfCqvZ7p.js";import{d as D,u as K,r as L,v as M,m as E,o as R,a as j,l as b,s as q,c as l,e as s,f as z,w as g,t,j as r,h as o,q as H,F as h,p as I,b as n,g as k,i as W,_ as G}from"./BfvaD8zq.js";const J={class:"stats-page"},P={class:"page-header"},Q={class:"header-badges"},X={key:0,class:"badge badge-profile"},Y={key:1,class:"badge badge-model"},Z={key:0,class:"loading"},x={key:0,class:"processing-alert card"},ss={class:"processing-issues"},ts={class:"stats-grid"},es={class:"stat-card card"},as={class:"stat-value"},os={class:"stat-breakdown"},ns={class:"breakdown-item"},ls={class:"label"},is={class:"value"},ds={class:"breakdown-item"},cs={class:"label"},rs={class:"value"},us={class:"stat-footer"},_s={class:"calls-count"},ps={class:"cost-value"},hs={key:0,class:"started-at"},ks={class:"stat-card card"},vs={class:"stat-value"},fs={class:"stat-breakdown"},ms={class:"breakdown-item"},ys={class:"label"},$s={class:"value"},bs={class:"breakdown-item"},gs={class:"label"},Is={class:"value"},ws={class:"stat-footer"},Cs={class:"calls-count"},As={class:"cost-value"},Fs={class:"stat-card card info-card"},Os={class:"cost-explanation"},Ns={class:"card history-card"},Ss={key:0,class:"empty"},Ts={key:1,class:"table-container"},Us={class:"history-table"},Vs={key:1,class:"text-muted"},Bs={class:"cost-cell"},Ds=D({__name:"stats",async setup(Ks){let c,v;const{locale:w}=K(),u=L(!1),{data:a,status:C,refresh:f}=([c,v]=M(()=>U("/api/stats","$ygpy_aVKAm")),c=await c,v(),c),{lastMessage:A}=V();E(A,e=>{(e?.type==="claude_end"||e?.type==="stats-update"||e?.type==="refresh")&&(u.value=!0,f().finally(()=>{u.value=!1}))});let _;R(()=>{_=B(()=>{f()},5e3)}),j(()=>{_&&clearInterval(_)});const F=b(()=>(a.value?.session?.tokensInput||0)+(a.value?.session?.tokensOutput||0)),O=b(()=>(a.value?.totals?.tokensInput||0)+(a.value?.totals?.tokensOutput||0)),d=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),p=e=>e.toFixed(4),N=e=>e?e<1e3?e+"ms":(e/1e3).toFixed(1)+"s":"-",m=e=>e?new Date(e).toLocaleString(w.value==="fr"?"fr-FR":"en-US"):"-";return q({title:"Statistics - AutoCode"}),(e,y)=>{const $=T;return n(),l("div",J,[s("header",P,[z($,{to:"/kanban",class:"back-link"},{default:g(()=>[k(" ← "+t(e.$t("stats.backToKanban")),1)]),_:1}),s("h1",null,t(e.$t("stats.title")),1),s("div",Q,[o(a)?.profile?(n(),l("span",X,t(o(a).profile),1)):r("",!0),o(a)?.model?(n(),l("span",Y,t(o(a).model),1)):r("",!0),s("span",{class:H(["refresh-indicator",{active:o(u)}])},null,2)])]),o(C)==="pending"?(n(),l("div",Z,t(e.$t("kanban.loading")),1)):(n(),l(h,{key:1},[o(a)?.processingIssues?.length?(n(),l("div",x,[s("h3",null,t(e.$t("stats.processing")),1),s("div",ss,[(n(!0),l(h,null,I(o(a).processingIssues,i=>(n(),l("span",{key:i,class:"processing-badge"},[y[0]||(y[0]=s("span",{class:"dot-pulse"},null,-1)),k(" "+t(i),1)]))),128))])])):r("",!0),s("div",ts,[s("div",es,[s("h2",null,t(e.$t("stats.session")),1),s("div",as,t(d(o(F))),1),s("div",os,[s("div",ns,[s("span",ls,t(e.$t("stats.tokensInput")),1),s("span",is,t(d(o(a)?.session?.tokensInput||0)),1)]),s("div",ds,[s("span",cs,t(e.$t("stats.tokensOutput")),1),s("span",rs,t(d(o(a)?.session?.tokensOutput||0)),1)])]),s("div",us,[s("span",_s,t(o(a)?.session?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",ps,"$"+t(p(o(a)?.session?.costUsd||0)),1)]),o(a)?.session?.startedAt?(n(),l("div",hs,t(e.$t("stats.startedAt"))+": "+t(m(o(a).session.startedAt)),1)):r("",!0)]),s("div",ks,[s("h2",null,t(e.$t("stats.totals")),1),s("div",vs,t(d(o(O))),1),s("div",fs,[s("div",ms,[s("span",ys,t(e.$t("stats.tokensInput")),1),s("span",$s,t(d(o(a)?.totals?.tokensInput||0)),1)]),s("div",bs,[s("span",gs,t(e.$t("stats.tokensOutput")),1),s("span",Is,t(d(o(a)?.totals?.tokensOutput||0)),1)])]),s("div",ws,[s("span",Cs,t(o(a)?.totals?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",As,"$"+t(p(o(a)?.totals?.costUsd||0)),1)])]),s("div",Fs,[s("h2",null,t(e.$t("stats.cost")),1),s("p",Os,t(e.$t("stats.costExplanation")),1)])]),s("div",Ns,[s("h2",null,t(e.$t("stats.recentActivity")),1),o(a)?.history?.length?(n(),l("div",Ts,[s("table",Us,[s("thead",null,[s("tr",null,[s("th",null,t(e.$t("stats.issue")),1),s("th",null,t(e.$t("stats.column")),1),s("th",null,t(e.$t("stats.tokensInput")),1),s("th",null,t(e.$t("stats.tokensOutput")),1),s("th",null,t(e.$t("stats.cost")),1),s("th",null,t(e.$t("stats.duration")),1),s("th",null,t(e.$t("stats.date")),1)])]),s("tbody",null,[(n(!0),l(h,null,I(o(a).history,(i,S)=>(n(),l("tr",{key:S},[s("td",null,[i.issue?(n(),W($,{key:0,to:`/issue/${i.issue}`,class:"issue-link"},{default:g(()=>[k(t(i.issue),1)]),_:2},1032,["to"])):(n(),l("span",Vs,"-"))]),s("td",null,t(i.column||"-"),1),s("td",null,t(d(i.tokensInput)),1),s("td",null,t(d(i.tokensOutput)),1),s("td",Bs,"$"+t(p(i.costUsd||0)),1),s("td",null,t(N(i.duration)),1),s("td",null,t(m(i.timestamp)),1)]))),128))])])])):(n(),l("div",Ss,t(e.$t("stats.noActivity")),1))])],64))])}}}),js=G(Ds,[["__scopeId","data-v-3e093864"]]);export{js as default};
1
+ import{_ as T}from"./CuwYCM4v.js";import{u as U}from"./BvE9NWMw.js";import{u as V,s as B}from"./BcawioR3.js";import{d as D,u as K,r as L,v as M,m as E,o as R,a as j,l as b,s as q,c as l,e as s,f as z,w as g,t,j as r,h as o,q as H,F as h,p as I,b as n,g as k,i as W,_ as G}from"./Btwtsr_u.js";const J={class:"stats-page"},P={class:"page-header"},Q={class:"header-badges"},X={key:0,class:"badge badge-profile"},Y={key:1,class:"badge badge-model"},Z={key:0,class:"loading"},x={key:0,class:"processing-alert card"},ss={class:"processing-issues"},ts={class:"stats-grid"},es={class:"stat-card card"},as={class:"stat-value"},os={class:"stat-breakdown"},ns={class:"breakdown-item"},ls={class:"label"},is={class:"value"},ds={class:"breakdown-item"},cs={class:"label"},rs={class:"value"},us={class:"stat-footer"},_s={class:"calls-count"},ps={class:"cost-value"},hs={key:0,class:"started-at"},ks={class:"stat-card card"},vs={class:"stat-value"},fs={class:"stat-breakdown"},ms={class:"breakdown-item"},ys={class:"label"},$s={class:"value"},bs={class:"breakdown-item"},gs={class:"label"},Is={class:"value"},ws={class:"stat-footer"},Cs={class:"calls-count"},As={class:"cost-value"},Fs={class:"stat-card card info-card"},Os={class:"cost-explanation"},Ns={class:"card history-card"},Ss={key:0,class:"empty"},Ts={key:1,class:"table-container"},Us={class:"history-table"},Vs={key:1,class:"text-muted"},Bs={class:"cost-cell"},Ds=D({__name:"stats",async setup(Ks){let c,v;const{locale:w}=K(),u=L(!1),{data:a,status:C,refresh:f}=([c,v]=M(()=>U("/api/stats","$ygpy_aVKAm")),c=await c,v(),c),{lastMessage:A}=V();E(A,e=>{(e?.type==="claude_end"||e?.type==="stats-update"||e?.type==="refresh")&&(u.value=!0,f().finally(()=>{u.value=!1}))});let _;R(()=>{_=B(()=>{f()},5e3)}),j(()=>{_&&clearInterval(_)});const F=b(()=>(a.value?.session?.tokensInput||0)+(a.value?.session?.tokensOutput||0)),O=b(()=>(a.value?.totals?.tokensInput||0)+(a.value?.totals?.tokensOutput||0)),d=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),p=e=>e.toFixed(4),N=e=>e?e<1e3?e+"ms":(e/1e3).toFixed(1)+"s":"-",m=e=>e?new Date(e).toLocaleString(w.value==="fr"?"fr-FR":"en-US"):"-";return q({title:"Statistics - AutoCode"}),(e,y)=>{const $=T;return n(),l("div",J,[s("header",P,[z($,{to:"/kanban",class:"back-link"},{default:g(()=>[k(" ← "+t(e.$t("stats.backToKanban")),1)]),_:1}),s("h1",null,t(e.$t("stats.title")),1),s("div",Q,[o(a)?.profile?(n(),l("span",X,t(o(a).profile),1)):r("",!0),o(a)?.model?(n(),l("span",Y,t(o(a).model),1)):r("",!0),s("span",{class:H(["refresh-indicator",{active:o(u)}])},null,2)])]),o(C)==="pending"?(n(),l("div",Z,t(e.$t("kanban.loading")),1)):(n(),l(h,{key:1},[o(a)?.processingIssues?.length?(n(),l("div",x,[s("h3",null,t(e.$t("stats.processing")),1),s("div",ss,[(n(!0),l(h,null,I(o(a).processingIssues,i=>(n(),l("span",{key:i,class:"processing-badge"},[y[0]||(y[0]=s("span",{class:"dot-pulse"},null,-1)),k(" "+t(i),1)]))),128))])])):r("",!0),s("div",ts,[s("div",es,[s("h2",null,t(e.$t("stats.session")),1),s("div",as,t(d(o(F))),1),s("div",os,[s("div",ns,[s("span",ls,t(e.$t("stats.tokensInput")),1),s("span",is,t(d(o(a)?.session?.tokensInput||0)),1)]),s("div",ds,[s("span",cs,t(e.$t("stats.tokensOutput")),1),s("span",rs,t(d(o(a)?.session?.tokensOutput||0)),1)])]),s("div",us,[s("span",_s,t(o(a)?.session?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",ps,"$"+t(p(o(a)?.session?.costUsd||0)),1)]),o(a)?.session?.startedAt?(n(),l("div",hs,t(e.$t("stats.startedAt"))+": "+t(m(o(a).session.startedAt)),1)):r("",!0)]),s("div",ks,[s("h2",null,t(e.$t("stats.totals")),1),s("div",vs,t(d(o(O))),1),s("div",fs,[s("div",ms,[s("span",ys,t(e.$t("stats.tokensInput")),1),s("span",$s,t(d(o(a)?.totals?.tokensInput||0)),1)]),s("div",bs,[s("span",gs,t(e.$t("stats.tokensOutput")),1),s("span",Is,t(d(o(a)?.totals?.tokensOutput||0)),1)])]),s("div",ws,[s("span",Cs,t(o(a)?.totals?.callCount||0)+" "+t(e.$t("stats.calls")),1),s("span",As,"$"+t(p(o(a)?.totals?.costUsd||0)),1)])]),s("div",Fs,[s("h2",null,t(e.$t("stats.cost")),1),s("p",Os,t(e.$t("stats.costExplanation")),1)])]),s("div",Ns,[s("h2",null,t(e.$t("stats.recentActivity")),1),o(a)?.history?.length?(n(),l("div",Ts,[s("table",Us,[s("thead",null,[s("tr",null,[s("th",null,t(e.$t("stats.issue")),1),s("th",null,t(e.$t("stats.column")),1),s("th",null,t(e.$t("stats.tokensInput")),1),s("th",null,t(e.$t("stats.tokensOutput")),1),s("th",null,t(e.$t("stats.cost")),1),s("th",null,t(e.$t("stats.duration")),1),s("th",null,t(e.$t("stats.date")),1)])]),s("tbody",null,[(n(!0),l(h,null,I(o(a).history,(i,S)=>(n(),l("tr",{key:S},[s("td",null,[i.issue?(n(),W($,{key:0,to:`/issue/${i.issue}`,class:"issue-link"},{default:g(()=>[k(t(i.issue),1)]),_:2},1032,["to"])):(n(),l("span",Vs,"-"))]),s("td",null,t(i.column||"-"),1),s("td",null,t(d(i.tokensInput)),1),s("td",null,t(d(i.tokensOutput)),1),s("td",Bs,"$"+t(p(i.costUsd||0)),1),s("td",null,t(N(i.duration)),1),s("td",null,t(m(i.timestamp)),1)]))),128))])])])):(n(),l("div",Ss,t(e.$t("stats.noActivity")),1))])],64))])}}}),js=G(Ds,[["__scopeId","data-v-3e093864"]]);export{js as default};
@@ -1 +1 @@
1
- import{d as m,r as $,o as O,a as G,c as r,b as d,_ as A,u as f,e as n,f as g,w as S,g as T,t as e,h as o,i as E,j as F,k as I,l as P,m as U,n as X,F as w,p as x,q as R,s as Y}from"./BfvaD8zq.js";import{_ as D}from"./BhrZFGnk.js";import{_ as J}from"./DrnWNKxr.js";const K=m({__name:"LandingMatrixBg",setup(h){const t=$(null),l=['autocode new "Fix login bug" -p P1',"autocode serve --expose","autocode next AC-000042","autocode move AC-000001 review","autocode pipeline show default","autocode stats --session","autocode health --verbose","autocode list --tree","autocode history AC-000015 --full",'autocode comment AC-000003 "Done"',"autocode catalog add security-audit","autocode init && autocode serve","GET /api/issues?column=in-progress","POST /api/issues { title, priority }","PATCH /api/issues/AC-000001","POST /api/issues/:id/next","GET /api/pipelines/default","GET /api/workflow/health","POST /api/issues/:id/comments","GET /api/stats",'claude -p "Review this code"','claude -p "Fix the failing tests"','claude -p "Add security validation"','claude -p "Refactor for clarity"',"await claude.execute(prompt)",'claude --model opus "Analyze"',"pipeline.advance(issue)","if (review.passed) next()","while (!tests.green) retry()","bestPractices.validate(code)","security.audit(changes)","duplication.detect(diff)","consistency.check(style)","prisma.issue.findMany()","prisma.issue.update({ data })","await prisma.$transaction()","SELECT * FROM issues WHERE done"],i=["rgba(99, 102, 241, ","rgba(139, 92, 246, ","rgba(168, 85, 247, ","rgba(192, 132, 252, ","rgba(236, 72, 153, "];let a=[],s=null;function v(){const _=t.value;if(!_)return;const L=()=>{_.width=window.innerWidth,_.height=window.innerHeight};L(),window.addEventListener("resize",L);const u=_.getContext("2d");if(!u)return;const z=Math.floor(window.innerWidth/60);a=[];for(let C=0;C<z;C++)b(_.width,_.height);function B(){if(!u||!_)return;u.clearRect(0,0,_.width,_.height);const C=Date.now();for(let M=a.length-1;M>=0;M--){const c=a[M];if(c.phase==="writing")c.charIndex+=c.speed*.5,c.charIndex>=c.text.length&&(c.phase="visible",c.visibleTime=C);else if(c.phase==="visible")C-c.visibleTime>300+Math.random()*500&&(c.phase="fading");else if(c.phase==="fading"&&(c.opacity-=.03*c.speed,c.opacity<=0)){a.splice(M,1),b(_.width,_.height);continue}u.font=`${c.fontSize}px 'JetBrains Mono', 'Fira Code', monospace`;const H=c.text.substring(0,Math.floor(c.charIndex));if(u.shadowColor=c.color+"0.5)",u.shadowBlur=8,u.fillStyle=c.color+(c.opacity*.8).toFixed(2)+")",u.fillText(H,c.x,c.y),u.shadowBlur=0,u.fillStyle=c.color+c.opacity.toFixed(2)+")",u.fillText(H,c.x,c.y),c.phase==="writing"&&Math.floor(C/100)%2===0){const j=c.x+u.measureText(H).width;u.fillStyle=c.color+"0.9)",u.fillRect(j+2,c.y-c.fontSize+4,2,c.fontSize)}}s=requestAnimationFrame(B)}B()}function b(_,L){const u=10+Math.random()*6,z=l[Math.floor(Math.random()*l.length)];a.push({x:Math.random()*(_-300),y:50+Math.random()*(L-100),text:z,charIndex:0,opacity:.2+Math.random()*.4,speed:.5+Math.random()*3.5,color:i[Math.floor(Math.random()*i.length)],phase:"writing",visibleTime:0,fontSize:u})}return O(()=>{v()}),G(()=>{s&&cancelAnimationFrame(s)}),(_,L)=>(d(),r("canvas",{ref_key:"canvasRef",ref:t,class:"landing-matrix-bg","aria-hidden":"true"},null,512))}}),Q=Object.assign(A(K,[["__scopeId","data-v-b5216f08"]]),{__name:"LandingMatrixBg"}),Z={class:"landing-nav"},nn={class:"landing-nav-container"},tn={class:"landing-nav-links"},en={href:"#features"},on={href:"#workflow"},an={href:"#installation"},sn={href:"#faq"},ln={href:"#api"},dn={class:"landing-nav-right"},cn=m({__name:"LandingNav",setup(h){const{t}=f(),l=$(!1);return O(()=>{l.value=window.location.host.endsWith(".gitlab.io")}),(i,a)=>{const s=D,v=J;return d(),r("nav",Z,[n("div",nn,[g(s,{to:"/",class:"landing-logo"},{default:S(()=>[...a[0]||(a[0]=[n("span",null,"⚡",-1),T(" AutoCode ",-1),n("span",{class:"landing-beta-badge"},"BETA",-1)])]),_:1}),n("ul",tn,[n("li",null,[n("a",en,e(o(t)("landing.nav.features")),1)]),n("li",null,[n("a",on,e(o(t)("landing.nav.workflow")),1)]),n("li",null,[n("a",an,e(o(t)("landing.nav.installation")),1)]),n("li",null,[n("a",sn,e(o(t)("landing.nav.faq")),1)]),n("li",null,[n("a",ln,e(o(t)("landing.nav.api")),1)])]),n("div",dn,[g(v),o(l)?F("",!0):(d(),E(s,{key:0,to:"/kanban",class:"landing-nav-cta"},{default:S(()=>[T(e(o(t)("landing.nav.dashboard")),1)]),_:1}))])])])}}}),rn=Object.assign(cn,{__name:"LandingNav"}),pn={class:"landing-hero"},un={class:"landing-hero-content"},_n={class:"landing-hero-badge"},gn={class:"gradient"},mn={class:"landing-hero-buttons"},hn={href:"#installation",class:"landing-btn landing-btn-primary"},vn=m({__name:"LandingHero",setup(h){const{t}=f();return(l,i)=>(d(),r("section",pn,[n("div",un,[n("div",_n,[i[0]||(i[0]=n("span",null,"Wrapper",-1)),n("span",null,e(o(t)("landing.hero.badge")),1)]),n("h1",null,[T(e(o(t)("landing.hero.title1")),1),i[1]||(i[1]=n("br",null,null,-1)),n("span",gn,e(o(t)("landing.hero.title2")),1)]),n("p",null,e(o(t)("landing.hero.description")),1),n("div",mn,[n("a",hn,[T(e(o(t)("landing.hero.cta"))+" ",1),i[2]||(i[2]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1))]),i[3]||(i[3]=I('<a href="https://gitlab.com/evkoh/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z"></path></svg> npm </a>',2))]),i[4]||(i[4]=I('<div class="landing-terminal"><div class="landing-terminal-header"><span class="landing-terminal-dot red"></span><span class="landing-terminal-dot yellow"></span><span class="landing-terminal-dot green"></span></div><div class="landing-terminal-body"><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">npm install -g @autocode-cli/autocode</span></div><div class="landing-terminal-output"><span style="color:#22c55e;">+ @autocode-cli/autocode installed</span></div><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">autocode serve</span></div><div class="landing-terminal-output"> Dashboard available at <span class="landing-terminal-accent">http://localhost:3000</span></div></div></div>',1))])]))}}),fn=Object.assign(vn,{__name:"LandingHero"}),yn={id:"demo",class:"landing-section landing-demo"},kn={class:"landing-demo-content"},wn={key:1,href:"https://gitlab.com/evkoh/autocode",target:"_blank",class:"landing-btn landing-btn-primary landing-btn-large"},bn=m({__name:"LandingDemo",setup(h){const{t}=f(),l=$(!1);return O(()=>{const i=window.location.hostname;l.value=i==="localhost"||i==="127.0.0.1"}),(i,a)=>{const s=D;return d(),r("section",yn,[n("div",kn,[n("h2",null,e(o(t)("landing.demo.title")),1),n("p",null,e(o(t)("landing.demo.description")),1),o(l)?(d(),E(s,{key:0,to:"/kanban",class:"landing-btn landing-btn-primary landing-btn-large"},{default:S(()=>[T(e(o(t)("landing.demo.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]),_:1})):(d(),r("a",wn,[T(e(o(t)("landing.demo.ctaGitlab"))+" ",1),a[1]||(a[1]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]))])])}}}),$n=Object.assign(A(bn,[["__scopeId","data-v-5e25f58c"]]),{__name:"LandingDemo"}),xn={id:"podcast",class:"landing-section"},Ln={class:"landing-section-header"},Cn={class:"landing-podcast-player"},Mn=["src"],An={class:"podcast-info"},Tn={class:"podcast-meta"},zn={class:"podcast-lang-badge"},Hn={class:"podcast-controls"},Bn=["disabled"],jn={key:0,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Pn={key:1,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Sn={class:"podcast-progress-bar"},Fn={class:"podcast-time"},In={class:"podcast-speed"},On=["onClick"],Rn={class:"podcast-volume"},qn=["value"],Vn=m({__name:"LandingPodcast",setup(h){const{t,locale:l}=f(),i=$(null),a=$(!1),s=$(0),v=$(0),b=$(1),_=$(1),L=$(!1),u=P(()=>`./media/podcast/${l.value}.m4a`),z=P(()=>M(s.value)),B=P(()=>M(v.value)),C=P(()=>v.value>0?s.value/v.value*100:0);function M(y){const p=Math.floor(y/60),k=Math.floor(y%60);return`${p}:${k.toString().padStart(2,"0")}`}function c(){i.value&&(a.value?i.value.pause():i.value.play())}function H(){i.value&&(s.value=i.value.currentTime)}function j(){i.value&&(v.value=i.value.duration,L.value=!0)}function q(y){if(!i.value||!v.value)return;const k=y.currentTarget.getBoundingClientRect(),N=(y.clientX-k.left)/k.width;i.value.currentTime=N*v.value}function V(y){_.value=y,i.value&&(i.value.playbackRate=y)}function W(y){const p=y.target;b.value=parseFloat(p.value),i.value&&(i.value.volume=b.value)}return U(l,()=>{if(i.value){const y=a.value,p=s.value;i.value.load(),i.value.currentTime=p,y&&i.value.play()}}),(y,p)=>(d(),r("section",xn,[n("div",Ln,[n("h2",null,e(o(t)("landing.podcast.title")),1),n("p",null,e(o(t)("landing.podcast.description")),1)]),n("div",Cn,[n("audio",{ref_key:"audioRef",ref:i,src:o(u),preload:"metadata",onTimeupdate:H,onLoadedmetadata:j,onPlay:p[0]||(p[0]=k=>a.value=!0),onPause:p[1]||(p[1]=k=>a.value=!1),onEnded:p[2]||(p[2]=k=>a.value=!1)},null,40,Mn),n("div",An,[p[3]||(p[3]=n("div",{class:"podcast-artwork"},[n("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"currentColor"},[n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})])],-1)),n("div",Tn,[n("h3",null,e(o(t)("landing.podcast.episode")),1),n("span",zn,e(o(l).toUpperCase()),1)])]),n("div",Hn,[n("button",{class:"podcast-play-btn",disabled:!o(L),onClick:c},[o(a)?(d(),r("svg",Pn,[...p[5]||(p[5]=[n("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},null,-1)])])):(d(),r("svg",jn,[...p[4]||(p[4]=[n("path",{d:"M8 5v14l11-7z"},null,-1)])]))],8,Bn),n("div",{class:"podcast-progress-container",onClick:q},[n("div",Sn,[n("div",{class:"podcast-progress-fill",style:X({width:`${o(C)}%`})},null,4)]),n("div",Fn,[n("span",null,e(o(z)),1),n("span",null,e(o(B)),1)])]),n("div",In,[(d(),r(w,null,x([.5,1,1.5,2],k=>n("button",{key:k,class:R({active:o(_)===k}),onClick:N=>V(k)},e(k)+"x ",11,On)),64))]),n("div",Rn,[p[6]||(p[6]=n("svg",{width:"20",height:"20",fill:"currentColor",viewBox:"0 0 24 24"},[n("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"})],-1)),n("input",{type:"range",min:"0",max:"1",step:"0.1",value:o(b),onInput:W},null,40,qn)])])])]))}}),En=Object.assign(A(Vn,[["__scopeId","data-v-5dee128b"]]),{__name:"LandingPodcast"}),Dn={id:"features",class:"landing-section"},Nn={class:"landing-section-header"},Wn={class:"landing-features-grid"},Gn={class:"landing-feature-icon"},Un=m({__name:"LandingFeatures",setup(h){const{t}=f(),l=[{icon:"🎯",key:"wrapper"},{icon:"🛡️",key:"pipeline"},{icon:"⏱️",key:"time"},{icon:"🗄️",key:"filesystem"},{icon:"📊",key:"kanban"},{icon:"🔧",key:"custom"},{icon:"💰",key:"cost"},{icon:"🪄",key:"autocreate",highlight:!0},{icon:"🌐",key:"expose"}];return(i,a)=>(d(),r("section",Dn,[n("div",Nn,[n("h2",null,e(o(t)("landing.features.title")),1),n("p",null,e(o(t)("landing.features.subtitle")),1)]),n("div",Wn,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:R(["landing-feature-card",{highlight:s.highlight}])},[n("div",Gn,e(s.icon),1),n("h3",null,e(o(t)(`landing.features.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.features.${s.key}.desc`)),1)],2)),64))])]))}}),Xn=Object.assign(Un,{__name:"LandingFeatures"}),Yn={id:"pipeline",class:"landing-section"},Jn={class:"landing-section-header"},Kn={class:"landing-pipeline-flow"},Qn={class:"phase-icon"},Zn={key:0,class:"phase-items"},nt={key:0,class:"pipeline-arrow"},tt={class:"landing-pipeline-note"},et=m({__name:"LandingPipeline",setup(h){const{t}=f(),l=[{key:"create",icon:"📝",color:"blue"},{key:"reviews",icon:"🔍",color:"purple",items:["bestPractices","duplication","consistency","security"]},{key:"tests",icon:"🧪",color:"orange"},{key:"deploy",icon:"🚀",color:"green"}];return(i,a)=>(d(),r("section",Yn,[n("div",Jn,[n("h2",null,e(o(t)("landing.pipeline.title")),1),n("p",null,e(o(t)("landing.pipeline.subtitle")),1)]),n("div",Kn,[(d(),r(w,null,x(l,(s,v)=>(d(),r(w,{key:s.key},[n("div",{class:R(["pipeline-phase",`pipeline-phase-${s.color}`])},[n("div",Qn,e(s.icon),1),n("h3",null,e(o(t)(`landing.pipeline.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.pipeline.${s.key}.desc`)),1),s.items?(d(),r("div",Zn,[(d(!0),r(w,null,x(s.items,b=>(d(),r("span",{key:b,class:"phase-item"},e(o(t)(`landing.pipeline.reviews.${b}`)),1))),128))])):F("",!0)],2),v<l.length-1?(d(),r("div",nt,[...a[0]||(a[0]=[n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1)])])):F("",!0)],64))),64))]),n("div",tt,[a[1]||(a[1]=n("span",{class:"note-icon"},"💡",-1)),n("p",null,e(o(t)("landing.pipeline.note")),1)])]))}}),ot=Object.assign(A(et,[["__scopeId","data-v-b084b36d"]]),{__name:"LandingPipeline"}),at={id:"workflow",class:"landing-section landing-workflow"},st={class:"landing-section-header"},it={class:"landing-workflow-container"},lt={class:"landing-workflow-steps"},dt={class:"landing-step-number"},ct={class:"landing-step-content"},rt=m({__name:"LandingWorkflow",setup(h){const{t}=f(),l=[{number:"1",key:"install"},{number:"2",key:"init"},{number:"3",key:"create"},{number:"4",key:"serve"}];return(i,a)=>(d(),r("section",at,[n("div",st,[n("h2",null,e(o(t)("landing.workflow.title")),1),n("p",null,e(o(t)("landing.workflow.subtitle")),1)]),n("div",it,[n("div",lt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-workflow-step"},[n("div",dt,e(s.number),1),n("div",ct,[n("h4",null,e(o(t)(`landing.workflow.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.workflow.${s.key}.desc`)),1)])])),64))])])]))}}),pt=Object.assign(rt,{__name:"LandingWorkflow"}),ut={id:"autonomy",class:"landing-section"},_t={class:"landing-section-header"},gt={class:"landing-autonomy-grid"},mt={class:"autonomy-icon"},ht={class:"landing-autonomy-workflow"},vt={class:"workflow-header"},ft={class:"workflow-content"},yt={class:"workflow-source"},kt={class:"workflow-node source-node"},wt={class:"node-text"},bt={class:"workflow-paths"},$t={class:"workflow-path path-1"},xt={class:"workflow-node action-node"},Lt={class:"node-text"},Ct={class:"workflow-path path-2"},Mt={class:"workflow-node action-node"},At={class:"node-text"},Tt={class:"workflow-path path-3"},zt={class:"workflow-node action-node"},Ht={class:"node-text"},Bt=m({__name:"LandingAutonomy",setup(h){const{t}=f(),l=[{key:"skip",icon:"⏭️"},{key:"correct",icon:"🔄"},{key:"spawn",icon:"🐣"}];return(i,a)=>(d(),r("section",ut,[n("div",_t,[n("h2",null,e(o(t)("landing.autonomy.title")),1),n("p",null,e(o(t)("landing.autonomy.subtitle")),1)]),n("div",gt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-autonomy-card"},[n("div",mt,e(s.icon),1),n("h3",null,e(o(t)(`landing.autonomy.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.autonomy.${s.key}.desc`)),1)])),64))]),n("div",ht,[n("div",vt,[n("span",null,e(o(t)("landing.autonomy.codeTitle")),1)]),n("div",ft,[n("div",yt,[n("div",kt,[a[0]||(a[0]=n("span",{class:"node-icon"},"🔍",-1)),n("span",wt,e(o(t)("landing.autonomy.code.comment1")),1)])]),a[7]||(a[7]=n("div",{class:"workflow-arrow-down"},[n("svg",{width:"24",height:"40",viewBox:"0 0 24 40",fill:"none",stroke:"currentColor"},[n("path",{"stroke-width":"2",d:"M12 0v32m0 0l-6-6m6 6l6-6"})])],-1)),n("div",bt,[n("div",$t,[a[2]||(a[2]=n("div",{class:"path-condition"},"Hors scope ?",-1)),n("div",xt,[a[1]||(a[1]=n("span",{class:"node-icon"},"🐣",-1)),n("span",Lt,e(o(t)("landing.autonomy.code.comment2")),1)])]),n("div",Ct,[a[4]||(a[4]=n("div",{class:"path-condition"},"Dans le scope ?",-1)),n("div",Mt,[a[3]||(a[3]=n("span",{class:"node-icon"},"⚡",-1)),n("span",At,e(o(t)("landing.autonomy.code.comment3")),1)])]),n("div",Tt,[a[6]||(a[6]=n("div",{class:"path-condition"},"Amélioration ?",-1)),n("div",zt,[a[5]||(a[5]=n("span",{class:"node-icon"},"📝",-1)),n("span",Ht,e(o(t)("landing.autonomy.code.comment4")),1)])])])])])]))}}),jt=Object.assign(A(Bt,[["__scopeId","data-v-89440757"]]),{__name:"LandingAutonomy"}),Pt={id:"installation",class:"landing-section"},St={class:"landing-section-header"},Ft={class:"landing-install-container"},It={class:"landing-code-block"},Ot={class:"landing-code-header"},Rt={class:"landing-code-content"},qt={class:"landing-code-comment"},Vt={class:"landing-code-block"},Et={class:"landing-code-header"},Dt={class:"landing-code-content"},Nt={class:"landing-code-comment"},Wt={class:"landing-code-block"},Gt={class:"landing-code-header"},Ut={class:"landing-code-content"},Xt={class:"landing-code-comment"},Yt=m({__name:"LandingInstall",setup(h){const{t}=f(),l=async i=>{try{await navigator.clipboard.writeText(i)}catch{}};return(i,a)=>(d(),r("section",Pt,[n("div",St,[n("h2",null,e(o(t)("landing.install.title")),1),n("p",null,e(o(t)("landing.install.subtitle")),1)]),n("div",Ft,[n("div",It,[n("div",Ot,[n("span",null,e(o(t)("landing.install.step1")),1),n("button",{class:"landing-copy-btn",onClick:a[0]||(a[0]=s=>l("npm install -g @autocode-cli/autocode"))},e(o(t)("landing.install.copy")),1)]),n("div",Rt,[n("code",null,[n("span",qt,"# "+e(o(t)("landing.install.globalInstall")),1),a[3]||(a[3]=n("br",null,null,-1)),a[4]||(a[4]=n("span",{class:"landing-code-command"},"npm install -g @autocode-cli/autocode",-1))])])]),n("div",Vt,[n("div",Et,[n("span",null,e(o(t)("landing.install.step2")),1),n("button",{class:"landing-copy-btn",onClick:a[1]||(a[1]=s=>l("autocode init"))},e(o(t)("landing.install.copy")),1)]),n("div",Dt,[n("code",null,[n("span",Nt,"# "+e(o(t)("landing.install.initProject")),1),a[5]||(a[5]=n("br",null,null,-1)),a[6]||(a[6]=n("span",{class:"landing-code-command"},"autocode init",-1))])])]),n("div",Wt,[n("div",Gt,[n("span",null,e(o(t)("landing.install.step3")),1),n("button",{class:"landing-copy-btn",onClick:a[2]||(a[2]=s=>l("autocode serve"))},e(o(t)("landing.install.copy")),1)]),n("div",Ut,[n("code",null,[n("span",Xt,"# "+e(o(t)("landing.install.startDashboard")),1),a[7]||(a[7]=n("br",null,null,-1)),a[8]||(a[8]=n("span",{class:"landing-code-command"},"autocode serve",-1))])])])])]))}}),Jt=Object.assign(Yt,{__name:"LandingInstall"}),Kt={id:"commands",class:"landing-section"},Qt={class:"landing-section-header"},Zt={class:"landing-commands-table-wrapper"},ne={class:"landing-commands-table"},te=m({__name:"LandingCommands",setup(h){const{t}=f(),l=[{cmd:"autocode init",key:"init"},{cmd:"autocode serve",key:"serve"},{cmd:"autocode serve --expose",key:"expose"},{cmd:"autocode new <title> [desc]",key:"new"},{cmd:"autocode list",key:"list"},{cmd:"autocode show <key>",key:"show"},{cmd:"autocode next <key>",key:"next"},{cmd:"autocode move <key> <column>",key:"move"},{cmd:"autocode start <key>",key:"start"},{cmd:"autocode comment <key> <text>",key:"comment"},{cmd:"autocode history <key>",key:"history"},{cmd:"autocode parent <key> [parent]",key:"parent"},{cmd:"autocode stats",key:"stats"},{cmd:"autocode health",key:"health"},{cmd:"autocode pipeline <action>",key:"pipeline"},{cmd:"autocode catalog",key:"catalog"},{cmd:"autocode help",key:"help"}];return(i,a)=>(d(),r("section",Kt,[n("div",Qt,[n("h2",null,e(o(t)("landing.commands.title")),1),n("p",null,e(o(t)("landing.commands.subtitle")),1)]),n("div",Zt,[n("table",ne,[n("thead",null,[n("tr",null,[n("th",null,e(o(t)("landing.commands.command")),1),n("th",null,e(o(t)("landing.commands.description")),1)])]),n("tbody",null,[(d(),r(w,null,x(l,s=>n("tr",{key:s.key},[n("td",null,[n("code",null,e(s.cmd),1)]),n("td",null,e(o(t)(`landing.commands.${s.key}`)),1)])),64))])])])]))}}),ee=Object.assign(A(te,[["__scopeId","data-v-dc1385aa"]]),{__name:"LandingCommands"}),oe={id:"architecture",class:"landing-section"},ae={class:"landing-section-header"},se={class:"landing-architecture-flow"},ie={class:"flow-step"},le={class:"flow-step success"},de={class:"landing-architecture-details"},ce={class:"detail-icon"},re=m({__name:"LandingArchitecture",setup(h){const{t}=f(),l=[{key:"storage",icon:"🗄️"},{key:"interfaces",icon:"🔌"},{key:"tech",icon:"⚙️"}];return(i,a)=>(d(),r("section",oe,[n("div",ae,[n("h2",null,e(o(t)("landing.architecture.title")),1),n("p",null,e(o(t)("landing.architecture.subtitle")),1)]),n("div",se,[n("div",ie,[a[0]||(a[0]=n("div",{class:"flow-icon"},"👤",-1)),n("span",null,e(o(t)("landing.architecture.flow.you")),1)]),a[2]||(a[2]=I('<div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step highlight" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>⚡</div><span data-v-ab99f707>AutoCode</span></div><div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>🤖</div><span data-v-ab99f707>Claude Code</span></div><div class="flow-arrow" data-v-ab99f707>→</div>',5)),n("div",le,[a[1]||(a[1]=n("div",{class:"flow-icon"},"✅",-1)),n("span",null,e(o(t)("landing.architecture.flow.validated")),1)])]),n("div",de,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"architecture-detail-card"},[n("div",ce,e(s.icon),1),n("h3",null,e(o(t)(`landing.architecture.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.architecture.${s.key}.desc`)),1)])),64))])]))}}),pe=Object.assign(A(re,[["__scopeId","data-v-ab99f707"]]),{__name:"LandingArchitecture"}),ue={id:"api",class:"landing-section"},_e={class:"landing-section-header"},ge={class:"landing-api-grid"},me={class:"landing-api-endpoint"},he=m({__name:"LandingApi",setup(h){const{t}=f(),l=[{method:"get",endpoint:"/api/issues"},{method:"get",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues"},{method:"patch",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues/:id/move"},{method:"post",endpoint:"/api/issues/:id/next"},{method:"get",endpoint:"/api/issues/:id/comments"},{method:"post",endpoint:"/api/issues/:id/comments"},{method:"delete",endpoint:"/api/issues/:id/archive"},{method:"get",endpoint:"/api/columns"},{method:"get",endpoint:"/api/pipelines"},{method:"get",endpoint:"/api/stats"}];return(i,a)=>(d(),r("section",ue,[n("div",_e,[n("h2",null,e(o(t)("landing.api.title")),1),n("p",null,e(o(t)("landing.api.subtitle")),1)]),n("div",ge,[(d(),r(w,null,x(l,s=>n("div",{key:s.endpoint,class:"landing-api-card"},[n("span",{class:R(["landing-api-method",s.method])},e(s.method.toUpperCase()),3),n("span",me,e(s.endpoint),1)])),64))])]))}}),ve=Object.assign(he,{__name:"LandingApi"}),fe={id:"roadmap",class:"landing-section"},ye={class:"landing-section-header"},ke={class:"landing-roadmap-grid"},we={class:"roadmap-icon"},be={class:"roadmap-status"},$e={class:"landing-roadmap-cta"},xe={href:"https://gitlab.com/evkoh/autocode/-/issues",target:"_blank",class:"landing-btn landing-btn-secondary"},Le=m({__name:"LandingRoadmap",setup(h){const{t}=f(),l=[{key:"mcp",icon:"🔗"},{key:"catalog",icon:"📚"}];return(i,a)=>(d(),r("section",fe,[n("div",ye,[n("h2",null,e(o(t)("landing.roadmap.title")),1),n("p",null,e(o(t)("landing.roadmap.subtitle")),1)]),n("div",ke,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-roadmap-card"},[n("div",we,e(s.icon),1),n("h3",null,e(o(t)(`landing.roadmap.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.roadmap.${s.key}.desc`)),1),n("span",be,e(o(t)("landing.roadmap.coming")),1)])),64))]),n("div",$e,[n("a",xe,[T(e(o(t)("landing.roadmap.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))])])]))}}),Ce=Object.assign(A(Le,[["__scopeId","data-v-c498be6d"]]),{__name:"LandingRoadmap"}),Me={id:"faq",class:"landing-section"},Ae={class:"landing-section-header"},Te={class:"landing-faq-container"},ze=m({__name:"LandingFaq",setup(h){const{t}=f(),l=["what","install","free","pipeline","claude","customize","database","testing"];return(i,a)=>(d(),r("section",Me,[n("div",Ae,[n("h2",null,e(o(t)("landing.faq.title")),1),n("p",null,e(o(t)("landing.faq.subtitle")),1)]),n("div",Te,[(d(),r(w,null,x(l,s=>n("div",{key:s,class:"landing-faq-item"},[n("h3",null,e(o(t)(`landing.faq.${s}.q`)),1),n("p",null,e(o(t)(`landing.faq.${s}.a`)),1)])),64))])]))}}),He=Object.assign(ze,{__name:"LandingFaq"}),Be={class:"landing-footer"},je={class:"landing-footer-content"},Pe={class:"landing-footer-brand"},Se={class:"landing-footer-tagline"},Fe={class:"landing-footer-nav"},Ie={class:"landing-footer-bottom"},Oe={class:"landing-footer-copy"},Re=m({__name:"LandingFooter",setup(h){const{t}=f(),l=new Date().getFullYear(),i=$(!1);return O(()=>{i.value=window.location.host.endsWith(".gitlab.io")}),(a,s)=>{const v=D;return d(),r("footer",Be,[n("div",je,[n("div",Pe,[s[0]||(s[0]=n("span",{class:"landing-footer-logo"},"AutoCode",-1)),n("span",Se,e(o(t)("landing.footer.madeWith")),1)]),n("nav",Fe,[s[1]||(s[1]=I('<a href="https://gitlab.com/evkoh/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z" data-v-63ea1028></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331z" data-v-63ea1028></path></svg> npm </a><a href="#api" data-v-63ea1028>API</a>',3)),o(i)?F("",!0):(d(),E(v,{key:0,to:"/kanban",class:"landing-footer-dashboard"},{default:S(()=>[T(e(o(t)("landing.footer.dashboard")),1)]),_:1}))]),n("div",Ie,[n("p",Oe," © "+e(o(l))+" AutoCode · "+e(o(t)("landing.footer.license")),1)])])])}}}),qe=Object.assign(A(Re,[["__scopeId","data-v-63ea1028"]]),{__name:"LandingFooter"}),Ve={class:"landing-page"},We=m({__name:"index",setup(h){const{t}=f();return Y({title:()=>t("landing.meta.title"),link:[{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"canonical",href:"https://autocode.dev/"}],meta:[{name:"description",content:()=>t("landing.meta.description")},{name:"keywords",content:()=>t("landing.meta.keywords")},{property:"og:type",content:"website"},{property:"og:url",content:"https://autocode.dev/"},{property:"og:title",content:()=>t("landing.meta.title")},{property:"og:description",content:()=>t("landing.meta.description")},{property:"og:site_name",content:"AutoCode"},{property:"og:image",content:"https://autocode.dev/og-image.svg"},{property:"og:image:width",content:"1200"},{property:"og:image:height",content:"630"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:()=>t("landing.meta.title")},{name:"twitter:description",content:()=>t("landing.meta.description")},{name:"twitter:image",content:"https://autocode.dev/og-image.svg"}]}),(l,i)=>{const a=Q,s=rn,v=fn,b=$n,_=En,L=Xn,u=ot,z=pt,B=jt,C=Jt,M=ee,c=pe,H=ve,j=Ce,q=He,V=qe;return d(),r("div",Ve,[g(a),g(s),g(v),g(b),g(_),g(L),g(u),g(z),g(B),g(C),g(M),g(c),g(H),g(j),g(q),g(V)])}}});export{We as default};
1
+ import{d as m,r as $,o as O,a as G,c as r,b as d,_ as A,u as f,e as n,f as g,w as S,g as T,t as e,h as o,i as E,j as F,k as I,l as P,m as U,n as X,F as w,p as x,q as R,s as Y}from"./Btwtsr_u.js";import{_ as D}from"./CuwYCM4v.js";import{_ as J}from"./D5ZS_G-Z.js";const K=m({__name:"LandingMatrixBg",setup(h){const t=$(null),l=['autocode new "Fix login bug" -p P1',"autocode serve --expose","autocode next AC-000042","autocode move AC-000001 review","autocode pipeline show default","autocode stats --session","autocode health --verbose","autocode list --tree","autocode history AC-000015 --full",'autocode comment AC-000003 "Done"',"autocode catalog add security-audit","autocode init && autocode serve","GET /api/issues?column=in-progress","POST /api/issues { title, priority }","PATCH /api/issues/AC-000001","POST /api/issues/:id/next","GET /api/pipelines/default","GET /api/workflow/health","POST /api/issues/:id/comments","GET /api/stats",'claude -p "Review this code"','claude -p "Fix the failing tests"','claude -p "Add security validation"','claude -p "Refactor for clarity"',"await claude.execute(prompt)",'claude --model opus "Analyze"',"pipeline.advance(issue)","if (review.passed) next()","while (!tests.green) retry()","bestPractices.validate(code)","security.audit(changes)","duplication.detect(diff)","consistency.check(style)","prisma.issue.findMany()","prisma.issue.update({ data })","await prisma.$transaction()","SELECT * FROM issues WHERE done"],i=["rgba(99, 102, 241, ","rgba(139, 92, 246, ","rgba(168, 85, 247, ","rgba(192, 132, 252, ","rgba(236, 72, 153, "];let a=[],s=null;function v(){const _=t.value;if(!_)return;const L=()=>{_.width=window.innerWidth,_.height=window.innerHeight};L(),window.addEventListener("resize",L);const u=_.getContext("2d");if(!u)return;const z=Math.floor(window.innerWidth/60);a=[];for(let C=0;C<z;C++)b(_.width,_.height);function B(){if(!u||!_)return;u.clearRect(0,0,_.width,_.height);const C=Date.now();for(let M=a.length-1;M>=0;M--){const c=a[M];if(c.phase==="writing")c.charIndex+=c.speed*.5,c.charIndex>=c.text.length&&(c.phase="visible",c.visibleTime=C);else if(c.phase==="visible")C-c.visibleTime>300+Math.random()*500&&(c.phase="fading");else if(c.phase==="fading"&&(c.opacity-=.03*c.speed,c.opacity<=0)){a.splice(M,1),b(_.width,_.height);continue}u.font=`${c.fontSize}px 'JetBrains Mono', 'Fira Code', monospace`;const H=c.text.substring(0,Math.floor(c.charIndex));if(u.shadowColor=c.color+"0.5)",u.shadowBlur=8,u.fillStyle=c.color+(c.opacity*.8).toFixed(2)+")",u.fillText(H,c.x,c.y),u.shadowBlur=0,u.fillStyle=c.color+c.opacity.toFixed(2)+")",u.fillText(H,c.x,c.y),c.phase==="writing"&&Math.floor(C/100)%2===0){const j=c.x+u.measureText(H).width;u.fillStyle=c.color+"0.9)",u.fillRect(j+2,c.y-c.fontSize+4,2,c.fontSize)}}s=requestAnimationFrame(B)}B()}function b(_,L){const u=10+Math.random()*6,z=l[Math.floor(Math.random()*l.length)];a.push({x:Math.random()*(_-300),y:50+Math.random()*(L-100),text:z,charIndex:0,opacity:.2+Math.random()*.4,speed:.5+Math.random()*3.5,color:i[Math.floor(Math.random()*i.length)],phase:"writing",visibleTime:0,fontSize:u})}return O(()=>{v()}),G(()=>{s&&cancelAnimationFrame(s)}),(_,L)=>(d(),r("canvas",{ref_key:"canvasRef",ref:t,class:"landing-matrix-bg","aria-hidden":"true"},null,512))}}),Q=Object.assign(A(K,[["__scopeId","data-v-b5216f08"]]),{__name:"LandingMatrixBg"}),Z={class:"landing-nav"},nn={class:"landing-nav-container"},tn={class:"landing-nav-links"},en={href:"#features"},on={href:"#workflow"},an={href:"#installation"},sn={href:"#faq"},ln={href:"#api"},dn={class:"landing-nav-right"},cn=m({__name:"LandingNav",setup(h){const{t}=f(),l=$(!1);return O(()=>{l.value=window.location.host.endsWith(".gitlab.io")}),(i,a)=>{const s=D,v=J;return d(),r("nav",Z,[n("div",nn,[g(s,{to:"/",class:"landing-logo"},{default:S(()=>[...a[0]||(a[0]=[n("span",null,"⚡",-1),T(" AutoCode ",-1),n("span",{class:"landing-beta-badge"},"BETA",-1)])]),_:1}),n("ul",tn,[n("li",null,[n("a",en,e(o(t)("landing.nav.features")),1)]),n("li",null,[n("a",on,e(o(t)("landing.nav.workflow")),1)]),n("li",null,[n("a",an,e(o(t)("landing.nav.installation")),1)]),n("li",null,[n("a",sn,e(o(t)("landing.nav.faq")),1)]),n("li",null,[n("a",ln,e(o(t)("landing.nav.api")),1)])]),n("div",dn,[g(v),o(l)?F("",!0):(d(),E(s,{key:0,to:"/kanban",class:"landing-nav-cta"},{default:S(()=>[T(e(o(t)("landing.nav.dashboard")),1)]),_:1}))])])])}}}),rn=Object.assign(cn,{__name:"LandingNav"}),pn={class:"landing-hero"},un={class:"landing-hero-content"},_n={class:"landing-hero-badge"},gn={class:"gradient"},mn={class:"landing-hero-buttons"},hn={href:"#installation",class:"landing-btn landing-btn-primary"},vn=m({__name:"LandingHero",setup(h){const{t}=f();return(l,i)=>(d(),r("section",pn,[n("div",un,[n("div",_n,[i[0]||(i[0]=n("span",null,"Wrapper",-1)),n("span",null,e(o(t)("landing.hero.badge")),1)]),n("h1",null,[T(e(o(t)("landing.hero.title1")),1),i[1]||(i[1]=n("br",null,null,-1)),n("span",gn,e(o(t)("landing.hero.title2")),1)]),n("p",null,e(o(t)("landing.hero.description")),1),n("div",mn,[n("a",hn,[T(e(o(t)("landing.hero.cta"))+" ",1),i[2]||(i[2]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1))]),i[3]||(i[3]=I('<a href="https://gitlab.com/evkoh/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" class="landing-btn landing-btn-secondary" target="_blank"><svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z"></path></svg> npm </a>',2))]),i[4]||(i[4]=I('<div class="landing-terminal"><div class="landing-terminal-header"><span class="landing-terminal-dot red"></span><span class="landing-terminal-dot yellow"></span><span class="landing-terminal-dot green"></span></div><div class="landing-terminal-body"><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">npm install -g @autocode-cli/autocode</span></div><div class="landing-terminal-output"><span style="color:#22c55e;">+ @autocode-cli/autocode installed</span></div><div class="landing-terminal-line"><span class="landing-terminal-prompt">$</span><span class="landing-terminal-command">autocode serve</span></div><div class="landing-terminal-output"> Dashboard available at <span class="landing-terminal-accent">http://localhost:3000</span></div></div></div>',1))])]))}}),fn=Object.assign(vn,{__name:"LandingHero"}),yn={id:"demo",class:"landing-section landing-demo"},kn={class:"landing-demo-content"},wn={key:1,href:"https://gitlab.com/evkoh/autocode",target:"_blank",class:"landing-btn landing-btn-primary landing-btn-large"},bn=m({__name:"LandingDemo",setup(h){const{t}=f(),l=$(!1);return O(()=>{const i=window.location.hostname;l.value=i==="localhost"||i==="127.0.0.1"}),(i,a)=>{const s=D;return d(),r("section",yn,[n("div",kn,[n("h2",null,e(o(t)("landing.demo.title")),1),n("p",null,e(o(t)("landing.demo.description")),1),o(l)?(d(),E(s,{key:0,to:"/kanban",class:"landing-btn landing-btn-primary landing-btn-large"},{default:S(()=>[T(e(o(t)("landing.demo.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]),_:1})):(d(),r("a",wn,[T(e(o(t)("landing.demo.ctaGitlab"))+" ",1),a[1]||(a[1]=n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14 5l7 7m0 0l-7 7m7-7H3"})],-1))]))])])}}}),$n=Object.assign(A(bn,[["__scopeId","data-v-5e25f58c"]]),{__name:"LandingDemo"}),xn={id:"podcast",class:"landing-section"},Ln={class:"landing-section-header"},Cn={class:"landing-podcast-player"},Mn=["src"],An={class:"podcast-info"},Tn={class:"podcast-meta"},zn={class:"podcast-lang-badge"},Hn={class:"podcast-controls"},Bn=["disabled"],jn={key:0,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Pn={key:1,width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24"},Sn={class:"podcast-progress-bar"},Fn={class:"podcast-time"},In={class:"podcast-speed"},On=["onClick"],Rn={class:"podcast-volume"},qn=["value"],Vn=m({__name:"LandingPodcast",setup(h){const{t,locale:l}=f(),i=$(null),a=$(!1),s=$(0),v=$(0),b=$(1),_=$(1),L=$(!1),u=P(()=>`./media/podcast/${l.value}.m4a`),z=P(()=>M(s.value)),B=P(()=>M(v.value)),C=P(()=>v.value>0?s.value/v.value*100:0);function M(y){const p=Math.floor(y/60),k=Math.floor(y%60);return`${p}:${k.toString().padStart(2,"0")}`}function c(){i.value&&(a.value?i.value.pause():i.value.play())}function H(){i.value&&(s.value=i.value.currentTime)}function j(){i.value&&(v.value=i.value.duration,L.value=!0)}function q(y){if(!i.value||!v.value)return;const k=y.currentTarget.getBoundingClientRect(),N=(y.clientX-k.left)/k.width;i.value.currentTime=N*v.value}function V(y){_.value=y,i.value&&(i.value.playbackRate=y)}function W(y){const p=y.target;b.value=parseFloat(p.value),i.value&&(i.value.volume=b.value)}return U(l,()=>{if(i.value){const y=a.value,p=s.value;i.value.load(),i.value.currentTime=p,y&&i.value.play()}}),(y,p)=>(d(),r("section",xn,[n("div",Ln,[n("h2",null,e(o(t)("landing.podcast.title")),1),n("p",null,e(o(t)("landing.podcast.description")),1)]),n("div",Cn,[n("audio",{ref_key:"audioRef",ref:i,src:o(u),preload:"metadata",onTimeupdate:H,onLoadedmetadata:j,onPlay:p[0]||(p[0]=k=>a.value=!0),onPause:p[1]||(p[1]=k=>a.value=!1),onEnded:p[2]||(p[2]=k=>a.value=!1)},null,40,Mn),n("div",An,[p[3]||(p[3]=n("div",{class:"podcast-artwork"},[n("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"currentColor"},[n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})])],-1)),n("div",Tn,[n("h3",null,e(o(t)("landing.podcast.episode")),1),n("span",zn,e(o(l).toUpperCase()),1)])]),n("div",Hn,[n("button",{class:"podcast-play-btn",disabled:!o(L),onClick:c},[o(a)?(d(),r("svg",Pn,[...p[5]||(p[5]=[n("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},null,-1)])])):(d(),r("svg",jn,[...p[4]||(p[4]=[n("path",{d:"M8 5v14l11-7z"},null,-1)])]))],8,Bn),n("div",{class:"podcast-progress-container",onClick:q},[n("div",Sn,[n("div",{class:"podcast-progress-fill",style:X({width:`${o(C)}%`})},null,4)]),n("div",Fn,[n("span",null,e(o(z)),1),n("span",null,e(o(B)),1)])]),n("div",In,[(d(),r(w,null,x([.5,1,1.5,2],k=>n("button",{key:k,class:R({active:o(_)===k}),onClick:N=>V(k)},e(k)+"x ",11,On)),64))]),n("div",Rn,[p[6]||(p[6]=n("svg",{width:"20",height:"20",fill:"currentColor",viewBox:"0 0 24 24"},[n("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"})],-1)),n("input",{type:"range",min:"0",max:"1",step:"0.1",value:o(b),onInput:W},null,40,qn)])])])]))}}),En=Object.assign(A(Vn,[["__scopeId","data-v-5dee128b"]]),{__name:"LandingPodcast"}),Dn={id:"features",class:"landing-section"},Nn={class:"landing-section-header"},Wn={class:"landing-features-grid"},Gn={class:"landing-feature-icon"},Un=m({__name:"LandingFeatures",setup(h){const{t}=f(),l=[{icon:"🎯",key:"wrapper"},{icon:"🛡️",key:"pipeline"},{icon:"⏱️",key:"time"},{icon:"🗄️",key:"filesystem"},{icon:"📊",key:"kanban"},{icon:"🔧",key:"custom"},{icon:"💰",key:"cost"},{icon:"🪄",key:"autocreate",highlight:!0},{icon:"🌐",key:"expose"}];return(i,a)=>(d(),r("section",Dn,[n("div",Nn,[n("h2",null,e(o(t)("landing.features.title")),1),n("p",null,e(o(t)("landing.features.subtitle")),1)]),n("div",Wn,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:R(["landing-feature-card",{highlight:s.highlight}])},[n("div",Gn,e(s.icon),1),n("h3",null,e(o(t)(`landing.features.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.features.${s.key}.desc`)),1)],2)),64))])]))}}),Xn=Object.assign(Un,{__name:"LandingFeatures"}),Yn={id:"pipeline",class:"landing-section"},Jn={class:"landing-section-header"},Kn={class:"landing-pipeline-flow"},Qn={class:"phase-icon"},Zn={key:0,class:"phase-items"},nt={key:0,class:"pipeline-arrow"},tt={class:"landing-pipeline-note"},et=m({__name:"LandingPipeline",setup(h){const{t}=f(),l=[{key:"create",icon:"📝",color:"blue"},{key:"reviews",icon:"🔍",color:"purple",items:["bestPractices","duplication","consistency","security"]},{key:"tests",icon:"🧪",color:"orange"},{key:"deploy",icon:"🚀",color:"green"}];return(i,a)=>(d(),r("section",Yn,[n("div",Jn,[n("h2",null,e(o(t)("landing.pipeline.title")),1),n("p",null,e(o(t)("landing.pipeline.subtitle")),1)]),n("div",Kn,[(d(),r(w,null,x(l,(s,v)=>(d(),r(w,{key:s.key},[n("div",{class:R(["pipeline-phase",`pipeline-phase-${s.color}`])},[n("div",Qn,e(s.icon),1),n("h3",null,e(o(t)(`landing.pipeline.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.pipeline.${s.key}.desc`)),1),s.items?(d(),r("div",Zn,[(d(!0),r(w,null,x(s.items,b=>(d(),r("span",{key:b,class:"phase-item"},e(o(t)(`landing.pipeline.reviews.${b}`)),1))),128))])):F("",!0)],2),v<l.length-1?(d(),r("div",nt,[...a[0]||(a[0]=[n("svg",{width:"24",height:"24",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7l5 5m0 0l-5 5m5-5H6"})],-1)])])):F("",!0)],64))),64))]),n("div",tt,[a[1]||(a[1]=n("span",{class:"note-icon"},"💡",-1)),n("p",null,e(o(t)("landing.pipeline.note")),1)])]))}}),ot=Object.assign(A(et,[["__scopeId","data-v-b084b36d"]]),{__name:"LandingPipeline"}),at={id:"workflow",class:"landing-section landing-workflow"},st={class:"landing-section-header"},it={class:"landing-workflow-container"},lt={class:"landing-workflow-steps"},dt={class:"landing-step-number"},ct={class:"landing-step-content"},rt=m({__name:"LandingWorkflow",setup(h){const{t}=f(),l=[{number:"1",key:"install"},{number:"2",key:"init"},{number:"3",key:"create"},{number:"4",key:"serve"}];return(i,a)=>(d(),r("section",at,[n("div",st,[n("h2",null,e(o(t)("landing.workflow.title")),1),n("p",null,e(o(t)("landing.workflow.subtitle")),1)]),n("div",it,[n("div",lt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-workflow-step"},[n("div",dt,e(s.number),1),n("div",ct,[n("h4",null,e(o(t)(`landing.workflow.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.workflow.${s.key}.desc`)),1)])])),64))])])]))}}),pt=Object.assign(rt,{__name:"LandingWorkflow"}),ut={id:"autonomy",class:"landing-section"},_t={class:"landing-section-header"},gt={class:"landing-autonomy-grid"},mt={class:"autonomy-icon"},ht={class:"landing-autonomy-workflow"},vt={class:"workflow-header"},ft={class:"workflow-content"},yt={class:"workflow-source"},kt={class:"workflow-node source-node"},wt={class:"node-text"},bt={class:"workflow-paths"},$t={class:"workflow-path path-1"},xt={class:"workflow-node action-node"},Lt={class:"node-text"},Ct={class:"workflow-path path-2"},Mt={class:"workflow-node action-node"},At={class:"node-text"},Tt={class:"workflow-path path-3"},zt={class:"workflow-node action-node"},Ht={class:"node-text"},Bt=m({__name:"LandingAutonomy",setup(h){const{t}=f(),l=[{key:"skip",icon:"⏭️"},{key:"correct",icon:"🔄"},{key:"spawn",icon:"🐣"}];return(i,a)=>(d(),r("section",ut,[n("div",_t,[n("h2",null,e(o(t)("landing.autonomy.title")),1),n("p",null,e(o(t)("landing.autonomy.subtitle")),1)]),n("div",gt,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-autonomy-card"},[n("div",mt,e(s.icon),1),n("h3",null,e(o(t)(`landing.autonomy.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.autonomy.${s.key}.desc`)),1)])),64))]),n("div",ht,[n("div",vt,[n("span",null,e(o(t)("landing.autonomy.codeTitle")),1)]),n("div",ft,[n("div",yt,[n("div",kt,[a[0]||(a[0]=n("span",{class:"node-icon"},"🔍",-1)),n("span",wt,e(o(t)("landing.autonomy.code.comment1")),1)])]),a[7]||(a[7]=n("div",{class:"workflow-arrow-down"},[n("svg",{width:"24",height:"40",viewBox:"0 0 24 40",fill:"none",stroke:"currentColor"},[n("path",{"stroke-width":"2",d:"M12 0v32m0 0l-6-6m6 6l6-6"})])],-1)),n("div",bt,[n("div",$t,[a[2]||(a[2]=n("div",{class:"path-condition"},"Hors scope ?",-1)),n("div",xt,[a[1]||(a[1]=n("span",{class:"node-icon"},"🐣",-1)),n("span",Lt,e(o(t)("landing.autonomy.code.comment2")),1)])]),n("div",Ct,[a[4]||(a[4]=n("div",{class:"path-condition"},"Dans le scope ?",-1)),n("div",Mt,[a[3]||(a[3]=n("span",{class:"node-icon"},"⚡",-1)),n("span",At,e(o(t)("landing.autonomy.code.comment3")),1)])]),n("div",Tt,[a[6]||(a[6]=n("div",{class:"path-condition"},"Amélioration ?",-1)),n("div",zt,[a[5]||(a[5]=n("span",{class:"node-icon"},"📝",-1)),n("span",Ht,e(o(t)("landing.autonomy.code.comment4")),1)])])])])])]))}}),jt=Object.assign(A(Bt,[["__scopeId","data-v-89440757"]]),{__name:"LandingAutonomy"}),Pt={id:"installation",class:"landing-section"},St={class:"landing-section-header"},Ft={class:"landing-install-container"},It={class:"landing-code-block"},Ot={class:"landing-code-header"},Rt={class:"landing-code-content"},qt={class:"landing-code-comment"},Vt={class:"landing-code-block"},Et={class:"landing-code-header"},Dt={class:"landing-code-content"},Nt={class:"landing-code-comment"},Wt={class:"landing-code-block"},Gt={class:"landing-code-header"},Ut={class:"landing-code-content"},Xt={class:"landing-code-comment"},Yt=m({__name:"LandingInstall",setup(h){const{t}=f(),l=async i=>{try{await navigator.clipboard.writeText(i)}catch{}};return(i,a)=>(d(),r("section",Pt,[n("div",St,[n("h2",null,e(o(t)("landing.install.title")),1),n("p",null,e(o(t)("landing.install.subtitle")),1)]),n("div",Ft,[n("div",It,[n("div",Ot,[n("span",null,e(o(t)("landing.install.step1")),1),n("button",{class:"landing-copy-btn",onClick:a[0]||(a[0]=s=>l("npm install -g @autocode-cli/autocode"))},e(o(t)("landing.install.copy")),1)]),n("div",Rt,[n("code",null,[n("span",qt,"# "+e(o(t)("landing.install.globalInstall")),1),a[3]||(a[3]=n("br",null,null,-1)),a[4]||(a[4]=n("span",{class:"landing-code-command"},"npm install -g @autocode-cli/autocode",-1))])])]),n("div",Vt,[n("div",Et,[n("span",null,e(o(t)("landing.install.step2")),1),n("button",{class:"landing-copy-btn",onClick:a[1]||(a[1]=s=>l("autocode init"))},e(o(t)("landing.install.copy")),1)]),n("div",Dt,[n("code",null,[n("span",Nt,"# "+e(o(t)("landing.install.initProject")),1),a[5]||(a[5]=n("br",null,null,-1)),a[6]||(a[6]=n("span",{class:"landing-code-command"},"autocode init",-1))])])]),n("div",Wt,[n("div",Gt,[n("span",null,e(o(t)("landing.install.step3")),1),n("button",{class:"landing-copy-btn",onClick:a[2]||(a[2]=s=>l("autocode serve"))},e(o(t)("landing.install.copy")),1)]),n("div",Ut,[n("code",null,[n("span",Xt,"# "+e(o(t)("landing.install.startDashboard")),1),a[7]||(a[7]=n("br",null,null,-1)),a[8]||(a[8]=n("span",{class:"landing-code-command"},"autocode serve",-1))])])])])]))}}),Jt=Object.assign(Yt,{__name:"LandingInstall"}),Kt={id:"commands",class:"landing-section"},Qt={class:"landing-section-header"},Zt={class:"landing-commands-table-wrapper"},ne={class:"landing-commands-table"},te=m({__name:"LandingCommands",setup(h){const{t}=f(),l=[{cmd:"autocode init",key:"init"},{cmd:"autocode serve",key:"serve"},{cmd:"autocode serve --expose",key:"expose"},{cmd:"autocode new <title> [desc]",key:"new"},{cmd:"autocode list",key:"list"},{cmd:"autocode show <key>",key:"show"},{cmd:"autocode next <key>",key:"next"},{cmd:"autocode move <key> <column>",key:"move"},{cmd:"autocode start <key>",key:"start"},{cmd:"autocode comment <key> <text>",key:"comment"},{cmd:"autocode history <key>",key:"history"},{cmd:"autocode parent <key> [parent]",key:"parent"},{cmd:"autocode stats",key:"stats"},{cmd:"autocode health",key:"health"},{cmd:"autocode pipeline <action>",key:"pipeline"},{cmd:"autocode catalog",key:"catalog"},{cmd:"autocode help",key:"help"}];return(i,a)=>(d(),r("section",Kt,[n("div",Qt,[n("h2",null,e(o(t)("landing.commands.title")),1),n("p",null,e(o(t)("landing.commands.subtitle")),1)]),n("div",Zt,[n("table",ne,[n("thead",null,[n("tr",null,[n("th",null,e(o(t)("landing.commands.command")),1),n("th",null,e(o(t)("landing.commands.description")),1)])]),n("tbody",null,[(d(),r(w,null,x(l,s=>n("tr",{key:s.key},[n("td",null,[n("code",null,e(s.cmd),1)]),n("td",null,e(o(t)(`landing.commands.${s.key}`)),1)])),64))])])])]))}}),ee=Object.assign(A(te,[["__scopeId","data-v-dc1385aa"]]),{__name:"LandingCommands"}),oe={id:"architecture",class:"landing-section"},ae={class:"landing-section-header"},se={class:"landing-architecture-flow"},ie={class:"flow-step"},le={class:"flow-step success"},de={class:"landing-architecture-details"},ce={class:"detail-icon"},re=m({__name:"LandingArchitecture",setup(h){const{t}=f(),l=[{key:"storage",icon:"🗄️"},{key:"interfaces",icon:"🔌"},{key:"tech",icon:"⚙️"}];return(i,a)=>(d(),r("section",oe,[n("div",ae,[n("h2",null,e(o(t)("landing.architecture.title")),1),n("p",null,e(o(t)("landing.architecture.subtitle")),1)]),n("div",se,[n("div",ie,[a[0]||(a[0]=n("div",{class:"flow-icon"},"👤",-1)),n("span",null,e(o(t)("landing.architecture.flow.you")),1)]),a[2]||(a[2]=I('<div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step highlight" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>⚡</div><span data-v-ab99f707>AutoCode</span></div><div class="flow-arrow" data-v-ab99f707>→</div><div class="flow-step" data-v-ab99f707><div class="flow-icon" data-v-ab99f707>🤖</div><span data-v-ab99f707>Claude Code</span></div><div class="flow-arrow" data-v-ab99f707>→</div>',5)),n("div",le,[a[1]||(a[1]=n("div",{class:"flow-icon"},"✅",-1)),n("span",null,e(o(t)("landing.architecture.flow.validated")),1)])]),n("div",de,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"architecture-detail-card"},[n("div",ce,e(s.icon),1),n("h3",null,e(o(t)(`landing.architecture.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.architecture.${s.key}.desc`)),1)])),64))])]))}}),pe=Object.assign(A(re,[["__scopeId","data-v-ab99f707"]]),{__name:"LandingArchitecture"}),ue={id:"api",class:"landing-section"},_e={class:"landing-section-header"},ge={class:"landing-api-grid"},me={class:"landing-api-endpoint"},he=m({__name:"LandingApi",setup(h){const{t}=f(),l=[{method:"get",endpoint:"/api/issues"},{method:"get",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues"},{method:"patch",endpoint:"/api/issues/:id"},{method:"post",endpoint:"/api/issues/:id/move"},{method:"post",endpoint:"/api/issues/:id/next"},{method:"get",endpoint:"/api/issues/:id/comments"},{method:"post",endpoint:"/api/issues/:id/comments"},{method:"delete",endpoint:"/api/issues/:id/archive"},{method:"get",endpoint:"/api/columns"},{method:"get",endpoint:"/api/pipelines"},{method:"get",endpoint:"/api/stats"}];return(i,a)=>(d(),r("section",ue,[n("div",_e,[n("h2",null,e(o(t)("landing.api.title")),1),n("p",null,e(o(t)("landing.api.subtitle")),1)]),n("div",ge,[(d(),r(w,null,x(l,s=>n("div",{key:s.endpoint,class:"landing-api-card"},[n("span",{class:R(["landing-api-method",s.method])},e(s.method.toUpperCase()),3),n("span",me,e(s.endpoint),1)])),64))])]))}}),ve=Object.assign(he,{__name:"LandingApi"}),fe={id:"roadmap",class:"landing-section"},ye={class:"landing-section-header"},ke={class:"landing-roadmap-grid"},we={class:"roadmap-icon"},be={class:"roadmap-status"},$e={class:"landing-roadmap-cta"},xe={href:"https://gitlab.com/evkoh/autocode/-/issues",target:"_blank",class:"landing-btn landing-btn-secondary"},Le=m({__name:"LandingRoadmap",setup(h){const{t}=f(),l=[{key:"mcp",icon:"🔗"},{key:"catalog",icon:"📚"}];return(i,a)=>(d(),r("section",fe,[n("div",ye,[n("h2",null,e(o(t)("landing.roadmap.title")),1),n("p",null,e(o(t)("landing.roadmap.subtitle")),1)]),n("div",ke,[(d(),r(w,null,x(l,s=>n("div",{key:s.key,class:"landing-roadmap-card"},[n("div",we,e(s.icon),1),n("h3",null,e(o(t)(`landing.roadmap.${s.key}.title`)),1),n("p",null,e(o(t)(`landing.roadmap.${s.key}.desc`)),1),n("span",be,e(o(t)("landing.roadmap.coming")),1)])),64))]),n("div",$e,[n("a",xe,[T(e(o(t)("landing.roadmap.cta"))+" ",1),a[0]||(a[0]=n("svg",{width:"20",height:"20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[n("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))])])]))}}),Ce=Object.assign(A(Le,[["__scopeId","data-v-c498be6d"]]),{__name:"LandingRoadmap"}),Me={id:"faq",class:"landing-section"},Ae={class:"landing-section-header"},Te={class:"landing-faq-container"},ze=m({__name:"LandingFaq",setup(h){const{t}=f(),l=["what","install","free","pipeline","claude","customize","database","testing"];return(i,a)=>(d(),r("section",Me,[n("div",Ae,[n("h2",null,e(o(t)("landing.faq.title")),1),n("p",null,e(o(t)("landing.faq.subtitle")),1)]),n("div",Te,[(d(),r(w,null,x(l,s=>n("div",{key:s,class:"landing-faq-item"},[n("h3",null,e(o(t)(`landing.faq.${s}.q`)),1),n("p",null,e(o(t)(`landing.faq.${s}.a`)),1)])),64))])]))}}),He=Object.assign(ze,{__name:"LandingFaq"}),Be={class:"landing-footer"},je={class:"landing-footer-content"},Pe={class:"landing-footer-brand"},Se={class:"landing-footer-tagline"},Fe={class:"landing-footer-nav"},Ie={class:"landing-footer-bottom"},Oe={class:"landing-footer-copy"},Re=m({__name:"LandingFooter",setup(h){const{t}=f(),l=new Date().getFullYear(),i=$(!1);return O(()=>{i.value=window.location.host.endsWith(".gitlab.io")}),(a,s)=>{const v=D;return d(),r("footer",Be,[n("div",je,[n("div",Pe,[s[0]||(s[0]=n("span",{class:"landing-footer-logo"},"AutoCode",-1)),n("span",Se,e(o(t)("landing.footer.madeWith")),1)]),n("nav",Fe,[s[1]||(s[1]=I('<a href="https://gitlab.com/evkoh/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z" data-v-63ea1028></path></svg> GitLab </a><a href="https://www.npmjs.com/package/@autocode-cli/autocode" target="_blank" rel="noopener" data-v-63ea1028><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-v-63ea1028><path d="M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331z" data-v-63ea1028></path></svg> npm </a><a href="#api" data-v-63ea1028>API</a>',3)),o(i)?F("",!0):(d(),E(v,{key:0,to:"/kanban",class:"landing-footer-dashboard"},{default:S(()=>[T(e(o(t)("landing.footer.dashboard")),1)]),_:1}))]),n("div",Ie,[n("p",Oe," © "+e(o(l))+" AutoCode · "+e(o(t)("landing.footer.license")),1)])])])}}}),qe=Object.assign(A(Re,[["__scopeId","data-v-63ea1028"]]),{__name:"LandingFooter"}),Ve={class:"landing-page"},We=m({__name:"index",setup(h){const{t}=f();return Y({title:()=>t("landing.meta.title"),link:[{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"},{rel:"canonical",href:"https://autocode.dev/"}],meta:[{name:"description",content:()=>t("landing.meta.description")},{name:"keywords",content:()=>t("landing.meta.keywords")},{property:"og:type",content:"website"},{property:"og:url",content:"https://autocode.dev/"},{property:"og:title",content:()=>t("landing.meta.title")},{property:"og:description",content:()=>t("landing.meta.description")},{property:"og:site_name",content:"AutoCode"},{property:"og:image",content:"https://autocode.dev/og-image.svg"},{property:"og:image:width",content:"1200"},{property:"og:image:height",content:"630"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:()=>t("landing.meta.title")},{name:"twitter:description",content:()=>t("landing.meta.description")},{name:"twitter:image",content:"https://autocode.dev/og-image.svg"}]}),(l,i)=>{const a=Q,s=rn,v=fn,b=$n,_=En,L=Xn,u=ot,z=pt,B=jt,C=Jt,M=ee,c=pe,H=ve,j=Ce,q=He,V=qe;return d(),r("div",Ve,[g(a),g(s),g(v),g(b),g(_),g(L),g(u),g(z),g(B),g(C),g(M),g(c),g(H),g(j),g(q),g(V)])}}});export{We as default};
@@ -1,2 +1,2 @@
1
- import{d as ne,G as ae,x as oe,l,r as v,v as R,u as le,o as re,s as ie,c as r,e as a,j as C,t as n,h as e,q as ce,F as ue,C as de,D as pe,H as me,g as q,b as i,_ as ve}from"./BfvaD8zq.js";import{u as fe}from"./BarhsfnG.js";import{u as ge}from"./C5qkUISE.js";import{u as D}from"./p0o0xQ7S.js";const ye={class:"column-prompt-page"},_e={class:"page-header card"},he={class:"header-left"},be={key:0,class:"pipeline-badge"},ke={class:"header-right"},Ce=["disabled"],we=["disabled"],Pe={key:0,class:"loading card"},Se={key:1,class:"error-message card"},$e={key:2,class:"prompt-container card"},xe={key:0,class:"prompt-content"},Ne={class:"prompt-meta"},Be={class:"meta-item"},Te={class:"meta-item"},Ve={key:0,class:"meta-item meta-dirty"},Fe=ne({__name:"prompt",async setup(Ie){let u,g;const w=ae(),N=oe(),{success:P,error:B}=fe(),{pipelineConfig:E,isColumnInPipeline:M,addColumnBySlug:j,removeColumnBySlug:z,savePipeline:T,loadActivePipeline:H}=ge(),d=l(()=>w.params.slug),y=l(()=>w.query.pipeline||""),G=l(()=>w.query.name||""),U=l(()=>G.value||d.value),J=()=>{window.history.length>1?N.back():N.push("/kanban")},S=v(!1),c=v(!1),m=v(""),p=v(!1),_=v(!1),h=v(!1),{data:b,status:L,error:V,refresh:W}=([u,g]=R(()=>D(()=>{const s=new URLSearchParams;y.value&&s.set("pipeline",y.value);const o=s.toString();return`/api/columns/${d.value}/prompt${o?`?${o}`:""}`},"$jZPB4J8e0r")),u=await u,g(),u),f=l(()=>b.value?typeof b.value=="string"?b.value:b.value.content||"":""),F=l(()=>c.value?m.value:f.value),Z=l(()=>{const s=F.value;return!s||typeof s!="string"?0:s.split(`
1
+ import{d as ne,G as ae,x as oe,l,r as v,v as R,u as le,o as re,s as ie,c as r,e as a,j as C,t as n,h as e,q as ce,F as ue,C as de,D as pe,H as me,g as q,b as i,_ as ve}from"./Btwtsr_u.js";import{u as fe}from"./DuqIS0qR.js";import{u as ge}from"./CWZ6WSwr.js";import{u as D}from"./BvE9NWMw.js";const ye={class:"column-prompt-page"},_e={class:"page-header card"},he={class:"header-left"},be={key:0,class:"pipeline-badge"},ke={class:"header-right"},Ce=["disabled"],we=["disabled"],Pe={key:0,class:"loading card"},Se={key:1,class:"error-message card"},$e={key:2,class:"prompt-container card"},xe={key:0,class:"prompt-content"},Ne={class:"prompt-meta"},Be={class:"meta-item"},Te={class:"meta-item"},Ve={key:0,class:"meta-item meta-dirty"},Fe=ne({__name:"prompt",async setup(Ie){let u,g;const w=ae(),N=oe(),{success:P,error:B}=fe(),{pipelineConfig:E,isColumnInPipeline:M,addColumnBySlug:j,removeColumnBySlug:z,savePipeline:T,loadActivePipeline:H}=ge(),d=l(()=>w.params.slug),y=l(()=>w.query.pipeline||""),G=l(()=>w.query.name||""),U=l(()=>G.value||d.value),J=()=>{window.history.length>1?N.back():N.push("/kanban")},S=v(!1),c=v(!1),m=v(""),p=v(!1),_=v(!1),h=v(!1),{data:b,status:L,error:V,refresh:W}=([u,g]=R(()=>D(()=>{const s=new URLSearchParams;y.value&&s.set("pipeline",y.value);const o=s.toString();return`/api/columns/${d.value}/prompt${o?`?${o}`:""}`},"$jZPB4J8e0r")),u=await u,g(),u),f=l(()=>b.value?typeof b.value=="string"?b.value:b.value.content||"":""),F=l(()=>c.value?m.value:f.value),Z=l(()=>{const s=F.value;return!s||typeof s!="string"?0:s.split(`
2
2
  `).length}),K=l(()=>{const s=F.value;return!s||typeof s!="string"?0:s.length}),O=async()=>{if(f.value)try{await navigator.clipboard.writeText(f.value),S.value=!0,setTimeout(()=>{S.value=!1},2e3)}catch(s){console.error("Failed to copy:",s)}},Q=()=>{m.value=f.value,p.value=!1,c.value=!0},X=()=>{p.value&&!confirm("Vous avez des modifications non enregistrées. Voulez-vous vraiment annuler ?")||(c.value=!1,p.value=!1)},Y=async()=>{_.value=!0;try{await $fetch(`/api/columns/${d.value}/actions`,{method:"PATCH",body:{content:m.value}}),P(t("pipeline.promptSaved")),p.value=!1,await W(),c.value=!1}catch{B(t("error.saveFailed"))}finally{_.value=!1}},{t}=le(),{data:I}=([u,g]=R(()=>D("/api/catalog","$8GjW2wVST-")),u=await u,g(),u),k=l(()=>{if(!I.value)return null;const s=d.value.replace(/^\d+_/,"");for(const o of["definition","action","finish"]){const A=I.value.segments[o].columns.find(se=>se.slug.replace(/^\d+_/,"")===s);if(A)return{...A,segment:o}}return null}),ee=l(()=>M(d.value)),$=l(()=>ee.value.inPipeline),te=async()=>{if(k.value){h.value=!0;try{if($.value)z(d.value),await T(),P(t("pipeline.columnRemoved"));else{const s=k.value.segment;j(d.value,k.value.name,s),await T(),P(t("pipeline.columnAdded"))}}catch{B(t("error.saveFailed"))}finally{h.value=!1}}};return re(()=>{H()}),ie({title:l(()=>`${d.value} - AutoCode`)}),(s,o)=>(i(),r("div",ye,[a("header",_e,[a("div",he,[a("button",{class:"back-link",onClick:J},"← "+n(e(t)("nav.back")),1),o[2]||(o[2]=a("span",{class:"header-separator"},"/",-1)),a("h1",null,n(e(U)),1),e(y)?(i(),r("span",be,n(e(y)),1)):C("",!0)]),a("div",ke,[!e(c)&&e(k)&&e(E)?(i(),r("button",{key:0,class:ce(["btn btn-sm",e($)?"btn-danger":"btn-success"]),disabled:e(h),onClick:te},n(e(h)?"...":e($)?e(t)("column.deactivate"):e(t)("column.activate")),11,Ce)):C("",!0),e(c)?C("",!0):(i(),r("button",{key:1,class:"btn btn-secondary btn-sm",onClick:O},n(e(S)?e(t)("form.copied"):e(t)("form.copy")),1)),e(c)?(i(),r(ue,{key:3},[a("button",{class:"btn btn-secondary btn-sm",onClick:X},n(e(t)("modal.cancel")),1),a("button",{class:"btn btn-primary btn-sm",disabled:e(_)||!e(p),onClick:Y},n(e(_)?e(t)("form.saving"):e(t)("form.save")),9,we)],64)):(i(),r("button",{key:2,class:"btn btn-primary btn-sm",onClick:Q},n(e(t)("column.edit")),1))])]),e(L)==="pending"?(i(),r("div",Pe,n(e(t)("app.loading")),1)):e(V)?(i(),r("div",Se,n(e(V).message),1)):(i(),r("div",$e,[e(c)?de((i(),r("textarea",{key:1,"onUpdate:modelValue":o[0]||(o[0]=x=>me(m)?m.value=x:null),class:"code-editor",spellcheck:"false",onInput:o[1]||(o[1]=x=>p.value=!0)},null,544)),[[pe,e(m)]]):(i(),r("pre",xe,[a("code",null,n(e(f)),1)])),a("div",Ne,[a("span",Be,[a("strong",null,n(e(t)("column.lines"))+":",1),q(" "+n(e(Z)),1)]),a("span",Te,[a("strong",null,n(e(t)("column.chars"))+":",1),q(" "+n(e(K)),1)]),e(c)&&e(p)?(i(),r("span",Ve,n(e(t)("form.unsavedChanges")),1)):C("",!0)])]))]))}}),Ee=ve(Fe,[["__scopeId","data-v-bf4ee782"]]);export{Ee as default};
@@ -1 +1 @@
1
- import{_ as z}from"./jYOQFUDH.js";import{d as B,G as D,r as g,v as b,l as I,m as L,o as M,y as k,s as N,c as n,f as O,e as s,h as c,t,j as $,F as v,p as C,b as r,q as P,_ as j}from"./BfvaD8zq.js";import{u as S}from"./p0o0xQ7S.js";import{u as q}from"./vfCqvZ7p.js";import"./BhrZFGnk.js";const E={class:"issue-terminal-page"},G={class:"terminal-content card"},W={class:"terminal-header"},X={class:"terminal-actions"},J={key:0,class:"terminal-empty"},K={class:"section-header"},Q={class:"section-icon"},U={class:"section-column"},Y={class:"section-session"},Z={key:0,class:"log-time"},x={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>S(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),H=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>S(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=q();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),A=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const F=z;return r(),n("div",E,[O(F,{issue:c(H),"active-tab":"terminal"},null,8,["issue"]),s("div",G,[s("div",W,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",X,[s("button",{class:"btn btn-secondary btn-sm",onClick:A},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",J,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",K,[s("span",Q,t(V(p)),1),s("span",U,t(_.column),1),s("span",Y,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,R)=>(r(),n("div",{key:`${p}-${R}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Z,t(w(d.timestamp)),1)):$("",!0),s("span",x,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=j(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};
1
+ import{_ as z}from"./D90sdSc5.js";import{d as B,G as D,r as g,v as b,l as I,m as L,o as M,y as k,s as N,c as n,f as O,e as s,h as c,t,j as $,F as v,p as C,b as r,q as P,_ as j}from"./Btwtsr_u.js";import{u as S}from"./BvE9NWMw.js";import{u as q}from"./BcawioR3.js";import"./CuwYCM4v.js";const E={class:"issue-terminal-page"},G={class:"terminal-content card"},W={class:"terminal-header"},X={class:"terminal-actions"},J={key:0,class:"terminal-empty"},K={class:"section-header"},Q={class:"section-icon"},U={class:"section-column"},Y={class:"section-session"},Z={key:0,class:"log-time"},x={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>S(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),H=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>S(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=q();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),A=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const F=z;return r(),n("div",E,[O(F,{issue:c(H),"active-tab":"terminal"},null,8,["issue"]),s("div",G,[s("div",W,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",X,[s("button",{class:"btn btn-secondary btn-sm",onClick:A},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",J,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",K,[s("span",Q,t(V(p)),1),s("span",U,t(_.column),1),s("span",Y,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,R)=>(r(),n("div",{key:`${p}-${R}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Z,t(w(d.timestamp)),1)):$("",!0),s("span",x,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=j(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};