semiotic 3.7.1 → 3.7.3

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.
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";const e=require("react/jsx-runtime"),t=require("react"),n=require("d3-interpolate"),o=require("d3-array"),r=require("d3-force"),i=require("d3-scale"),a=require("d3-chord"),s=require("d3-shape"),l=require("d3-hierarchy");function c(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const d=c(t);function u(e){return Array.isArray(e)?e[0]:e}function h(e,t,n,o){return Object.assign({data:u(e),x:t,y:n,__semioticHoverData:!0},o)}const f={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},g={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};function y(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}function p(e,t,n){const o=e=>e.toString(16).padStart(2,"0");return`#${o(e)}${o(t)}${o(n)}`}function m(e){const t=e.map(y),n=t.length-1;return e=>{if(0>=e){const[e,n,o]=t[0];return p(e,n,o)}if(e>=1){const[e,o,r]=t[n];return p(e,o,r)}const o=e*n,r=Math.floor(o),i=o-r,[a,s,l]=t[r],[c,d,u]=t[r+1];return p(Math.round(a+(c-a)*i),Math.round(s+(d-s)*i),Math.round(l+(u-l)*i))}}const v=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],b=m(["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]),x=m(["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]),k=m(["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]),w=m(["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]),S=m(["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]);m(["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]);const M=m(["#440154","#482878","#3e4989","#31688e","#26828e","#1f9e89","#35b779","#6ece58","#b5de2b","#fde725"]),A=m(["#0d0887","#41049d","#6a00a8","#8f0da4","#b12a90","#cb4679","#e16462","#f1844b","#fca636","#fcce25","#f0f921"]);m(["#000004","#160b39","#420a68","#6a176e","#932667","#bc3754","#dd513a","#f3771a","#fca50a","#f6d746","#fcffa4"]),m(["#000004","#140e36","#3b0f70","#641a80","#8c2981","#b73779","#de4968","#f7705c","#fe9f6d","#fecf92","#fcfdbf"]),m(["#00224e","#123570","#3b496c","#575d6d","#707173","#8a8678","#a59c74","#c3b369","#e1cc55","#fee838","#ffea46"]),m(["#23171b","#4a58dd","#3f9ee9","#46c7af","#7eed5a","#cdf134","#fbb91f","#f56918","#c52f06","#7a0403"]),m(["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]),m(["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]),m(["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]),m(["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]),m(["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]),m(["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]),m(["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]);class j{constructor(e){this.capacity=e,this.particles=Array(e),this._freeIndices=Array(e);for(let t=0;e>t;t++)this.particles[t]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices[t]=e-1-t}spawn(e){const t=this._freeIndices.pop();if(void 0===t)return null;const n=this.particles[t];return n.active=!0,n.t=0,n.offset=Math.random()-.5,n.edgeIndex=e,n.x=0,n.y=0,n}step(e,t,n,o){var r;for(let i=0;this.capacity>i;i++){const a=this.particles[i];if(!a.active)continue;const s=n[a.edgeIndex];if(!s||!s.bezier){a.active=!1,this._freeIndices.push(i);continue}const l=o&&null!==(r=o[a.edgeIndex])&&void 0!==r?r:1;a.t+=e*t*l*(s.bezier.circular?.3:1),1>a.t?L(s.bezier,a.t,a.offset,a):(a.active=!1,this._freeIndices.push(i))}}countForEdge(e){let t=0;for(let n=0;this.capacity>n;n++)this.particles[n].active&&this.particles[n].edgeIndex===e&&t++;return t}clear(){for(let e=0;this.capacity>e;e++)this.particles[e].active=!1;this._freeIndices.length=0;for(let e=this.capacity-1;e>=0;e--)this._freeIndices.push(e)}resize(e){if(this.capacity>=e)return;const t=this.particles;this.particles=Array(e);for(let n=0;e>n;n++)t.length>n?this.particles[n]=t[n]:(this.particles[n]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices.push(n));this.capacity=e}}function L(e,t,n,o){if(e.circular&&e.segments)return void function(e,t,n,o,r){const i=e.length,a=t*i,s=Math.min(Math.floor(a),i-1),l=a-s,[c,d,u,h]=e[s];C(c,d,u,h,l,r);const f=h.x-c.x,g=h.y-c.y,y=Math.sqrt(f*f+g*g);if(y>.001){const e=f/y;r.x+=-g/y*n*o*2,r.y+=e*n*o*2}}(e.segments,t,n,e.halfWidth,o);if(!e.points)return o.x=0,void(o.y=0);const[r,i,a,s]=e.points;C(r,i,a,s,t,o);const l=s.x-r.x,c=s.y-r.y,d=Math.sqrt(l*l+c*c);if(d>.001){const t=l/d;o.x+=-c/d*n*e.halfWidth*2,o.y+=t*n*e.halfWidth*2}}function C(e,t,n,o,r,i){const a=1-r,s=a*a,l=s*a,c=r*r,d=c*r;i.x=l*e.x+3*s*r*t.x+3*a*c*n.x+d*o.x,i.y=l*e.y+3*s*r*t.y+3*a*c*n.y+d*o.y}function E(e,t){var n=e.get(t);if(!n)throw Error("missing: "+t);return n}function D(e,t){var n,o=[],r=[],i=[],a={},s=[];function l(e){i[e]=!1,a.hasOwnProperty(e)&&Object.keys(a[e]).forEach(function(t){delete a[e][t],i[t]&&l(t)})}function c(e){var t,o,u=!1;for(r.push(e),i[e]=!0,t=0;s[e].length>t;t++)(o=s[e][t])===n?(d(n,r),u=!0):i[o]||(u=c(o));if(u)l(e);else for(t=0;s[e].length>t;t++){var h=a[o=s[e][t]];h||(a[o]=h={}),h[o]=!0}return r.pop(),u}function d(e,t){var n=[].concat(t).concat(e);o.push(n)}function u(t){!function(t){for(var n=0;e.length>n;n++)n>=t&&e[n]||(e[n]=[]),e[n]=e[n].filter(function(e){return e>=t})}(t);for(var n,o=function(e){for(var t=e.length,n=Array(t),o=Array(t),r=Array(t),i=Array(t),a=Array(t),s=Array(t),l=0;t>l;++l)n[l]=-1,o[l]=0,r[l]=!1,i[l]=0,a[l]=-1,s[l]=[];var c,d=0,u=[],h=[];function f(t){var l=[t],c=[t];for(n[t]=o[t]=d,r[t]=!0,d+=1;c.length>0;){var f=e[t=c[c.length-1]];if(f.length>i[t]){for(var g=i[t];f.length>g;++g){var y=f[g];if(0>n[y]){n[y]=o[y]=d,r[y]=!0,d+=1,l.push(y),c.push(y);break}r[y]&&(o[t]=0|Math.min(o[t],o[y])),0>a[y]||s[t].push(a[y])}i[t]=g}else{if(o[t]===n[t]){var p=[],m=[],v=0;for(g=l.length-1;g>=0;--g){var b=l[g];if(r[b]=!1,p.push(b),m.push(s[b]),v+=s[b].length,a[b]=u.length,b===t){l.length=g;break}}u.push(p);var x=Array(v);for(g=0;m.length>g;g++)for(var k=0;m[g].length>k;k++)x[--v]=m[g][k];h.push(x)}c.pop()}}}for(l=0;t>l;++l)0>n[l]&&f(l);for(l=0;h.length>l;l++){var g=h[l];if(0!==g.length){g.sort(function(e,t){return e-t}),c=[g[0]];for(var y=1;g.length>y;y++)g[y]!==g[y-1]&&c.push(g[y]);h[l]=c}}return{components:u,adjacencyList:h}}(e),r=o.components.filter(function(e){return e.length>1}),i=1/0,a=0;r.length>a;a++)for(var s=0;r[a].length>s;s++)i>r[a][s]&&(i=r[a][s],n=a);var l=r[n];if(!l)return!1;var c=e.map(function(e,t){return-1===l.indexOf(t)?[]:e.filter(function(e){return-1!==l.indexOf(e)})});return{leastVertex:i,adjList:c}}n=0;for(var h=e.length;h>n;){var f=u(n);if(n=f.leastVertex,s=f.adjList){for(var g=0;s.length>g;g++)for(var y=0;s[g].length>y;y++){var p=s[g][y];i[+p]=!1,a[p]={}}c(n),n+=1}else n=h}return o}function O(e){return e.y0-e.y1>0?"up":"down"}function P(e,t){return t(e.source)==t(e.target)}function T(e){var t=0;e.source.sourceLinks.forEach(function(e){t=e.circular?t+1:t});var n=0;return e.target.targetLinks.forEach(function(e){n=e.circular?n+1:n}),1>=t&&1>=n}function N(e){return e.target.x0-e.source.x1}function I(e,t){var n=W(e),o=N(t)/Math.tan(n);return"up"==O(e)?e.y1-o:e.y1+o}function _(e,t){var n=W(e),o=N(t)/Math.tan(n);return"up"==O(e)?e.y1+o:e.y1-o}function W(e){var t=Math.abs(e.y1-e.y0);return Math.atan(Math.abs(e.target.x0-e.source.x1)/t)}function R(e,t){return t(e)}function $(e){return z(e.source)}function B(e){return z(e.target)}function z(e){return(e.y0+e.y1)/2}function H(e){return e.virtual?0:e.value}function F(e,t){var n=0;e.sourceLinks.forEach(function(e){n=e.circular&&!P(e,t)?n+1:n});var o=0;return e.targetLinks.forEach(function(e){o=e.circular&&!P(e,t)?o+1:o}),n+o}function Y(e){return e.target.depth}function X(e,t){return e.sourceLinks.length?e.depth:t-1}function G(e,t){return e.y0-t.y0}function q(e,t){return t.y0-e.y0}function V(e,t){return e.y1-t.y1}function K(e,t){return t.y1-e.y1}function Z(e,t){return Q(e.source,t.source)||e.index-t.index}function U(e,t){return Q(e.target,t.target)||e.index-t.index}function Q(e,t){return e.partOfCycle===t.partOfCycle?e.y0-t.y0:"top"===e.circularLinkType||"bottom"===t.circularLinkType?-1:1}function J(e,t){return ee(e)==ee(t)?"bottom"==e.circularLinkType?q(e,t):G(e,t):ee(t)-ee(e)}function ee(e){return e.target.column-e.source.column}function te(e,t){return ne(e)==ne(t)}function ne(e){return e.y0-e.y1>0?"up":"down"}function oe(e,t,n,r,i){let a=e;var s=Math.max(8,.15*(a.y1-a.y0));a.links.forEach(function(e){e.circular&&(e._circularWidth=Math.min(e.width,s))});var l=o.min(a.links,function(e){return e.source.y0});a.links.forEach(function(e){e.circular&&(e.circularPathData={})});var c=a.links.filter(function(e){return e.circular});return c.sort(function(e,t){return t.value-e.value}),c.forEach(function(e,t){e._circularStub=t>=4}),re(a.links.filter(function(e){return"top"==e.circularLinkType}),t,n),re(a.links.filter(function(e){return"bottom"==e.circularLinkType}),t,n),a.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e._circularWidth+r,e.circularPathData.rightNodeBuffer=5,e.circularPathData.leftNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,P(e,t)&&T(e))e.circularPathData.rightSmallArcRadius=r+e._circularWidth/2,e.circularPathData.rightLargeArcRadius=r+e._circularWidth/2,e.circularPathData.leftSmallArcRadius=r+e._circularWidth/2,e.circularPathData.leftLargeArcRadius=r+e._circularWidth/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+i+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-i-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius);else{var o=e.source.column,s=e.circularLinkType,c=a.links.filter(function(e){return e.source.column==o&&e.circularLinkType==s});c.sort("bottom"==e.circularLinkType?q:G);var d=0;c.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=r+e._circularWidth/2+d,e.circularPathData.rightLargeArcRadius=r+e._circularWidth/2+o*n+d),d+=t._circularWidth||t.width}),o=e.target.column,(c=a.links.filter(function(e){return e.target.column==o&&e.circularLinkType==s})).sort("bottom"==e.circularLinkType?K:V),d=0,c.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=r+e._circularWidth/2+d,e.circularPathData.leftLargeArcRadius=r+e._circularWidth/2+o*n+d),d+=t._circularWidth||t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a.y1,e.source.y1,e.target.y1)+i+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=l-i-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius)}e.circularPathData.rightInnerExtent=e.circularPathData.sourceX+e.circularPathData.rightNodeBuffer,e.circularPathData.leftInnerExtent=e.circularPathData.targetX-e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.sourceX+e.circularPathData.rightLargeArcRadius+e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.targetX-e.circularPathData.leftLargeArcRadius-e.circularPathData.leftNodeBuffer}e.path=e.circular?function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(e):function(e){var t=e.source.x1,n=e.y0,o=e.target.x0,r=e.y1,i=(t+o)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+o+","+r}(e)}),a}function re(e,t,n){e.sort(J);var o=e.filter(function(e){return!e._circularStub});return e.forEach(function(e,r){var i=0;if(e._circularStub)e.circularPathData.verticalBuffer=0;else if(P(e,t)&&T(e))e.circularPathData.verticalBuffer=i+e._circularWidth/2;else{for(var a=0;o.length>a;a++){var s=o[a];if(s!==e&&s.circularPathData&&void 0!==s.circularPathData.verticalBuffer&&ie(e,s)){var l=s.circularPathData.verticalBuffer+(s._circularWidth||s.width)/2+n;i=l>i?l:i}}e.circularPathData.verticalBuffer=i+e._circularWidth/2}}),e}function ie(e,t){return e.source.column>=t.target.column&&t.source.column>=e.target.column}function ae(e){return function(){return e}}function se(e){return e.index}function le(e){return e.nodes}function ce(e){return e.links}function de(e,t,n){var r=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});r.forEach(function(o,i){var a=o.length;if(t)o.sort(t);else if(i>0){var s=new Map;o.forEach(function(e,t){var n,o,r,i=(o=0,r=0,(n=e).targetLinks.forEach(function(e){if(!e.circular){var t=e.value||1;r+=z(e.source)*t,o+=t}}),n.sourceLinks.forEach(function(e){if(!e.circular){var t=e.value||1;r+=z(e.target)*t,o+=t}}),o>0?r/o:NaN);s.set(e,{bc:i,idx:t})}),o.sort(function(e,t){var n=s.get(e),o=s.get(t),r=n.bc,i=o.bc;if(e.circularLinkType!==t.circularLinkType){if("top"==e.circularLinkType&&"bottom"==t.circularLinkType)return-1;if("bottom"==e.circularLinkType&&"top"==t.circularLinkType)return 1;if("top"==e.circularLinkType)return-1;if("top"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return-1}return isNaN(r)||isNaN(i)?isNaN(r)?isNaN(i)?n.idx-o.idx:1:-1:r-i})}else o.sort(function(e,t){return e.circularLinkType==t.circularLinkType?F(t,n)-F(e,n):"top"==e.circularLinkType&&"bottom"==t.circularLinkType||"top"==e.circularLinkType&&0==t.partOfCycle||0==e.partOfCycle&&"bottom"==t.circularLinkType?-1:0});o.forEach(function(t,o){t.depth==r.length-1&&1==a||0==t.depth&&1==a?(t.y0=e.y1/2-t.value*e.ky,t.y1=t.y0+t.value*e.ky):t.partOfCycle?0==F(t,n)?(t.y0=e.y1/2+o,t.y1=t.y0+t.value*e.ky):"top"==t.circularLinkType?(t.y0=e.y0+o,t.y1=t.y0+t.value*e.ky):(t.y0=e.y1-t.value*e.ky-o,t.y1=t.y0+t.value*e.ky):0==e.y0||0==e.y1?(t.y0=(e.y1-e.y0)/a*o,t.y1=t.y0+t.value*e.ky):(t.y0=(e.y1-e.y0)/2-a/2+o,t.y1=t.y0+t.value*e.ky)})})}function ue(e,t,n,r,i,a){var s=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});u();for(var l=1,c=a;c>0;--c)d(l*=.99,n),u();function d(t,n){var r=s.length;s.forEach(function(i){var a=i.length,s=i[0].depth;i.forEach(function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&F(i,n)>0){var c=o.mean(i.sourceLinks,B),d=o.mean(i.targetLinks,$),u=c&&d?(c+d)/2:c||d;if(u){var h=(u-z(i))*t*.3;i.y0+=h,i.y1+=h}}else if(0==s&&1==a)i.y0=e.y1/2-(l=i.y1-i.y0)/2,i.y1=e.y1/2+l/2;else if(s==r-1&&1==a)i.y0=e.y1/2-(l=i.y1-i.y0)/2,i.y1=e.y1/2+l/2;else if(1==i.targetLinks.length&&1==i.targetLinks[0].source.sourceLinks.length)l=i.y1-i.y0,i.y0=i.targetLinks[0].source.y0,i.y1=i.y0+l;else{var f=o.mean(i.sourceLinks,B),g=o.mean(i.targetLinks,$),y=((f&&g?(f+g)/2:f||g)-z(i))*t;i.y0+=y,i.y1+=y}})})}function u(){s.forEach(function(n){var o,a,s,l=e.y0,c=n.length;for(n.sort(t||Q),s=0;c>s;++s)(a=l-(o=n[s]).y0)>0&&(o.y0+=a,o.y1+=a),l=o.y1+r;if((a=l-r-e.y1)>0)for(l=o.y0-=a,o.y1-=a,s=c-2;s>=0;--s)(a=(o=n[s]).y1+i-l)>0&&(o.y0-=a,o.y1-=a),l=o.y0})}}function he(e){e.nodes.forEach(function(e){e.sourceLinks.sort(U),e.targetLinks.sort(Z)}),e.nodes.forEach(function(e){var t=e.y0,n=t,o=e.y1,r=o;e.sourceLinks.forEach(function(e){e.circular?(e.y0=o-e.width/2,o-=e.width):(e.y0=t+e.width/2,t+=e.width)}),e.targetLinks.forEach(function(e){e.circular?(e.y1=r-e.width/2,r-=e.width):(e.y1=n+e.width/2,n+=e.width)})})}function fe(){var e=0,t=0,n=1,r=1,i=24,a=8,s=null,l=se,c=X,d=void 0,u=32,h=2,f=le,g=ce;function y(){var y={nodes:f.apply(null,arguments),links:g.apply(null,arguments)};return function(f){f.x0=e,f.y0=t,f.x1=n,f.y1=r,f.py=0,function(e,t){e.nodes.forEach(function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]});var n=function(e,t){var n=new Map;return o.group(e,t).forEach(function(e,t){n.set(t,e[0])}),n}(e.nodes,t);e.links.forEach(function(e,t){e.index=t;var o=e.source,r=e.target;"object"!=typeof o&&(o=e.source=E(n,o)),"object"!=typeof r&&(r=e.target=E(n,r)),o.sourceLinks.push(e),r.targetLinks.push(e)})}(f,l),function(e,t){var n=0;if(null==t){for(var o=[],r=0;e.links.length>r;r++){var i=e.links[r],a=i.source.index,s=i.target.index;o[a]||(o[a]=[]),o[s]||(o[s]=[]),-1===o[a].indexOf(s)&&o[a].push(s)}var l=D(o);l.sort(function(e,t){return e.length-t.length});var c={};for(r=0;l.length>r;r++){var d=l[r].slice(-2);c[d[0]]||(c[d[0]]={}),c[d[0]][d[1]]=!0}e.links.forEach(function(e){var t=e.target.index,o=e.source.index;t===o||c[o]&&c[o][t]?(e.circular=!0,e.circularLinkID=n++):e.circular=!1})}else e.links.forEach(function(e){t(e.source)<t(e.target)?e.circular=!1:(e.circular=!0,e.circularLinkID=n++)})}(f,d),function(e,t){var n=0,o=0;e.links.forEach(function(r){r.circular&&(r.circularLinkType=r.source.circularLinkType||r.target.circularLinkType?r.source.circularLinkType?r.source.circularLinkType:r.target.circularLinkType:o>n?"top":"bottom","top"==r.circularLinkType?n++:o++,e.nodes.forEach(function(e){R(e,t)!=R(r.source,t)&&R(e,t)!=R(r.target,t)||(e.circularLinkType=r.circularLinkType)}))}),e.links.forEach(function(e){e.circular&&(e.source.circularLinkType==e.target.circularLinkType&&(e.circularLinkType=e.source.circularLinkType),P(e,t)&&(e.circularLinkType=e.source.circularLinkType))})}(f,l),function(e){e.nodes.forEach(function(e){e.partOfCycle=!1,e.value=Math.max(o.sum(e.sourceLinks,H),o.sum(e.targetLinks,H)),e.sourceLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)}),e.targetLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)})})}(f),function(e,t,n){var o,r,i;if(null!=t){e.nodes.sort(function(e,n){return t(e)<t(n)?-1:1});var a=0,s=t(e.nodes[0]);e.nodes.forEach(function(e){a=t(e)==s?a:a+1,s=t(e)==s?s:t(e),e.column=a})}for(o=e.nodes,r=[],i=0;o.length;++i,o=r,r=[])o.forEach(function(e){e.depth=i,e.sourceLinks.forEach(function(e){0>r.indexOf(e.target)&&!e.circular&&r.push(e.target)})});for(o=e.nodes,r=[],i=0;o.length;++i,o=r,r=[])o.forEach(function(e){e.height=i,e.targetLinks.forEach(function(e){0>r.indexOf(e.source)&&!e.circular&&r.push(e.source)})});e.nodes.forEach(function(e){e.column=null==t?n(e,i):e.column})}(f,d,c);var g=a;if(null!==s){var y=o.groups(f.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]}),p=o.max(y,function(e){return e.length});p>1&&(g=Math.max(1,(r-t)*s/(p-1)))}(function(e,t,n){var r=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});e.py=t;var i=o.min(r,function(t){return(e.y1-e.y0-(t.length-1)*e.py)/o.sum(t,function(e){return e.value})});e.ky=i,e.links.forEach(function(t){t.width=t.value*e.ky});var a=o.max(e.nodes,function(e){return e.column});e.nodes.forEach(a>0?function(t){t.x0=e.x0+t.column*((e.x1-e.x0-n)/a),t.x1=t.x0+n}:function(t){t.x0=e.x0,t.x1=t.x0+n})})(f,g,i),de(f,d,l),ue(f,d,l,g,g,u),he(f),oe(f,l,h,10,8),de(f,d,l),ue(f,d,l,g,g,u),he(f),oe(f,l,h,10,8),function(e,t){let n=e;n.nodes.forEach(function(e){e.y+(e.y1-e.y0)>n.y1&&(e.y=e.y-(e.y+(e.y1-e.y0)-n.y1));var o=n.links.filter(function(n){return R(n.source,t)==R(e,t)}),r=o.length;r>1&&o.sort(function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!te(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var n=I(t,e);return e.y1-n}if(t.target.column>e.target.column)return I(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;o.forEach(function(e){e.y0=i+e.width/2,i+=e.width}),o.forEach(function(t,n){if("bottom"==t.circularLinkType){for(var i=n+1,a=0;r>i;i++)a+=o[i].width;t.y0=e.y1-a-t.width/2}})})}(f,l),function(e,t){let n=e;n.nodes.forEach(function(e){var o=n.links.filter(function(n){return R(n.target,t)==R(e,t)}),r=o.length;r>1&&o.sort(function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!te(e,t))return e.y0-t.y0;if(e.source.column>t.source.column){var n=_(t,e);return e.y0-n}if(t.source.column>e.source.column)return _(e,t)-t.y0}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:e.source.column-t.source.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:t.source.column-e.source.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;o.forEach(function(e){e.y1=i+e.width/2,i+=e.width}),o.forEach(function(t,n){if("bottom"==t.circularLinkType){for(var i=n+1,a=0;r>i;i++)a+=o[i].width;t.y1=e.y1-a-t.width/2}})})}(f,l),function(e){var t=e.nodes,n=e.links,r=!1,i=!1;if(n.forEach(function(e){"top"==e.circularLinkType?r=!0:"bottom"==e.circularLinkType&&(i=!0)}),0==r||0==i){var a=o.min(t,function(e){return e.y0}),s=o.max(t,function(e){return e.y1}),l=(e.y1-e.y0)/(s-a);function c(t){return(t-a)/(s-a)*(e.y1-e.y0)+e.y0}1>l?(t.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1)}),n.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1),e.width=e.width*l})):t.forEach(function(e){var t=e.y1-e.y0,n=c(e.y0)-e.y0;e.y0=c(e.y0),e.y1=e.y0+t,e.sourceLinks.forEach(function(e){e.y0=e.y0+n}),e.targetLinks.forEach(function(e){e.y1=e.y1+n})})}}(f),oe(f,l,h,10,8)}(y),y}return y.update=function(e){return he(e),oe(e,l,h,10,8),e},y.nodeWidth=function(e){return arguments.length?(i=+e,y):i},y.nodePadding=function(e){return arguments.length?(a=+e,y):a},y.nodePaddingRatio=function(e){return arguments.length?(s=+e,y):s},y.nodes=function(e){return arguments.length?(f="function"==typeof e?e:ae(e),y):f},y.links=function(e){return arguments.length?(g="function"==typeof e?e:ae(e),y):g},y.nodeId=function(e){return arguments.length?(l="function"==typeof e?e:ae(e),y):l},y.nodeAlign=function(e){return arguments.length?(c="function"==typeof e?e:ae(e),y):c},y.nodeSort=function(e){return arguments.length?(d=e,y):d},y.iterations=function(e){return arguments.length?(u=+e,y):u},y.circularLinkGap=function(e){return arguments.length?(h=+e,y):h},y.extent=function(o){return arguments.length?(e=+o[0][0],t=+o[0][1],n=+o[1][0],r=+o[1][1],y):[[e,t],[n,r]]},y.size=function(o){return arguments.length?(e=t=0,n=+o[0],r=+o[1],y):[n-e,r-t]},y}function ge(e){const{sx:t,sTop:n,sBot:o,tx:r,tTop:i,tBot:a,cp1X:s,cp2X:l}=e,c=(n+o)/2,d=(i+a)/2;return{pathD:[`M${t},${n}`,`C${s},${n} ${l},${i} ${r},${i}`,`L${r},${a}`,`C${l},${a} ${s},${o} ${t},${o}`,"Z"].join(" "),bezier:{circular:!1,points:[{x:t,y:c},{x:s,y:c},{x:l,y:d},{x:r,y:d}],halfWidth:(o-n)/2}}}const ye=e=>{let t,o,r,i,a,s,l,c,d;if("down"===e.direction)return t=e.y0-e.sankeyWidth/2,o=e.y1-e.sankeyWidth/2,r=e.y1+e.sankeyWidth/2,i=e.y0+e.sankeyWidth/2,a=e.source.x1,s=e.target.x0,l=n.interpolateNumber(a,s),c=l(.5),d=l(.5),`M${t},${a}C${t},${c} ${o},${d} ${o},${s}L${r},${s}C${r},${d} ${i},${c} ${i},${a}Z`;const u=e.sankeyWidth/2,h=n.interpolateNumber(e.source.x1,e.target.x0),{pathD:f}=ge({sx:e.source.x1,sTop:e.y0-u,sBot:e.y0+u,tx:e.target.x0,tTop:e.y1-u,tBot:e.y1+u,cp1X:h(.5),cp2X:h(.5)});return f};function pe(e){var t;const n=e.sankeyWidth/2,o=(null!==(t=e._circularWidth)&&void 0!==t?t:e.sankeyWidth)/2,r=e.circularPathData;if(!r)return null;if("down"===e.direction)return null;if(e._circularStub){const t=r.sourceX,o=r.sourceY,i=r.targetX,a=r.targetY;if("object"!=typeof e.source||!e.source||"object"!=typeof e.target||!e.target)return null;const s=Math.max(15,Math.min(40,.33*(r.rightFullExtent-t))),l=Math.max(15,Math.min(40,.33*(i-r.leftFullExtent)));return`M${t},${o-n}L${t+s},${o-n}L${t+s},${o+n}L${t},${o+n}ZM${i},${a-n}L${i-l},${a-n}L${i-l},${a+n}L${i},${a+n}Z`}const i=r.sourceX,a=r.sourceY,s=r.targetX,l=r.targetY,c=r.rightFullExtent,d=r.leftFullExtent,u=r.verticalFullExtent,h="bottom"===e.circularLinkType?1:-1,f=Math.max(4,Math.min(o,15));return`M${i},${a-h*n}L${c},${a-h*n}L${c+o},${a-h*n+h*f}L${c+o},${u+h*o-h*f}L${c+o-f},${u+h*o}L${d-o+f},${u+h*o}L${d-o},${u+h*o-h*f}L${d-o},${l-h*n+h*f}L${d-o+f},${l-h*n}L${s},${l-h*n}L${s},${l+h*n}L${d+o},${l+h*n}L${d+o},${u-h*o}L${c-o},${u-h*o}L${c-o},${a+h*n}L${i},${a+h*n}Z`}const me=new Set,ve=new WeakMap;function be(e,t){if("production"===process.env.NODE_ENV)return e;if(!e||!e.data||"object"!=typeof e.data)return e;let n=ve.get(e);if(n){const e=n.get(t);if(e)return e}else n=new Map,ve.set(e,n);const o=new Proxy(e,{get(e,n,o){if("string"==typeof n&&!(n in e)&&e.data&&n in e.data){const e=`${t}:${n}`;me.has(e)||(me.add(e),console.warn(`[Semiotic] "${t}" callback accessed "${n}" on the wrapper object, but it only exists on ".data". Use d.data.${n} (or d.data?.${n}) instead. Frame callbacks receive RealtimeNode/RealtimeEdge wrappers, not your raw data.`))}return Reflect.get(e,n,o)}});return n.set(t,o),o}const xe={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Math.min.apply(Math,e.sourceLinks.map(Y))-1:0},justify:X};function ke(e){return"string"==typeof e?e:e.id}const we={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,n,o){var r,i,a,s,l,c,d;if(0===e.length)return;const u="vertical"===n.orientation?"down":"right",h=n.nodeAlign||"justify",f=null!==(r=n.nodeWidth)&&void 0!==r?r:15,g=null!==(i=n.nodePaddingRatio)&&void 0!==i?i:.05,y=null!==(a=n.iterations)&&void 0!==a?a:100,p=e.map(e=>Object.assign({},e)),m=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id,value:Math.sqrt(Math.max(1,e.value||1))}));let v;v="down"===u?[[0,0],[o[1],o[0]]]:[[0,0],[o[0],o[1]]];const b=fe().extent(v).links(m).nodes(p).nodeAlign(xe[h]||X).nodeId(e=>e.id).nodeWidth(f).iterations(y);b.nodePaddingRatio&&b.nodePaddingRatio(g),b();{let e=1/0,t=-1/0,n=1/0,r=-1/0;for(const o of p)e>o.x0&&(e=o.x0),o.x1>t&&(t=o.x1),n>o.y0&&(n=o.y0),o.y1>r&&(r=o.y1);for(const o of m){if(!o.circular||!o.circularPathData)continue;const i=o.circularPathData,a=(null!==(l=null!==(s=o._circularWidth)&&void 0!==s?s:o.width)&&void 0!==l?l:0)/2;e>i.leftFullExtent-a&&(e=i.leftFullExtent-a),i.rightFullExtent+a>t&&(t=i.rightFullExtent+a),n>i.verticalFullExtent-a&&(n=i.verticalFullExtent-a),i.verticalFullExtent+a>r&&(r=i.verticalFullExtent+a)}const i=t-e,a=r-n,d=o[0],u=o[1];if(i>0&&a>0&&(0>e||0>n||t>d||r>u)){const t=Math.min(d/i,u/a),o=-e*t+(d-i*t)/2,r=-n*t+(u-a*t)/2;for(const e of p)e.x0=e.x0*t+o,e.x1=e.x1*t+o,e.y0=e.y0*t+r,e.y1=e.y1*t+r;for(const e of m)if(e.y0=e.y0*t+r,e.y1=e.y1*t+r,e.width=(null!==(c=e.width)&&void 0!==c?c:0)*t,e._circularWidth&&(e._circularWidth*=t),e.circular&&e.circularPathData){const n=e.circularPathData;n.sourceX=n.sourceX*t+o,n.targetX=n.targetX*t+o,n.sourceY=n.sourceY*t+r,n.targetY=n.targetY*t+r,n.rightFullExtent=n.rightFullExtent*t+o,n.leftFullExtent=n.leftFullExtent*t+o,n.verticalFullExtent=n.verticalFullExtent*t+r,n.rightInnerExtent=n.rightInnerExtent*t+o,n.leftInnerExtent=n.leftInnerExtent*t+o,n.verticalRightInnerExtent=n.verticalRightInnerExtent*t+r,n.verticalLeftInnerExtent=n.verticalLeftInnerExtent*t+r,n.rightSmallArcRadius*=t,n.rightLargeArcRadius*=t,n.leftSmallArcRadius*=t,n.leftLargeArcRadius*=t,n.sourceWidth*=t,n.rightNodeBuffer*=t,n.leftNodeBuffer*=t,n.arcRadius*=t}}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of p){const t=x.get(e.id);t&&(t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.value=e.value,t.depth=e.depth,t.sourceLinks=e.sourceLinks,t.targetLinks=e.targetLinks,t.width=e.x1-e.x0,t.height=e.y1-e.y0,t.x=e.x0+(e.x1-e.x0)/2,t.y=e.y0+(e.y1-e.y0)/2)}const k=new Map;for(const e of t)k.set(e._edgeKey?e._edgeKey:`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const e of m){const t=ke(e.source),n=ke(e.target),o=k.get(e._edgeKey?e._edgeKey:`${t}\0${n}`);if(o){o.y0=e.y0,o.y1=e.y1,o.sankeyWidth=null!==(d=e.width)&&void 0!==d?d:0,o.circular=!!e.circular,o.circularPathData=e.circularPathData,o._circularWidth=e._circularWidth,o._circularStub=e._circularStub,o.path=e.path,o.circularLinkType=e.circularLinkType,o.direction=u;const r=x.get(t),i=x.get(n);r&&(o.source=r),i&&(o.target=i)}}},buildScene(e,t,n,o){var r,i,a,s,l,c;const d="vertical"===n.orientation?"down":"right",u=n.nodeStyle,h=n.edgeStyle,f=null!==(r=n.edgeOpacity)&&void 0!==r?r:.5,g=n.edgeColorBy||"source",y=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:v,p=new Map;e.forEach((e,t)=>{p.set(e.id,y[t%y.length])});const m=[],b=[],x=[],k=new Map;for(const t of e){const e=t.x1-t.x0,n=t.y1-t.y0;if(0>=e||0>=n)continue;const o=u?u(be(t,"nodeStyle")):{},r={fill:o.fill||p.get(t.id)||"#4d430c",stroke:o.stroke,strokeWidth:o.strokeWidth,opacity:o.opacity};k.set(t.id,("string"==typeof r.fill?r.fill:null)||p.get(t.id)||"#4d430c"),m.push("down"===d?{type:"rect",x:t.y0,y:t.x0,w:n,h:e,style:r,datum:t,id:t.id,label:t.id}:{type:"rect",x:t.x0,y:t.y0,w:e,h:n,style:r,datum:t,id:t.id,label:t.id})}const w=[...t].sort((e,t)=>(t.sankeyWidth||0)-(e.sankeyWidth||0));for(const e of w){if(!e.sankeyWidth||0>=e.sankeyWidth)continue;const t="object"==typeof e.source?e.source:null,o="object"==typeof e.target?e.target:null;if(!t||!o)continue;let r=(null===(i=n.themeSemantic)||void 0===i?void 0:i.border)||(null===(a=n.themeSemantic)||void 0===a?void 0:a.secondary)||"#999";r="function"==typeof g?g(e)||r:"target"===g?k.get(o.id)||p.get(o.id)||r:k.get(t.id)||p.get(t.id)||r;const d=h?h(be(e,"edgeStyle")):{};if(e._circularStub&&e.circular&&e.circularPathData){const t=e.circularPathData,n=e.sankeyWidth/2,o=Math.max(15,Math.min(40,.33*(t.rightFullExtent-t.sourceX))),i=Math.max(15,Math.min(40,.33*(t.targetX-t.leftFullExtent))),a=d.fill||r;b.push({type:"bezier",pathD:`M${t.sourceX},${t.sourceY-n}L${t.sourceX+o},${t.sourceY-n}L${t.sourceX+o},${t.sourceY+n}L${t.sourceX},${t.sourceY+n}Z`,style:{fill:a,fillOpacity:null!==(s=d.fillOpacity)&&void 0!==s?s:f,stroke:"none",opacity:d.opacity},datum:e,_gradient:{direction:"right",from:1,to:0,x0:t.sourceX,x1:t.sourceX+o}}),b.push({type:"bezier",pathD:`M${t.targetX},${t.targetY-n}L${t.targetX-i},${t.targetY-n}L${t.targetX-i},${t.targetY+n}L${t.targetX},${t.targetY+n}Z`,style:{fill:a,fillOpacity:null!==(l=d.fillOpacity)&&void 0!==l?l:f,stroke:"none",opacity:d.opacity},datum:e,_gradient:{direction:"left",from:0,to:1,x0:t.targetX-i,x1:t.targetX}});continue}let u;if(u=e.circular&&e.circularPathData?pe(e):ye(e),!u)continue;const y={fill:d.fill||r,fillOpacity:null!==(c=d.fillOpacity)&&void 0!==c?c:f,stroke:d.stroke||"none",strokeWidth:d.strokeWidth,opacity:d.opacity};b.push({type:"bezier",pathD:u,bezierCache:e.bezier,style:y,datum:e})}if(!1!==n.showLabels){const t=(S=n.nodeLabel)?"function"==typeof S?S:e=>e[S]||e.id:null;for(const n of e){const e=n.x1-n.x0,r=n.y1-n.y0;if(0>=e||0>=r)continue;const i=t?t(n):n.id;if(!i)continue;let a,s,l;"down"===d?(a=n.y0+(n.y1-n.y0)/2,s=n.x1+14,l="start"):(o[0]/2>n.x0+e/2?(a=n.x0-6,l="end"):(a=n.x1+6,l="start"),s=n.y0+r/2),x.push({x:a,y:s,text:i+"",anchor:"down"===d?"middle":l,baseline:"middle",fontSize:11})}}var S;return{sceneNodes:m,sceneEdges:b,labels:x}}},Se={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,n,o){var i,a;if(0===e.length)return;const s=null!==(i=n.forceStrength)&&void 0!==i?i:.1,l=o[0]/2,c=o[1]/2,d=n.__previousPositions;let u=0;const h=[];for(const t of e){const e=null!=t.x&&null!=t.y&&(0!==t.x||0!==t.y),n=null==d?void 0:d.get(t.id);e?u++:n?(t.x=n.x,t.y=n.y,u++):h.push(t)}const f=u>0&&.3>=(e.length>0?h.length/e.length:1);if(f){const n=new Map;for(const t of e)n.set(t.id,t);for(const e of h){const o=Me(e.id,t,n);if(o.length>0){let t=0,n=0;for(const e of o)t+=e.x,n+=e.y;const r=Ae(e.id),i=r%360*(Math.PI/180),a=10+r%20;e.x=t/o.length+a*Math.cos(i),e.y=n/o.length+a*Math.sin(i)}else{const t=Ae(e.id),n=t%360*(Math.PI/180),o=15+t%30;e.x=l+o*Math.cos(n),e.y=c+o*Math.sin(n)}}}else{const t=2.399963229728653;for(let n=0;e.length>n;n++){const o=e[n];if(null==o.x||null==o.y||0===o.x&&0===o.y){const e=10*Math.sqrt(n+.5),r=n*t;o.x=l+e*Math.cos(r),o.y=c+e*Math.sin(r)}}}const g=null!==(a=n.iterations)&&void 0!==a?a:Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),y=0===n.iterations?0:f?40:g,p=je(n.nodeSize,n.nodeSizeRange,e),m=e=>p(e);if(y>0){const n=r.forceLink().strength(e=>{const t=e.weight;return Math.min(2.5,t?t*s:s)}).id(e=>e.id),o=r.forceSimulation().force("charge",r.forceManyBody().strength(e=>-25*m(e))).force("center",r.forceCenter(l,c).strength(.8)).force("x",r.forceX(l).strength(.15)).force("y",r.forceY(c).strength(.15));if(o.nodes(e),t.length>0){const e=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id}));n.links(e),o.force("link",n)}f?o.alpha(.3):.1>o.alpha()&&o.alpha(1),o.stop();for(let e=0;y>e;++e)o.tick()}for(const t of e){if(null==t.x||null==t.y)continue;const e=m(t);t.x=Math.max(e,Math.min(o[0]-e,t.x)),t.y=Math.max(e,Math.min(o[1]-e,t.y)),t.x0=0,t.x1=0,t.y0=0,t.y1=0}const v=new Map;for(const t of e)v.set(t.id,t);for(const e of t){if("string"==typeof e.source){const t=v.get(e.source);t&&(e.source=t)}if("string"==typeof e.target){const t=v.get(e.target);t&&(e.target=t)}}},buildScene(e,t,n,o){var r,i,a,s,l,c,d;const u=n.nodeStyle,h=n.edgeStyle,f=je(n.nodeSize,n.nodeSizeRange,e),g=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:v,y=new Map;e.forEach((e,t)=>{y.set(e.id,g[t%g.length])});const p=[],m=[],b=[];for(const t of e){if(null==t.x||null==t.y)continue;const e=f(be(t,"nodeSize")),o=u?u(be(t,"nodeStyle")):{},s={fill:o.fill||y.get(t.id)||(null===(r=n.themeSemantic)||void 0===r?void 0:r.primary)||"#007bff",stroke:o.stroke||(null===(i=n.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=o.strokeWidth)&&void 0!==a?a:2,opacity:o.opacity};p.push({type:"circle",cx:t.x,cy:t.y,r:e,style:s,datum:t,id:t.id,label:t.id})}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:x.get(e.source),o="object"==typeof e.target?e.target:x.get(e.target);if(!t||!o)continue;if(null==t.x||null==t.y)continue;if(null==o.x||null==o.y)continue;const r=h?h(be(e,"edgeStyle")):{},i={stroke:r.stroke||(null===(s=n.themeSemantic)||void 0===s?void 0:s.border)||(null===(l=n.themeSemantic)||void 0===l?void 0:l.secondary)||"#999",strokeWidth:null!==(c=r.strokeWidth)&&void 0!==c?c:1,opacity:null!==(d=r.opacity)&&void 0!==d?d:.6};m.push({type:"line",x1:t.x,y1:t.y,x2:o.x,y2:o.y,style:i,datum:e})}if(!1!==n.showLabels){const t=(k=n.nodeLabel)?"function"==typeof k?k:e=>e[k]||e.id:null;for(const n of e){if(null==n.x||null==n.y)continue;const e=t?t(n):n.id;if(!e)continue;const o=f(be(n,"nodeSize"));b.push({x:n.x,y:n.y-o-4,text:e+"",anchor:"middle",baseline:"auto",fontSize:11})}}var k;return{sceneNodes:p,sceneEdges:m,labels:b}}};function Me(e,t,n){const o=[];for(const r of t){const t="string"==typeof r.source?r.source:r.source.id,i="string"==typeof r.target?r.target:r.target.id;let a=null;if(t===e?a=i:i===e&&(a=t),a){const e=n.get(a);!e||0===e.x&&0===e.y||o.push({x:e.x,y:e.y})}}return o}function Ae(e){let t=0;for(let n=0;e.length>n;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}function je(e,t,n){var r,a;if(null==e)return()=>8;if("number"==typeof e)return()=>e;if("function"==typeof e)return t=>e(t)||8;const s=t||[5,20],l=n.map(t=>{var n;return null===(n=t.data)||void 0===n?void 0:n[e]}).filter(e=>null!=e&&"number"==typeof e);if(0===l.length)return()=>s[0];const c=null!==(r=o.min(l))&&void 0!==r?r:0,d=null!==(a=o.max(l))&&void 0!==a?a:1;if(c===d)return()=>(s[0]+s[1])/2;const u=i.scaleLinear().domain([c,d]).range(s).clamp(!0);return t=>{var n;const o=null===(n=t.data)||void 0===n?void 0:n[e];return null==o||"number"!=typeof o?s[0]:u(o)}}const Le=v,Ce={supportsStreaming:!1,hierarchical:!1,computeLayout(e,t,n,o){if(0===e.length)return;const{padAngle:r=.01,groupWidth:i=20,sortGroups:l}=n,c=Math.min(o[0],o[1])/2,d=c-i,u=o[0]/2,h=o[1]/2,f=(g=n.valueAccessor)?"function"==typeof g?g:e=>{var t;return null!==(t=e[g])&&void 0!==t?t:1}:e=>{var t;return null!==(t=e.value)&&void 0!==t?t:1};var g;const y=new Map;for(let t=0;e.length>t;t++)y.set(e[t].id,t);const p=e.length,m=Array.from({length:p},()=>Array.from({length:p},()=>0));for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,n=y.get("string"==typeof e.source?e.source:e.source.id),o=y.get(t);if(void 0===n||void 0===o)continue;const r=f(e);m[n][o]=r}const v=a.chord().padAngle(r);l&&v.sortGroups(l);const b=v(m),x=b.groups,k=s.arc().innerRadius(d).outerRadius(c);for(const t of x){const n=e[t.index],o=k.centroid({innerRadius:d,outerRadius:c,startAngle:t.startAngle,endAngle:t.endAngle});n.x=o[0]+u,n.y=o[1]+h,n.__arcData={startAngle:t.startAngle,endAngle:t.endAngle}}const w=new Map;for(const t of e)w.set(t.id,t);for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,n=w.get("string"==typeof e.source?e.source:e.source.id),o=w.get(t);n&&(e.source=n),o&&(e.target=o)}const S=new Map;for(const e of t)S.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const t of b){const n=e[t.source.index].id,o=e[t.target.index].id,r=S.get(`${n}\0${o}`)||S.get(`${o}\0${n}`);r&&(r.__chordData=t)}},buildScene(e,t,n,o){var r,i,s,l;const{groupWidth:c=20,edgeOpacity:d=.5}=n,u=Math.min(o[0],o[1])/2,h=u-c,f=o[0]/2,g=o[1]/2,y=n.nodeStyle,p=n.edgeStyle,m=n.edgeColorBy||"source",v=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:Le,b=new Map;e.forEach((e,t)=>{b.set(e.id,v[t%v.length])});const x=a.ribbon().radius(h),k=[],w=[],S=[];for(let t=0;e.length>t;t++){const n=e[t],o=n.__arcData;if(!o)continue;let i;i=y?y(be(n,"nodeStyle")).fill||b.get(n.id)||v[t%v.length]:b.get(n.id)||v[t%v.length];const a=y?y(be(n,"nodeStyle")):{},s={fill:i,stroke:a.stroke||"black",strokeWidth:null!==(r=a.strokeWidth)&&void 0!==r?r:1,opacity:a.opacity};k.push({type:"arc",cx:f,cy:g,innerR:h,outerR:u,startAngle:o.startAngle-Math.PI/2,endAngle:o.endAngle-Math.PI/2,style:s,datum:n,id:n.id,label:n.id})}for(const e of t){const t=e.__chordData;if(!t)continue;const o=x(t);if(!o)continue;const r=Ee(o,f,g);let a=(null===(i=n.themeSemantic)||void 0===i?void 0:i.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";if(p)a=p(be(e,"edgeStyle")).fill||a;else{const t="object"==typeof e.source?e.source:null,n="object"==typeof e.target?e.target:null;"target"===m&&n?a=b.get(n.id)||a:t&&(a=b.get(t.id)||a)}const c=p?p(be(e,"edgeStyle")):{},u={fill:a,fillOpacity:null!==(l=c.fillOpacity)&&void 0!==l?l:d,stroke:c.stroke||"none",strokeWidth:c.strokeWidth,opacity:c.opacity};w.push({type:"ribbon",pathD:r,style:u,datum:e})}if(!1!==n.showLabels){const t=(M=n.nodeLabel)?"function"==typeof M?M:e=>e[M]||e.id:null,o=u+12;for(const n of e){const e=n.__arcData;if(!e)continue;const r=t?t(n):n.id;if(!r)continue;const i=(e.startAngle+e.endAngle)/2,a=i-Math.PI/2;S.push({x:f+Math.cos(a)*o,y:g+Math.sin(a)*o,text:r+"",anchor:i>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var M;return{sceneNodes:k,sceneEdges:w,labels:S}}};function Ee(e,t,n){const o=e.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!o)return e;const r=[];let i=0;for(;o.length>i;){const e=o[i];if("M"===e||"L"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("C"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)for(let e=0;3>e&&o.length>i&&!isNaN(Number(o[i]));e++)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("Q"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)for(let e=0;2>e&&o.length>i&&!isNaN(Number(o[i]));e++)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("A"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&(r.push(Number(o[i])+t+""),i++),o.length>i&&(r.push(Number(o[i])+n+""),i++);else"Z"===e||"z"===e?(r.push(e),i++):(r.push(o[i]),i++)}return r.join(" ")}const De=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];function Oe(e){const[t,n,o]=function(e){if(e.startsWith("#")){let t=e.slice(1);if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6===t.length)return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}const t=e.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return t?[+t[1],+t[2],+t[3]]:[128,128,128]}(e);return.299*t+.587*n+.114*o>150?"#222":"#fff"}function Pe(e,t,n){const o=t.nodeIDAccessor;return"function"==typeof o?o(e.data)+"":"string"==typeof o&&void 0!==e.data[o]?e.data[o]+"":void 0!==e.data.name?e.data.name+"":void 0!==e.data.id?e.data.id+"":"node-"+n}function Te(e){return e?"function"==typeof e?e:t=>{var n;return(null===(n=t.data)||void 0===n?void 0:n[e])||t[e]||t.id}:null}function Ne(e){return Array.isArray(e.colorScheme)?e.colorScheme:e.themeCategorical&&e.themeCategorical.length>0?e.themeCategorical:De}function Ie(e){var t;return Array.isArray(e.colorScheme)&&e.colorScheme.length>0?e.colorScheme[0]:(null===(t=e.themeSemantic)||void 0===t?void 0:t.primary)?e.themeSemantic.primary:e.themeCategorical&&e.themeCategorical.length>0?e.themeCategorical[0]:"#4d430c"}function _e(e,t,n,o,r){if("horizontal"===r){const r=(e+n)/2;return`M ${e},${t} C ${r},${t} ${r},${o} ${n},${o}`}if("radial"===r){const r=(e+n)/2;return`M ${e},${t} Q ${r},${t} ${r},${(t+o)/2} T ${n},${o}`}{const r=(t+o)/2;return`M ${e},${t} C ${e},${r} ${n},${r} ${n},${o}`}}const We={supportsStreaming:!1,hierarchical:!0,computeLayout(e,t,n,o){var r;const i=n.__hierarchyRoot;if(!i)return;const a=n.chartType,s=function(e){if(e)return"function"==typeof e?e:t=>t[e]}(n.childrenAccessor),c=n.hierarchySum,d="function"==typeof c?c:"string"==typeof c?e=>Number(e[c])||0:e=>Number(e.value)||0,u=l.hierarchy(i,s);u.sum(d),u.sort((e,t)=>{var n,o;return(null!==(n=t.value)&&void 0!==n?n:0)-(null!==(o=e.value)&&void 0!==o?o:0)});const[h,f]=o;switch(a){case"tree":!function(e,t,n,o){const r=t.treeOrientation||"vertical",i=l.tree();i.size("horizontal"===r?[o,n]:"radial"===r?[2*Math.PI,Math.min(n,o)/2*.8]:[n,o]),i(e)}(u,n,h,f);break;case"cluster":!function(e,t,n,o){const r=t.treeOrientation||"vertical",i=l.cluster();i.size("horizontal"===r?[o,n]:"radial"===r?[2*Math.PI,Math.min(n,o)/2*.8]:[n,o]),i(e)}(u,n,h,f);break;case"treemap":!function(e,t,n,o){var r,i;const a=null!==(r=t.padding)&&void 0!==r?r:4,s=null!==(i=t.paddingTop)&&void 0!==i?i:0,c=l.treemap().size([n,o]).tile(l.treemapBinary).padding(a);s>0&&c.paddingTop(s),c(e)}(u,n,h,f);break;case"circlepack":!function(e,t,n,o){var r;const i=null!==(r=t.padding)&&void 0!==r?r:4;l.pack().size([n,o]).padding(i)(e)}(u,n,h,f);break;case"partition":!function(e,t,n,o){var r;l.partition().size([n,o]).padding(null!==(r=t.padding)&&void 0!==r?r:1)(e)}(u,n,h,f)}const g=u.descendants();e.length=0,t.length=0;const y=new Map;for(let t=0;g.length>t;t++){const o=g[t],i={id:Pe(o,n,t),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(r=o.value)&&void 0!==r?r:0,depth:o.depth,data:o.data,createdByFrame:!0};"tree"===a||"cluster"===a?Re(i,o,n):"treemap"===a||"partition"===a?$e(i,o):"circlepack"===a&&Be(i,o),i.__hierarchyNode=o,e.push(i),y.set(o,i)}if("tree"===a||"cluster"===a)for(const e of g)if(e.parent){const n=y.get(e.parent),o=y.get(e);n&&o&&t.push({source:n,target:o,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:e.depth}})}},buildScene(e,t,n,o){const r=n.nodeStyle||(()=>({})),i=n.edgeStyle||(()=>({}));switch(n.chartType){case"tree":case"cluster":return function(e,t,n,o,r,i){var a,s,l,c,d,u,h,f;const g=[],y=[],p=[],m=n.treeOrientation||"vertical",v="radial"===m,b=o[0]/2,x=o[1]/2,k="number"==typeof(w=n.nodeSize)?w:5;var w;for(const t of e){let e=t.x,o=t.y;v&&(e+=b,o+=x);const i=r(be(t,"nodeStyle"));let l=i.fill||Ie(n);if(n.colorByDepth&&void 0!==t.depth){const e=Ne(n);l=e[t.depth%e.length]}const c={fill:l,stroke:i.stroke||(null===(a=n.themeSemantic)||void 0===a?void 0:a.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:1,opacity:i.opacity};g.push({type:"circle",cx:e,cy:o,r:k,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const S=null!==(l=n.edgeOpacity)&&void 0!==l?l:.5;for(const e of t){const t="object"==typeof e.source?e.source:null,o="object"==typeof e.target?e.target:null;if(!t||!o)continue;let r=t.x,a=t.y,s=o.x,l=o.y;v&&(r+=b,a+=x,s+=b,l+=x);const f=_e(r,a,s,l,m),g=i(be(e,"edgeStyle")),p={fill:"none",stroke:g.stroke||(null===(c=n.themeSemantic)||void 0===c?void 0:c.border)||(null===(d=n.themeSemantic)||void 0===d?void 0:d.secondary)||"#999",strokeWidth:null!==(u=g.strokeWidth)&&void 0!==u?u:1.5,opacity:null!==(h=g.opacity)&&void 0!==h?h:S};y.push({type:"curved",pathD:f,style:p,datum:e})}if(!1!==n.showLabels){const t=Te(n.nodeLabel);for(const n of e){const e=t?t(n):n.id;if(!e)continue;let o,r,i,a=n.x,s=n.y;if(v&&(a+=b,s+=x),v){const e=a-b,t=s-x,n=Math.sqrt(e*e+t*t);n>0?(o=a+e/n*10,r=s+t/n*10,i=0>e?"end":"start"):(o=a,r=s-12,i="middle")}else"horizontal"===m?((null===(f=n.data)||void 0===f?void 0:f.children)&&0!==n.data.children.length?(o=a-k-6,i="end"):(o=a+k+6,i="start"),r=s):(o=a,r=s+k+14,i="middle");p.push({x:o,y:r,text:e+"",anchor:i,baseline:"middle",fontSize:11})}}return{sceneNodes:g,sceneEdges:y,labels:p}}(e,t,n,o,r,i);case"treemap":case"partition":return function(e,t,n,o){var r,i,a,s,l;const c=[],d=[];for(const n of e){const e=n.x1-n.x0,a=n.y1-n.y0;if(0>=e||0>=a)continue;const s=o(be(n,"nodeStyle"));let l=s.fill||Ie(t);if(t.colorByDepth&&void 0!==n.depth){const e=Ne(t);l=e[n.depth%e.length]}const d={fill:l,stroke:s.stroke||(null===(r=t.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(i=s.strokeWidth)&&void 0!==i?i:1,opacity:s.opacity};c.push({type:"rect",x:n.x0,y:n.y0,w:e,h:a,style:d,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==t.showLabels){const n=Te(t.nodeLabel),r=t.labelMode||"leaf",i="partition"===t.chartType;for(const c of e){const e=c.x1-c.x0,u=c.y1-c.y0;if(0>=e||0>=u)continue;const h=!((null===(a=c.data)||void 0===a?void 0:a.children)&&c.data.children.length>0);if(!i){if("leaf"===r&&!h)continue;if("parent"===r&&h)continue}const f=n?n(c):c.id;if(!f)continue;if((h?30:40)>e||(h?16:14)>u)continue;let g=o(be(c,"nodeStyle")).fill||Ie(t);if(t.colorByDepth&&void 0!==c.depth){const e=Ne(t);g=e[c.depth%e.length]}const y="string"==typeof g?Oe(g):null!==(l=null===(s=t.themeSemantic)||void 0===s?void 0:s.text)&&void 0!==l?l:"#000";d.push(h?{x:c.x0+e/2,y:c.y0+u/2,text:f+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(e,u)/6)),fill:y}:{x:c.x0+4,y:c.y0+12,text:f+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:y})}}return{sceneNodes:c,sceneEdges:[],labels:d}}(e,n,0,r);case"circlepack":return function(e,t,n,o){var r,i,a,s,l,c,d,u,h,f;const g=[],y=[];for(const n of e){const e=null!==(r=n.__radius)&&void 0!==r?r:5;if(0>=e)continue;const l=o(be(n,"nodeStyle"));let c=l.fill||Ie(t);if(t.colorByDepth&&void 0!==n.depth){const e=Ne(t);c=e[n.depth%e.length]}const d={fill:c,stroke:l.stroke||(null===(i=t.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=l.strokeWidth)&&void 0!==a?a:1,opacity:null!==(s=l.opacity)&&void 0!==s?s:.7};g.push({type:"circle",cx:n.x,cy:n.y,r:e,style:d,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==t.showLabels){const n=Te(t.nodeLabel);for(const r of e){const e=null!==(l=r.__radius)&&void 0!==l?l:5,i=n?n(r):r.id;if(!i)continue;if(15>e)continue;const a=!((null===(c=r.data)||void 0===c?void 0:c.children)&&r.data.children.length>0);let s=o(be(r,"nodeStyle")).fill||Ie(t);if(t.colorByDepth&&void 0!==r.depth){const e=Ne(t);s=e[r.depth%e.length]}if(a){const n="string"==typeof s?Oe(s):null!==(u=null===(d=t.themeSemantic)||void 0===d?void 0:d.text)&&void 0!==u?u:"#000";y.push({x:r.x,y:r.y,text:i+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,e/3)),fill:n})}else y.push({x:r.x,y:r.y-e+14,text:i+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,e/3)),fill:(null===(h=t.themeSemantic)||void 0===h?void 0:h.text)||"#000",stroke:(null===(f=t.themeSemantic)||void 0===f?void 0:f.surface)||"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:g,sceneEdges:[],labels:y}}(e,n,0,r);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function Re(e,t,n){const o=n.treeOrientation||"vertical";if("radial"===o){const n=t.x,o=t.y;e.x=o*Math.cos(n-Math.PI/2),e.y=o*Math.sin(n-Math.PI/2)}else"horizontal"===o?(e.x=t.y,e.y=t.x):(e.x=t.x,e.y=t.y);e.x0=e.x-5,e.x1=e.x+5,e.y0=e.y-5,e.y1=e.y+5,e.width=10,e.height=10}function $e(e,t){e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.x=(t.x0+t.x1)/2,e.y=(t.y0+t.y1)/2,e.width=t.x1-t.x0,e.height=t.y1-t.y0}function Be(e,t){var n;const o=null!==(n=t.r)&&void 0!==n?n:0;e.x=t.x,e.y=t.y,e.x0=t.x-o,e.x1=t.x+o,e.y0=t.y-o,e.y1=t.y+o,e.width=2*o,e.height=2*o,e.__radius=o}function ze(e){let t=e.__orbitState;return t||(t={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()},e.__orbitState=t),t}const He={supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(e,t,n,o){const r=n.__hierarchyRoot;r&&function(e,t,n,o,r){var i,a;const l=function(e){if("function"==typeof e)return e;const t=e||"children";return e=>e[t]||null}(n.childrenAccessor),c=function(e){if("function"==typeof e)return e;const t=e||"name";return e=>{var n;return(null!==(n=e[t])&&void 0!==n?n:"")+""}}(n.nodeIDAccessor),d=function(e){if(Array.isArray(e))return e;switch(e){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(n.orbitMode),u=null!==(i=n.orbitSize)&&void 0!==i?i:2.95,h=null!==(a=n.orbitEccentricity)&&void 0!==a?a:1,f="number"==typeof u?()=>u:u,g="number"==typeof h?()=>h:h,y=ze(n);y.metaMap.clear(),o.length=0,r.length=0;const p=new Map;function m(e){var t;const n=null!==(t=p.get(e))&&void 0!==t?t:0;return p.set(e,n+1),0===n?e:`${e}__${n}`}const v=t[0]/2,b=t[1]/2,x=Math.min(t[0],t[1])/2*.85,k=m(c(e));o.push({id:k,x:v,y:b,x0:v,x1:v,y0:b,y1:b,width:0,height:0,value:0,depth:0,data:e}),y.metaMap.set(k,{ring:x,angle:0,depth:0,parentId:null,eccentricity:1}),function e(t,n,i,a,u,h,p){const v=l(t);if(!(null==v?void 0:v.length))return;const b=v.length;let x=0,k=0,w=0;for(;b>k;)k+=d[Math.min(w,d.length-1)],w++,x++;let S=0;for(let b=0;x>b;b++){const k=d[Math.min(b,d.length-1)],w=v.slice(S,S+k);if(!w.length)break;const M=(b+1)/x,A={id:n,depth:h,data:t,parentId:n},j=p?u/f(A)*M:u*M,L=s.pie().value(e=>{var t;return(null===(t=l(e))||void 0===t?void 0:t.length)?4:1}).sort(null),C=L(w),E=g(A);for(let t=0;w.length>t;t++){const s=(C[t].startAngle+C[t].endAngle)/2,l=w[t],d=m(c(l)),u=i+j*Math.sin(s),f=a+j*Math.cos(s)*E;o.push({id:d,x:u,y:f,x0:u,x1:u,y0:f,y1:f,width:0,height:0,value:0,depth:h,data:l}),y.metaMap.set(d,{ring:j,angle:s,depth:h,parentId:n,eccentricity:E}),r.push({source:n,target:d,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:n,target:d}}),e(l,d,u,f,j,h+1,!0)}S+=k}}(e,k,v,b,x,1,!1)}(r,o,n,e,t)},buildScene(e,t,n,o){var r,i,a,s,l,c,d;const u=n.nodeStyle,h=n.nodeSize,f="number"==typeof h?()=>h:"function"==typeof h?h:()=>6,g=[],y=[],p=[];if(!1!==n.orbitShowRings){const t=ze(n),o=new Map;for(const t of e)o.set(t.id,t);const r=new Map;for(const[,e]of t.metaMap){if(!e.parentId)continue;const t=o.get(e.parentId);if(!t)continue;const n=`${e.parentId}:${e.ring}`;r.has(n)||r.set(n,{parentX:t.x,parentY:t.y,ring:e.ring,ecc:e.eccentricity})}const i=48,a={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:e,parentY:t,ring:n,ecc:o}]of r)for(let r=0;i>r;r++){const s=r/i*Math.PI*2,l=(r+1)/i*Math.PI*2;y.push({type:"line",x1:e+n*Math.sin(s),y1:t+n*Math.cos(s)*o,x2:e+n*Math.sin(l),y2:t+n*Math.cos(l)*o,style:a,datum:null})}}for(const t of e){if(null==t.x||null==t.y)continue;const e=f(be(t,"nodeSize")),o=u?u(be(t,"nodeStyle")):{},c={fill:o.fill||(null===(r=n.themeSemantic)||void 0===r?void 0:r.primary)||"#6366f1",stroke:o.stroke||(null===(i=n.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=o.strokeWidth)&&void 0!==a?a:1,opacity:null!==(s=o.opacity)&&void 0!==s?s:0===(null!==(l=t.depth)&&void 0!==l?l:0)?1:.85};g.push({type:"circle",cx:t.x,cy:t.y,r:e,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const m=new Map;for(const t of e)m.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:m.get(e.source),n="object"==typeof e.target?e.target:m.get(e.target);t&&n&&(null!=t.x&&null!=n.x&&y.push({type:"line",x1:t.x,y1:t.y,x2:n.x,y2:n.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:e}))}if(n.showLabels){const t=n.nodeLabel;for(const n of e){const e=f(be(n,"nodeSize"));if(4>=e)continue;const o="function"==typeof t?t(n):t&&null!==(d=null===(c=n.data)||void 0===c?void 0:c[t])&&void 0!==d?d:n.id;p.push({x:n.x,y:n.y+e+12,text:o+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:g,sceneEdges:y,labels:p}},tick:(e,t,n,o,r)=>!1!==n.orbitAnimated&&(function(e,t){var n,o;const r=ze(t),i=null!==(n=t.orbitSpeed)&&void 0!==n?n:.25,a=null!==(o=t.orbitRevolution)&&void 0!==o?o:function(e){switch(e){case"decay":return e=>{var t;return Math.pow(.6,null!==(t=e.depth)&&void 0!==t?t:0)};case"alternate":return e=>{var t;const n=null!==(t=e.depth)&&void 0!==t?t:0;return(n%2==0?1:-1)/(n+1)};default:return e=>{var t;return 1/((null!==(t=e.depth)&&void 0!==t?t:0)+1)}}}(t.orbitRevolutionStyle),s=(("undefined"!=typeof performance?performance.now():Date.now())-r.startTime)/1e3,l=i*(Math.PI/6),c=new Map;for(const t of e)c.set(t.id,t);for(const t of e){const e=r.metaMap.get(t.id);if(!e||!e.parentId)continue;const n=c.get(e.parentId);if(!n)continue;const o=e.angle+s*l*a({id:t.id,depth:e.depth,data:t.data,parentId:e.parentId});t.x=n.x+e.ring*Math.sin(o),t.y=n.y+e.ring*Math.cos(o)*e.eccentricity,t.x0=t.x,t.x1=t.x,t.y0=t.y,t.y1=t.y}}(e,n),!0)},Fe={sankey:we,force:Se,chord:Ce,tree:We,cluster:We,treemap:We,circlepack:We,partition:We,orbit:He};function Ye(e){return Fe[e]}const Xe={category10:v,tableau10:["#4e79a7","#f28e2c","#e15759","#76b7b2","#59a14f","#edc949","#af7aa1","#ff9da7","#9c755f","#bab0ab"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],blues:b,reds:x,greens:k,oranges:w,purples:S,viridis:M,plasma:A},Ge=v,qe=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"],Ve=["#f0f0f0","#b5d4ea","#f4c2a1","#b8dab2","#d4b5e0","#f9e0a2","#a8d8d8"],Ke=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function Ze(e,t,n){if("function"==typeof t){const o=t(e);return n&&o&&"string"==typeof o&&!function(e){const t=e.toLowerCase();return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")||Ke.has(t)}(o)?n(o):o}const o=(null==e?void 0:e[t])+"";return n?n(o):Ge[Math.abs(function(e){let t=0;for(let n=0;e.length>n;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return Math.abs(t)}(o))%Ge.length]}function Ue(e,t,n="category10"){const o=Array.from(new Set(e.map(e=>null==e?void 0:e[t]).filter(e=>null!=e).map(e=>e+""))),r=o.every(e=>!isNaN(Number(e)));if(Array.isArray(n))return i.scaleOrdinal().domain(o).range(n).unknown("#999");const a=Xe[n]||Xe.category10;if(r&&"function"==typeof a){let e=-1/0;for(const t of o){const n=Number(t);n>e&&(e=n)}return t=>a(Number(t)/e)}{const e=Array.isArray(a)?a:Ge;return i.scaleOrdinal().domain(o).range(e).unknown("#999")}}function Qe(e){return 0===e.length?()=>"#4e79a7":t=>{var n;let o=0;for(let e=0;t.length>e;e++)o=31*o+t.charCodeAt(e)|0;return null!==(n=e[Math.abs(o)%e.length])&&void 0!==n?n:"#4e79a7"}}function Je(e,t,n){return e+(t-e)*n}function et(e,t,n){var o,r,i;if(1>=n)return 1;const a=null!==(o=e.minOpacity)&&void 0!==o?o:.1,s=n-1-t;switch(e.type){case"linear":return a+(1-s/(n-1))*(1-a);case"exponential":{const t=null!==(r=e.halfLife)&&void 0!==r?r:n/2;return a+Math.pow(.5,s/t)*(1-a)}case"step":return(null!==(i=e.stepThreshold)&&void 0!==i?i:.5*n)>s?1:a;default:return 1}}class tt{constructor(e){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.customLayoutOverlays=null,this.particlePool=null,this.transition=null,this._hasRenderedOnce=!1,this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=e,this.tensionConfig=Object.assign(Object.assign({},f),e.tensionConfig),e.showParticles&&("sankey"===e.chartType||e.customNetworkLayout)&&(this.particlePool=new j(2e3))}updateConfig(e){const t=this.config;t.__orbitState&&(e.__orbitState=t.__orbitState),t.__hierarchyRoot&&(e.__hierarchyRoot=t.__hierarchyRoot),this.config=e,this.tensionConfig=Object.assign(Object.assign({},f),e.tensionConfig),!e.showParticles||"sankey"!==e.chartType&&!e.customNetworkLayout||this.particlePool||(this.particlePool=new j(2e3))}ingestHierarchy(e,t){this._boundedPrevSnapshot=new Map;for(const[e,t]of this.nodes)0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1||this._boundedPrevSnapshot.set(e,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=e,this.runLayout(t),this._boundedPrevSnapshot=null}ingestBounded(e,t,n){const{nodeIDAccessor:o="id",sourceAccessor:r="source",targetAccessor:i="target",valueAccessor:a="value"}=this.config,s="function"==typeof o?o:e=>e[o],l="function"==typeof r?r:e=>e[r],c="function"==typeof i?i:e=>e[i],d="function"==typeof a?a:e=>{var t;return null!==(t=e[a])&&void 0!==t?t:1};this._boundedPrevSnapshot=new Map;for(const[e,t]of this.nodes)0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1||this._boundedPrevSnapshot.set(e,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1});this._boundedEdgeSnapshot=new Map;for(const[,e]of this.edges)e.sankeyWidth>0&&this._boundedEdgeSnapshot.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,{y0:e.y0,y1:e.y1,sankeyWidth:e.sankeyWidth});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of e){const e=s(t)+"";this.nodes.set(e,Object.assign(Object.assign({},nt(e)),{data:t}))}for(let e=0;t.length>e;e++){const n=t[e],o=l(n)+"",r=c(n)+"",i=d(n),a=null==i?NaN:Number(i),s=Number.isFinite(a)?a:1;this.nodes.has(o)||this.nodes.set(o,Object.assign(Object.assign({},nt(o)),{data:n})),this.nodes.has(r)||this.nodes.set(r,Object.assign(Object.assign({},nt(r)),{data:n}));const u=`${o}\0${r}\0${e}`,h={source:o,target:r,value:s,y0:0,y1:0,sankeyWidth:0,data:n,_edgeKey:u};n&&"object"==typeof n&&ot(n.bezier)&&(h.bezier=n.bezier),this.edges.set(u,h)}this.runLayout(n)}edgeKey(e,t){return`${e}\0${t}`}ingestEdge(e){const{source:t,target:n,value:o}=e,r=0===this.nodes.size;let i=!1;const a="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=a,this._decaySortedNodes=null,this.nodes.has(t)||(this.nodes.set(t,nt(t)),this.nodeTimestamps.set(t,a),this.tension+=this.tensionConfig.newNode,i=!0),this.nodes.has(n)||(this.nodes.set(n,nt(n)),this.nodeTimestamps.set(n,a),this.tension+=this.tensionConfig.newNode,i=!0);const s=this.edgeKey(t,n),l=this.edges.get(s);let c=!1;return l?(l.value+=o,this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.weightChange,c=!0):(this.edges.set(s,{source:t,target:n,value:o,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.newEdge,i=!0),r||i||c||this.tension>=this.tensionConfig.threshold}runLayout(e){var t,n,o,r,i,a,s,l;if(this.config.customNetworkLayout)return this.recordTopologyDiff(),void this.layoutVersion++;const c=Ye(this.config.chartType);if(!c)return;let d=Array.from(this.nodes.values());const u=Array.from(this.edges.values());if(0===d.length&&!c.hierarchical)return;if(this.prepareForRelayout(),c.supportsStreaming&&!c.hierarchical){const e=new Map;for(const s of d)if(void 0!==s._prevX0){const l=(null!==(t=s._prevX1)&&void 0!==t?t:0)-(null!==(n=s._prevX0)&&void 0!==n?n:0),c=(null!==(o=s._prevY1)&&void 0!==o?o:0)-(null!==(r=s._prevY0)&&void 0!==r?r:0);e.set(s.id,{x:(null!==(i=s._prevX0)&&void 0!==i?i:0)+l/2,y:(null!==(a=s._prevY0)&&void 0!==a?a:0)+c/2})}else 0===s.x&&0===s.y||e.set(s.id,{x:s.x,y:s.y});if(this._lastPositionSnapshot)for(const[t,n]of this._lastPositionSnapshot)e.has(t)||e.set(t,n);this.config.__previousPositions=e.size>0?e:void 0}if(c.computeLayout(d,u,this.config,e),this.config.__previousPositions=void 0,c.hierarchical&&d.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of d)this.nodes.set(e.id,e);for(let e=0;u.length>e;e++){const t=u[e],n=t._edgeKey||`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}\0${e}`;t._edgeKey=n,this.edges.set(n,t)}const e=this._boundedPrevSnapshot;if(e&&e.size>0)for(const t of this.nodes.values()){const n=e.get(t.id);n&&(t._prevX0=n.x0,t._prevX1=n.x1,t._prevY0=n.y0,t._prevY1=n.y1)}this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,d=Array.from(this.nodes.values())}this.finalizeLayout();const h=new Map;for(const e of this.nodes.values())0===e.x&&0===e.y||h.set(e.id,{x:e.x,y:e.y});this._lastPositionSnapshot=h,this.saveTargetPositions();const f=d.some(e=>void 0!==e._prevX0&&(0!==e._prevX0||0!==e._prevX1||0!==e._prevY0||0!==e._prevY1)),g=null!==(l=null===(s=this.config.transition)||void 0===s?void 0:s.duration)&&void 0!==l?l:this.tensionConfig.transitionDuration;if(!this._hasRenderedOnce&&this.config.introAnimation&&["sankey","tree","treemap","circlepack","partition"].includes(this.config.chartType)&&d.length>0&&g>0){const t=e[0]/2,n=e[1]/2;for(const e of this.nodes.values())e._prevX0=t,e._prevX1=t,e._prevY0=n,e._prevY1=n;for(const e of this.edges.values())e._prevY0=n,e._prevY1=n,e._prevSankeyWidth=0,e._introFromZero=!0;this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g}}else f&&g>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g});this._hasRenderedOnce=!0,this.recordTopologyDiff(),this.layoutVersion++}recordTopologyDiff(){const e=new Set(this.nodes.keys()),t=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const t of e)this.previousNodeIds.has(t)||this.addedNodes.add(t);for(const t of this.previousNodeIds)e.has(t)||this.removedNodes.add(t);for(const e of t)this.previousEdgeKeys.has(e)||this.addedEdges.add(e);for(const e of this.previousEdgeKeys)t.has(e)||this.removedEdges.add(e);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=e,this.previousEdgeKeys=t}buildScene(e){var t,n,o,r,i,a;const s=Array.from(this.nodes.values()),l=Array.from(this.edges.values());if(this.config.customNetworkLayout){const c=function(e,t,n){if(Array.isArray(e)&&e.length>0)return e;if("string"==typeof e){const t=Xe[e];if(Array.isArray(t)&&t.length>0)return t}return t&&t.length>0?t:n}(this.config.colorScheme,this.config.themeCategorical,v),d={nodes:s,edges:l,dimensions:{width:e[0],height:e[1],plot:{x:0,y:0,width:e[0],height:e[1]}},theme:{semantic:null!==(t=this.config.themeSemantic)&&void 0!==t?t:{},categorical:[...c]},resolveColor:Qe(c),config:null!==(n=this.config.layoutConfig)&&void 0!==n?n:{}};let u;try{u=this.config.customNetworkLayout(d)}catch(e){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customNetworkLayout threw:",e),this.sceneNodes=[],this.sceneEdges=[],this.labels=[],void(this.customLayoutOverlays=null)}return this.sceneNodes=null!==(o=u.sceneNodes)&&void 0!==o?o:[],this.sceneEdges=null!==(r=u.sceneEdges)&&void 0!==r?r:[],this.labels=null!==(i=u.labels)&&void 0!==i?i:[],void(this.customLayoutOverlays=null!==(a=u.overlays)&&void 0!==a?a:null)}this.customLayoutOverlays=null;const c=Ye(this.config.chartType);if(!c)return;const{sceneNodes:d,sceneEdges:u,labels:h}=c.buildScene(s,l,this.config,e);this.sceneNodes=d,this.sceneEdges=u,this.labels=h}get isAnimating(){const e=Ye(this.config.chartType);return!!(null==e?void 0:e.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(e,t){const n=Ye(this.config.chartType);if(!(null==n?void 0:n.tick))return!1;const o=Array.from(this.nodes.values()),r=Array.from(this.edges.values());return n.tick(o,r,this.config,e,t)}cancelIntroAnimation(){this.transition=null;for(const e of this.nodes.values())e._prevX0=void 0,e._prevX1=void 0,e._prevY0=void 0,e._prevY1=void 0;for(const e of this.edges.values())e._prevY0=void 0,e._prevY1=void 0,e._prevSankeyWidth=void 0,e._introFromZero=!1}advanceTransition(e){if(!this.transition)return!1;const t=function(e,t){return Math.min((e-t.startTime)/t.duration,1)}(e,this.transition),n=function(e,t="ease-out-cubic"){return"linear"===t?e:1-Math.pow(1-e,3)}(t);for(const e of this.nodes.values())void 0===e._targetX0||void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=Je(e._prevX0,e._targetX0,n),e.x1=Je(e._prevX1,e._targetX1,n),e.y0=Je(e._prevY0,e._targetY0,n),e.y1=Je(e._prevY1,e._targetY1,n));for(const e of this.edges.values())void 0!==e._targetY0&&void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&(e._prevSankeyWidth>0||e._introFromZero)&&(e.y0=Je(e._prevY0,e._targetY0,n),e.y1=Je(e._prevY1,e._targetY1,n),e.sankeyWidth=Je(e._prevSankeyWidth,e._targetSankeyWidth,n));return this.rebuildAllBeziers(),1>t||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){const e=this._boundedPrevSnapshot;for(const t of this.nodes.values()){const n=null==e?void 0:e.get(t.id);n&&0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1?(t._prevX0=n.x0,t._prevX1=n.x1,t._prevY0=n.y0,t._prevY1=n.y1):(t._prevX0=t.x0,t._prevX1=t.x1,t._prevY0=t.y0,t._prevY1=t.y1)}const t=this._boundedEdgeSnapshot;for(const e of this.edges.values()){if(t&&0===e.sankeyWidth){const n=t.get(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`);if(n){e._prevY0=n.y0,e._prevY1=n.y1,e._prevSankeyWidth=n.sankeyWidth;continue}}e._prevY0=e.y0,e._prevY1=e.y1,e._prevSankeyWidth=e.sankeyWidth}this.nodes.size>0&&(this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null)}finalizeLayout(){const e="vertical"===this.config.orientation?"down":"right";for(const e of this.nodes.values())if(0!==e.x0||0!==e.x1||0!==e.y0||0!==e.y1)e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;else{const t=5;e.x0=e.x-t,e.x1=e.x+t,e.y0=e.y-t,e.y1=e.y+t,e.width=2*t,e.height=2*t}for(const t of this.edges.values())t.direction=e,this.updateEdgeBezier(t);this.tension=0}saveTargetPositions(){for(const e of this.nodes.values())e._targetX0=e.x0,e._targetX1=e.x1,e._targetY0=e.y0,e._targetY1=e.y1;for(const e of this.edges.values())e._targetY0=e.y0,e._targetY1=e.y1,e._targetSankeyWidth=e.sankeyWidth}restorePreviousPositions(){for(const e of this.nodes.values())void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=e._prevX0,e.x1=e._prevX1,e.y0=e._prevY0,e.y1=e._prevY1);for(const e of this.edges.values())void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=e._prevY0,e.y1=e._prevY1,e.sankeyWidth=e._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const e of this.nodes.values())void 0!==e._targetX0&&(e.x0=e._targetX0,e.x1=e._targetX1,e.y0=e._targetY0,e.y1=e._targetY1);for(const e of this.edges.values())void 0!==e._targetY0&&(e.y0=e._targetY0,e.y1=e._targetY1,e.sankeyWidth=e._targetSankeyWidth),e._introFromZero=void 0;this.rebuildAllBeziers()}updateEdgeBezier(e){const t="string"==typeof e.source?this.nodes.get(e.source):e.source,n="string"==typeof e.target?this.nodes.get(e.target):e.target;t&&n&&(e.bezier=e.circular&&e.circularPathData?this.buildCircularBezier(e):this.buildStandardBezier(e,t,n))}buildStandardBezier(e,t,o){const r=(e.sankeyWidth||1)/2;if("down"===e.direction){const i=t.x1,a=o.x0,s=n.interpolateNumber(i,a);return{circular:!1,points:[{x:e.y0,y:i},{x:e.y0,y:s(.5)},{x:e.y1,y:s(.5)},{x:e.y1,y:a}],halfWidth:r}}const i=t.x1,a=o.x0,s=n.interpolateNumber(i,a);return{circular:!1,points:[{x:i,y:e.y0},{x:s(.5),y:e.y0},{x:s(.5),y:e.y1},{x:a,y:e.y1}],halfWidth:r}}buildCircularBezier(e){const t=(e._circularWidth||e.sankeyWidth||1)/2,n=e.circularPathData;if(!n)throw Error("buildCircularBezier requires circularPathData");if(e._circularStub){const e=Math.max(15,Math.min(40,.33*(n.rightFullExtent-n.sourceX))),o=Math.max(15,Math.min(40,.33*(n.targetX-n.leftFullExtent)));return{circular:!0,segments:[[{x:n.sourceX,y:n.sourceY},{x:n.sourceX+.33*e,y:n.sourceY},{x:n.sourceX+.66*e,y:n.sourceY},{x:n.sourceX+e,y:n.sourceY}],[{x:n.targetX-o,y:n.targetY},{x:n.targetX-.66*o,y:n.targetY},{x:n.targetX-.33*o,y:n.targetY},{x:n.targetX,y:n.targetY}]],halfWidth:t}}let o;o="down"===e.direction?[{x:n.sourceY,y:n.sourceX},{x:n.sourceY,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.leftFullExtent},{x:n.targetY,y:n.leftFullExtent},{x:n.targetY,y:n.targetX}]:[{x:n.sourceX,y:n.sourceY},{x:n.rightFullExtent,y:n.sourceY},{x:n.rightFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.targetY},{x:n.targetX,y:n.targetY}];const r=[];for(let e=0;o.length-1>e;e++){const t=o[e],n=o[e+1],i=n.x-t.x,a=n.y-t.y;r.push([t,{x:t.x+i/3,y:t.y+a/3},{x:t.x+2*i/3,y:t.y+2*a/3},n])}return{circular:!0,segments:r,halfWidth:t}}rebuildAllBeziers(){for(const e of this.nodes.values())e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;for(const e of this.edges.values())this.updateEdgeBezier(e)}applyPulse(e){var t,n,o,r,i;const a=this.config.pulse;if(!a)return;const s=null!==(t=a.duration)&&void 0!==t?t:500,l=null!==(n=a.color)&&void 0!==n?n:"rgba(255,255,255,0.6)",c=null!==(o=a.glowRadius)&&void 0!==o?o:4;for(const t of this.sceneNodes){const n=t.id;if(!n)continue;const o=this.nodeTimestamps.get(n);if(!o)continue;const r=e-o;s>r&&(t._pulseIntensity=1-r/s,t._pulseColor=l,t._pulseGlowRadius=c)}for(const t of this.sceneEdges){const n=t.datum;if(!n)continue;const o="object"==typeof n.source?null===(r=n.source)||void 0===r?void 0:r.id:n.source,a="object"==typeof n.target?null===(i=n.target)||void 0===i?void 0:i.id:n.target;if(!o||!a)continue;const c=this.edgeTimestamps.get(`${o}\0${a}`);if(!c)continue;const d=e-c;s>d&&(t._pulseIntensity=1-d/s,t._pulseColor=l)}}applyDecay(){var e,t;const n=this.config.decay;if(!n)return;const o=this.nodeTimestamps.size;if(1>=o)return;this._decaySortedNodes||(this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((e,t)=>e[1]-t[1]));const r=this._decaySortedNodes,i=new Map;for(let e=0;r.length>e;e++)i.set(r[e][0],e);for(const r of this.sceneNodes){const a=r.id;if(!a)continue;const s=i.get(a);if(void 0===s)continue;const l=et(n,s,o),c=null!==(t=null===(e=r.style)||void 0===e?void 0:e.opacity)&&void 0!==t?t:1;r.style=Object.assign(Object.assign({},r.style),{opacity:c*l})}}applyTopologyDiff(e){var t;if(0===this.addedNodes.size)return;const n=e-this.lastTopologyChangeTime;if(n>=2e3)return;const o=1-n/2e3;for(const e of this.sceneNodes){const n=e.id;n&&this.addedNodes.has(n)&&(e._pulseIntensity=Math.max(null!==(t=e._pulseIntensity)&&void 0!==t?t:0,o),e._pulseColor="rgba(34, 197, 94, 0.7)",e._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(e){var t,n;const o=this.config.thresholds;if(!o)return;const r=null!==(t=o.warningColor)&&void 0!==t?t:"#f59e0b",i=null!==(n=o.criticalColor)&&void 0!==n?n:"#ef4444",a=!1!==o.pulse;for(const t of this.sceneNodes){const n=t.id;if(!n)continue;const s=this.nodes.get(n);if(!s)continue;const l=o.metric(s);let c=null;void 0===o.critical||o.critical>l?void 0===o.warning||o.warning>l||(c=r):c=i,c&&(t.style=Object.assign(Object.assign({},t.style),{fill:c}),a&&(t._pulseIntensity=.6+.4*Math.sin(e/300),t._pulseColor=c,t._pulseGlowRadius=6))}}get hasActiveThresholds(){const e=this.config.thresholds;if(!e)return!1;for(const t of this.nodes.values()){const n=e.metric(t);if(void 0!==e.warning&&n>=e.warning||void 0!==e.critical&&n>=e.critical)return!0}return!1}get hasActivePulses(){var e;const t=this.config.pulse;if(!t||0===this.lastIngestTime)return!1;const n="undefined"!=typeof performance?performance.now():Date.now();return(null!==(e=t.duration)&&void 0!==e?e:500)>n-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}updateNode(e,t){var n;const o=this.nodes.get(e);if(!o)return null;const r=o.data?Object.assign({},o.data):{};return o.data=t(null!==(n=o.data)&&void 0!==n?n:{}),this.layoutVersion++,r}updateEdge(e,t,n){var o;const r=this.config.valueAccessor,i="function"==typeof r?r:r?e=>e[r]:e=>e.value,a=[];for(const[,r]of this.edges)if(("string"==typeof r.source?r.source:r.source.id)===e&&("string"==typeof r.target?r.target:r.target.id)===t){a.push(r.data?Object.assign({},r.data):{}),r.data=n(null!==(o=r.data)&&void 0!==o?o:{});const e=i(r.data);null!=e&&(r.value=Number(e))}return a.length>0&&this.layoutVersion++,a}removeNode(e){if(!this.nodes.has(e))return!1;this.nodes.delete(e),this.nodeTimestamps.delete(e);for(const[t,n]of this.edges)("string"==typeof n.source?n.source:n.source.id)!==e&&("string"==typeof n.target?n.target:n.target.id)!==e||(this.edges.delete(t),this.edgeTimestamps.delete(t));return this.layoutVersion++,!0}removeEdge(e,t){const n=[];if(void 0===t){const t=this.config.edgeIdAccessor;if(!t)throw Error("removeEdge(edgeId) requires edgeIdAccessor to be configured. Use removeEdge(sourceId, targetId) instead.");const o="function"==typeof t?t:e=>null==e?void 0:e[t];for(const[t,r]of this.edges)r.data&&o(r.data)===e&&n.push(t)}else for(const[o,r]of this.edges)("string"==typeof r.source?r.source:r.source.id)===e&&("string"==typeof r.target?r.target:r.target.id)===t&&n.push(o);for(const e of n)this.edges.delete(e),this.edgeTimestamps.delete(e);return n.length>0&&this.layoutVersion++,n.length>0}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this._hasRenderedOnce=!1,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.particlePool&&this.particlePool.clear()}}function nt(e){return{id:e,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function ot(e){if(!e||"object"!=typeof e)return!1;const t=e;if("boolean"!=typeof t.circular)return!1;if("number"!=typeof t.halfWidth||!Number.isFinite(t.halfWidth))return!1;if(t.circular){if(!Array.isArray(t.segments)||0===t.segments.length)return!1;for(const e of t.segments)if(!rt(e))return!1;return!0}return rt(t.points)}function rt(e){if(!Array.isArray(e)||4!==e.length)return!1;for(const t of e){if(!t||"object"!=typeof t)return!1;const e=t;if("number"!=typeof e.x||!Number.isFinite(e.x))return!1;if("number"!=typeof e.y||!Number.isFinite(e.y))return!1}return!0}function it(...e){const t=e.filter(e=>null!=e);return 0===t.length?null:1===t.length?t[0]:d.createElement(d.Fragment,null,...t)}function at(e){let t=e%(2*Math.PI);return 0>t&&(t+=2*Math.PI),t}function st(e,t,n,o,r=30){let i=null,a=r,s=1/0;for(const t of e){const e=lt(t,n,o,r);if(e)if("rect"===t.type){const n=t.w*t.h;s>n&&(i=e,s=n)}else a>e.distance&&(i=e,a=e.distance)}if(i)return i;for(const e of t){if(!1===e.interactive)continue;const t=ft(e,n,o);t&&a>t.distance&&(i=t,a=t.distance)}return i}function lt(e,t,n,o=30){switch(e.type){case"circle":return function(e,t,n,o=30){const r=t-e.cx,i=n-e.cy,a=Math.sqrt(r*r+i*i),s=function(e,t=30){return Math.max((null!=e?e:4)+5,12,t)}(e.r,o);return a>s?null:{type:"node",datum:e.datum,x:e.cx,y:e.cy,distance:a}}(e,t,n,o);case"rect":return function(e,t,n){const o=function(e,t,n){return n.x>e||e>n.x+n.w||n.y>t||t>n.y+n.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:n.x+n.w/2,cy:n.y+n.h/2}}(t,n,e);return o.hit?{type:"node",datum:e.datum,x:o.cx,y:o.cy,distance:0}:null}(e,t,n);case"arc":return function(e,t,n){const o=t-e.cx,r=n-e.cy,i=Math.sqrt(o*o+r*r);if(e.innerR-2>i||i>e.outerR+2)return null;const a=at(Math.atan2(r,o)),s=at(e.startAngle),l=at(e.endAngle);if(s>l?a>=s||l>=a:a>=s&&l>=a){const t=(e.startAngle+e.endAngle)/2,n=(e.innerR+e.outerR)/2;return{type:"node",datum:e.datum,x:e.cx+n*Math.cos(t),y:e.cy+n*Math.sin(t),distance:0}}return null}(e,t,n);default:return null}}let ct=null,dt=null;function ut(){return dt||(ct=document.createElement("canvas"),ct.width=1,ct.height=1,dt=ct.getContext("2d")),dt}function ht(e){if(e._cachedPath2D&&e._cachedPath2DSource===e.pathD)return e._cachedPath2D;try{return e._cachedPath2D=new Path2D(e.pathD),e._cachedPath2DSource=e.pathD,e._cachedPath2D}catch(e){return null}}function ft(e,t,n){switch(e.type){case"bezier":return function(e,t,n){if(!e.pathD)return null;const o=ht(e),r=ut();if(!o||!r)return null;try{if(r.isPointInPath(o,t,n))return{type:"edge",datum:e.datum,x:t,y:n,distance:0};const i=r.lineWidth;r.lineWidth=10;const a=r.isPointInStroke(o,t,n);if(r.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:n,distance:4}}catch(e){}return null}(e,t,n);case"line":return function(e,t,n){const o=e.x2-e.x1,r=e.y2-e.y1,i=o*o+r*r;if(0===i)return null;let a=((t-e.x1)*o+(n-e.y1)*r)/i;a=Math.max(0,Math.min(1,a));const s=e.x1+a*o,l=e.y1+a*r,c=Math.sqrt(Math.pow(t-s,2)+Math.pow(n-l,2));return c>5?null:{type:"edge",datum:e.datum,x:s,y:l,distance:c}}(e,t,n);case"ribbon":case"curved":return function(e,t,n){if(!e.pathD)return null;const o=ht(e),r=ut();if(!o||!r)return null;try{if(r.isPointInPath(o,t,n))return{type:"edge",datum:e.datum,x:t,y:n,distance:0};const i=r.lineWidth;r.lineWidth=10;const a=r.isPointInStroke(o,t,n);if(r.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:n,distance:4}}catch(e){}return null}(e,t,n);default:return null}}function gt(e,t,n){const{group:o,indexInGroup:r}=t,i=n.byGroup.get(o);switch(e){case"ArrowRight":return i.length-1>r?i[r+1]._flatIndex:t.flatIndex;case"ArrowLeft":return r>0?i[r-1]._flatIndex:t.flatIndex;case"ArrowDown":{const e=n.groups.indexOf(o);return n.groups.length-1>e?yt(n,n.groups[e+1],i[r]):t.flatIndex}case"ArrowUp":{const e=n.groups.indexOf(o);return e>0?yt(n,n.groups[e-1],i[r]):t.flatIndex}case"PageDown":return Math.min(t.flatIndex+Math.max(1,Math.floor(.1*n.flat.length)),n.flat.length-1);case"PageUp":return Math.max(t.flatIndex-Math.max(1,Math.floor(.1*n.flat.length)),0);case"Home":return 0;case"End":return n.flat.length-1;case"Escape":return-1;default:return null}}function yt(e,t,n){const o=e.byGroup.get(t);let r=0,i=Math.abs(o[0].x-n.x);for(let e=1;o.length>e;e++){const t=Math.abs(o[e].x-n.x);i>t&&(i=t,r=e)}return o[r]._flatIndex}function pt(e){return"object"==typeof e&&null!==e&&"id"in e?e.id:e}const mt="var(--semiotic-focus, #005fcc)";function vt({active:t,hoverPoint:n,margin:o,size:r,shape:i="circle",width:a,height:s}){if(!t||!n)return null;const l=n.x+o.left,c=n.y+o.top;let d;if("rect"===i&&null!=a&&null!=s){const t=Math.max(a,4),n=Math.max(s,4);d=e.jsx("rect",{x:l-t/2-3,y:c-n/2-3,width:t+6,height:n+6,rx:3,fill:"none",stroke:mt,strokeWidth:2,strokeDasharray:"4,2"})}else d=e.jsx("circle","wedge"===i?{cx:l,cy:c,r:12,fill:"none",stroke:mt,strokeWidth:2.5,strokeDasharray:"6,3"}:{cx:l,cy:c,r:8,fill:"none",stroke:mt,strokeWidth:2,strokeDasharray:"4,2"});return e.jsx("svg",{style:{position:"absolute",left:0,top:0,width:r[0],height:r[1],pointerEvents:"none",zIndex:2},"aria-hidden":"true",children:d})}const bt={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, white)",padding:"8px 12px",borderRadius:"var(--semiotic-tooltip-radius, 6px)",fontSize:"var(--semiotic-tooltip-font-size, 14px)",fontFamily:"var(--semiotic-font-family, inherit)",lineHeight:"1.5",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.15))",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function xt(e,t){return"function"==typeof t?t(e):e[t]}function kt(e,t){if(t)return t(e);if(null==e)return"";if("number"==typeof e){if(!Number.isFinite(e))return e+"";const t=Number.isInteger(e)?e:parseFloat(e.toPrecision(6));return Math.abs(t)>9999?t.toLocaleString():t+""}return e instanceof Date?e.toLocaleDateString():"object"==typeof e&&null!==e?void 0!==e.id?e.id+"":void 0!==e.name?e.name+"":JSON.stringify(e):e+""}function wt(t={}){const{fields:n,title:o,format:r,style:i={},className:a=""}=t;return t=>{if(!t||"object"!=typeof t)return null;let s;const l=[];if(o){const e=xt(t,o);s=kt(e,r)}if(n&&n.length>0)n.forEach(e=>{let n,o,i;"string"==typeof e?(n=e,o=e,i=r):(n=e.label,o=e.accessor||e.key||"",i=e.format||r);const a=xt(t,o);l.push({label:n,value:kt(a,i)})});else if(!o){const e=["value","y","name","id","label"];for(const n of e)if(void 0!==t[n]){s=kt(t[n],r);break}if(!s){const e=Object.keys(t).filter(e=>!e.startsWith("_"));e.length>0&&(s=kt(t[e[0]],r))}}const c=Object.assign(Object.assign({},bt),i);return e.jsxs("div",{className:("semiotic-tooltip "+a).trim(),style:c,children:[s&&e.jsx("div",{style:{fontWeight:l.length>0?"bold":"normal"},children:s}),l.map((t,n)=>e.jsxs("div",{style:{marginTop:0===n&&s?"4px":0},children:[t.label&&e.jsxs("span",{children:[t.label,": "]}),t.value]},n))]})}}function St(t){if(!0!==t){if("function"==typeof t){const n=t;return t=>{var o;const r=u(!0===(null==t?void 0:t.__semioticHoverData)||t&&void 0!==t.data&&"number"==typeof t.x&&"number"==typeof t.y&&t&&("node"===t.type||"edge"===t.type||void 0!==t.nodeOrEdge||void 0!==t.allSeries||void 0!==t.stats||void 0!==t.__chartType)?null!==(o=t.data)&&void 0!==o?o:{}:t),i=n(r);return null==i?null:e.jsx("div",{className:"semiotic-tooltip",style:bt,children:i})}}return!1!==t&&void 0!==t&&("object"==typeof t&&null!==t&&("fields"in t||"title"in t)?wt(t):wt())}}function Mt({x:t,y:n,containerWidth:o,containerHeight:r,margin:i,children:a,className:s="stream-frame-tooltip",zIndex:l=1}){const c=Number.isFinite(t)&&Number.isFinite(n),u=d.useRef(null),[h,f]=d.useState(null);d.useLayoutEffect(()=>{const e=u.current;if(!e)return;const t=e.getBoundingClientRect();f(e=>e&&e.width===t.width&&e.height===t.height?e:{width:t.width,height:t.height})},[a,s,o,r]);let g;g=h?`translate(${h.width+12>o-t?"calc(-100% - 12px)":"12px"}, ${h.height+12>r-n?"calc(-100% - 4px)":"4px"})`:`translate(${t>.7*o?"calc(-100% - 12px)":"12px"}, ${.3*r>n?"4px":"calc(-100% - 4px)"})`;const y=function(e){if(!d.isValidElement(e))return!1;const t=e.type;if("string"!=typeof t&&t&&!0===t.ownsChrome)return!0;const n=e.props;if("string"==typeof n.className&&n.className.trim().length>0)return!0;const o=n.style;if(o&&"object"==typeof o){if(null!=o.background&&""!==o.background)return!0;if(null!=o.backgroundColor&&""!==o.backgroundColor)return!0}return!1}(a),p=y?null:bt;return c?e.jsx("div",{ref:u,className:y?s:(s+" semiotic-tooltip").trim(),style:Object.assign(Object.assign({},p||{}),{position:"absolute",left:i.left+t,top:i.top+n,transform:g,pointerEvents:"none",zIndex:l,width:"max-content"}),children:a}):null}function At(n){let o=null;const r=()=>(o||(o=t.createContext(null)),o),i=jt(n);return[function({children:o,initialState:i}){const a=t.useRef(i),s=t.useMemo(()=>jt(n,a.current),[]),l=r();return e.jsx(l.Provider,{value:s,children:o})},e=>{var n;const o=r(),a=null!==(n=t.useContext(o))&&void 0!==n?n:i,s=t.useRef(e);s.current=e;const l=t.useCallback(()=>s.current(a.getState()),[a]),c=t.useCallback(()=>s.current(a.getState()),[a]);return t.useSyncExternalStore(a.subscribe,l,c)}]}function jt(e,t){const n=new EventTarget;let o=Object.assign(Object.assign({},e(function(e){o=Object.assign(Object.assign({},o),e(o)),n.dispatchEvent(new Event("update"))})),null!=t?t:{});return{getState:()=>o,subscribe:function(e){return n.addEventListener("update",e),()=>n.removeEventListener("update",e)}}}function Lt(e){if(!(null==e?void 0:e.colors))return;const t=e.colors;return{primary:t.primary,secondary:t.secondary||t.primary,surface:t.surface||t.background,success:t.success,danger:t.danger,warning:t.warning,error:t.error,info:t.info,text:t.text,textSecondary:t.textSecondary,border:t.border,grid:t.grid}}function Ct(e){if(!e.accessibility)return e;let t=e;if(e.accessibility.colorBlindSafe&&(t=Object.assign(Object.assign({},t),{colors:Object.assign(Object.assign({},t.colors),{categorical:Et})})),e.accessibility.highContrast){const e="dark"===t.mode;t=Object.assign(Object.assign({},t),{colors:Object.assign(Object.assign({},t.colors),{text:e?"#ffffff":"#000000",textSecondary:e?"#cccccc":"#333333",grid:e?"#666666":"#999999",border:e?"#888888":"#000000"})})}return t}const Et=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],Dt={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},Ot={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},Pt={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:Et,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function Tt(e,t){if("light"===t)return Dt;if("dark"===t)return Ot;if("high-contrast"===t)return Pt;if("string"==typeof t)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${t}". Keeping current theme.`),e;if(t.mode&&"auto"!==t.mode){const e="dark"===t.mode?Ot:Dt;return Ct(Object.assign(Object.assign(Object.assign({},e),t),{colors:Object.assign(Object.assign({},e.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.typography),t.typography||{})}))}return Ct(Object.assign(Object.assign(Object.assign({},e),t),{colors:Object.assign(Object.assign({},e.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.typography),t.typography||{})}))}const[Nt,It]=At(e=>({theme:Dt,setTheme(t){e(e=>({theme:Tt(e.theme,t)}))}}));const _t=/^var\(\s*(--[^,)]+)(?:\s*,\s*([^)]+))?\s*\)$/,Wt=new WeakMap;let Rt=0,$t=!1,Bt=null,zt=null,Ht=null;function Ft(e,t){var n,o;if(!t)return t;const r=_t.exec(t);if(!r)return t;const i=e.canvas;if(!i)return(null===(n=r[2])||void 0===n?void 0:n.trim())||t;!function(){if($t)return;if("undefined"==typeof window||"undefined"==typeof document)return;$t=!0;const e=()=>{Rt++};if("undefined"!=typeof MutationObserver&&document.documentElement&&(Bt=new MutationObserver(e),Bt.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme","data-semiotic-theme"]})),"function"==typeof window.matchMedia)try{zt=window.matchMedia("(prefers-color-scheme: dark)"),Ht=e,"function"==typeof zt.addEventListener?zt.addEventListener("change",Ht):"function"==typeof zt.addListener&&zt.addListener(Ht)}catch(e){}}();let a=Wt.get(i);a&&a.version===Rt||(a={version:Rt,map:new Map},Wt.set(i,a));const s=a.map.get(t);if(void 0!==s)return s;const l=getComputedStyle(i).getPropertyValue(r[1]).trim()||(null===(o=r[2])||void 0===o?void 0:o.trim())||t;return a.map.set(t,l),l}const Yt="undefined"==typeof window?t.useEffect:t.useLayoutEffect;function Xt(e,t,n){return"function"==typeof e?e({size:t,margin:n}):e}function Gt(e){const n=function(){const[e,n]=t.useState(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return t.useEffect(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return n(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const n=e;return n.addListener(t),()=>n.removeListener(t)}(e,e=>n(e.matches))},[]),e}(),o=t.useRef(n);o.current=n;const[r,i]=function(e,n,o){const r=t.useRef(null),[i,a]=t.useState(null);return t.useEffect(()=>{if(!n&&!o)return;const e=r.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:n}=t.contentRect;a(t=>t&&t.w===e&&t.h===n?t:{w:e,h:n})}});return t.observe(e),()=>t.disconnect()},[n,o]),[r,[n&&i?i.w:e[0],o&&i?i.h:e[1]]]}(e.sizeProp,e.responsiveWidth,e.responsiveHeight),a=t.useMemo(()=>Object.assign(Object.assign({},e.marginDefault),e.userMargin),[e.marginDefault,e.userMargin]),s=i[0]-a.left-a.right,l=i[1]-a.top-a.bottom,c=Xt(e.foregroundGraphics,i,a),u=Xt(e.backgroundGraphics,i,a),h=It(e=>e.theme),{transition:f,introEnabled:g}=function(e,t){var n,o;if(!1===e)return{transition:void 0,introEnabled:!1};const r="undefined"!=typeof window&&(null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(prefers-reduced-motion: reduce)").matches);return{transition:e?!0===e?{duration:300}:{duration:null!==(o=e.duration)&&void 0!==o?o:300,easing:"linear"===e.easing?"linear":"ease-out"}:t,introEnabled:!(r||!e||!0!==e&&!1===e.intro)}}(e.animate,e.transitionProp),y="semiotic-table-"+d.useId(),p=t.useRef(0),m=t.useRef(()=>{}),v=t.useCallback(()=>{p.current||(p.current=requestAnimationFrame(()=>m.current()))},[]);t.useEffect(()=>()=>{p.current&&(cancelAnimationFrame(p.current),p.current=0)},[]);const b=t.useRef(()=>{}),x=t.useRef(()=>{}),k=t.useRef(null),w=t.useRef(0),S=t.useCallback(()=>{w.current=0;const e=k.current;k.current=null,e&&b.current(e)},[]),M=t.useCallback(e=>{k.current={clientX:e.clientX,clientY:e.clientY},0===w.current&&(w.current=requestAnimationFrame(S))},[S]),A=t.useCallback(()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0),x.current()},[]);t.useEffect(()=>()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0)},[]);const j=e.themeDirtyRef;return Yt(()=>{j&&(Rt++,j.current=!0,v())},[h,v,j]),{reducedMotion:n,reducedMotionRef:o,responsiveRef:r,size:i,margin:a,adjustedWidth:s,adjustedHeight:l,resolvedForeground:c,resolvedBackground:u,currentTheme:h,transition:f,introEnabled:g,tableId:y,rafRef:p,renderFnRef:m,scheduleRender:v,hoverHandlerRef:b,hoverLeaveRef:x,onPointerMove:M,onPointerLeave:A}}const qt={fill:(t,n)=>e.jsx("rect",{style:t,width:n,height:n}),line:(t,n)=>e.jsx("line",{style:t,x1:0,y1:0,x2:n,y2:n})};function Vt(e,t,n,o,r){let i;return i="function"==typeof n?n(e):(0,qt[n])(o(e,t),r),i}function Kt({swatchSize:t}){return e.jsx("path",{d:`M${.25*t},${.55*t} L${.45*t},${.75*t} L${.8*t},${.3*t}`,fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function Zt(e,t,n){return n&&n.size>0?n.has(e.label)?1:.3:null!=t?e.label===t?1:.3:1}const Ut=(t,n,o,r,i,a,s,l,c,d,u)=>{const{type:h="fill",styleFn:f,items:g}=t,y=[];let p=0;const m=!(!n&&!o),v="isolate"===d||void 0===d&&null!=i,{swatchSize:b,labelGap:x,rowHeight:k}=u;return g.forEach((t,d)=>{const u=Vt(t,d,h,f,b),w=Zt(t,r,i),S=i&&i.size>0&&i.has(t.label);y.push(e.jsxs("g",{transform:`translate(0,${p})`,onClick:n?()=>n(t):void 0,onMouseEnter:o?()=>o(t):void 0,onMouseLeave:o?()=>o(null):void 0,tabIndex:m?l===a&&d===s?0:-1:void 0,role:m?"option":void 0,"aria-selected":m&&v?S||!1:void 0,"aria-current":m&&!v&&null!=r&&t.label===r||void 0,"aria-label":t.label,onKeyDown:m?e=>{var o;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n&&n(t)),"ArrowDown"===e.key||"ArrowUp"===e.key){e.preventDefault();const t=(d+("ArrowDown"===e.key?1:-1)+g.length)%g.length;c(l,t);const n=null===(o=e.currentTarget.parentElement)||void 0===o?void 0:o.children[t];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:m?e=>{c(l,d),o&&o(t);const n=e.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:m?e=>{o&&o(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:m?"pointer":"default",opacity:w,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[m&&e.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:b+x+2+7*t.label.length,height:b+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),u,S&&e.jsx(Kt,{swatchSize:b}),e.jsx("text",{y:b/2,x:b+x,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label})]},"legend-item-"+d)),p+=k}),y};function Qt({config:t,orientation:n="vertical",width:o=100}){const{colorFn:r,domain:i,label:a,format:s}=t,l=s||(e=>Math.round(100*e)/100+""),c="grad-legend-"+d.useId();if("horizontal"===n){const t=12,n=Math.min(o,200),s=Math.max(0,(o-n)/2),d=[];for(let t=0;64>=t;t++){const n=t/64;d.push(e.jsx("stop",{offset:100*n+"%",stopColor:r(i[0]+n*(i[1]-i[0]))},t))}return e.jsxs("g",{"aria-label":a||"Gradient legend",children:[e.jsx("defs",{children:e.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:d})}),a&&e.jsx("text",{x:s+n/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:a}),e.jsx("rect",{x:s,y:0,width:n,height:t,fill:`url(#${c})`,rx:2}),e.jsx("text",{x:s,y:t+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[0])}),e.jsx("text",{x:s+n,y:t+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[1])})]})}const u=[];for(let t=0;64>=t;t++){const n=t/64;u.push(e.jsx("stop",{offset:100*n+"%",stopColor:r(i[1]-n*(i[1]-i[0]))},t))}return e.jsxs("g",{"aria-label":a||"Gradient legend",children:[a&&e.jsx("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:a}),e.jsx("defs",{children:e.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:u})}),e.jsx("rect",{x:0,y:0,width:14,height:100,fill:`url(#${c})`,rx:2}),e.jsx("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[1])}),e.jsx("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[0])})]})}function Jt(t){const{legendGroups:n,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,legendInteraction:s,title:l="Legend",width:c=100,height:u=20,orientation:h="vertical",legendLayout:f}=t,g=function(e){var t,n,o,r,i;const a=Math.max(1,null!==(t=null==e?void 0:e.swatchSize)&&void 0!==t?t:16),s=Math.max(a,null!==(n=null==e?void 0:e.rowHeight)&&void 0!==n?n:22);return{swatchSize:a,labelGap:Math.max(0,null!==(o=null==e?void 0:e.labelGap)&&void 0!==o?o:6),itemGap:Math.max(0,null!==(r=null==e?void 0:e.itemGap)&&void 0!==r?r:10),rowHeight:s,align:"left"===(null==e?void 0:e.align)?"start":"right"===(null==e?void 0:e.align)?"end":null!==(i=null==e?void 0:e.align)&&void 0!==i?i:"start",maxWidth:null==e?void 0:e.maxWidth}}(f),[y,p]=d.useState(0),[m,v]=d.useState(0),b=d.useCallback((e,t)=>{p(e),v(t)},[]),x="vertical"===h?(({legendGroups:t,width:n,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:s,focusedItemIndex:l,onFocusedIndexChange:c,legendInteraction:d,metrics:u})=>{let h=24;const f=[];return t.forEach((t,g)=>{h+=5,f.push(e.jsx("line",{stroke:"gray",x1:0,y1:h,x2:n,y2:h},"legend-top-line legend-symbol-"+g)),h+=8,t.label&&(h+=16,f.push(e.jsx("text",{y:h,className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label},"legend-text-"+g)),h+=8),f.push(e.jsx("g",{className:"legend-item",transform:`translate(0,${h})`,children:Ut(t,o,r,i,a,s,l,g,c,d,u)},"legend-group-"+g)),h+=t.items.length*u.rowHeight+8}),f})({legendGroups:n||[],width:c,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:y,focusedItemIndex:m,onFocusedIndexChange:b,legendInteraction:s,metrics:g}):(({legendGroups:t,height:n,width:o,customClickBehavior:r,customHoverBehavior:i,highlightedCategory:a,isolatedCategories:s,focusedGroupIndex:l,focusedItemIndex:c,onFocusedIndexChange:d,legendInteraction:u,metrics:h})=>{var f;let g=0;const y=[];t.forEach((t,n)=>{var f;let p=0;t.label&&(p+=16);const m=((t,n,o,r,i,a,s,l,c,d,u,h)=>{const{type:f="fill",styleFn:g,items:y}=t,p=[],{swatchSize:m,labelGap:v,itemGap:b,rowHeight:x,align:k}=u,w=!(!n&&!o),S="isolate"===d||void 0===d&&null!=i,M=y.map(e=>m+v+7*e.label.length),A=[];let j=0,L=0;M.forEach((e,t)=>{const n=0===L?e:L+b+e;h&&h>0&&L>0&&n>h?(A.push({start:j,end:t,width:L}),j=t,L=e):L=n}),y.length>0&&A.push({start:j,end:y.length,width:L}),A.forEach((t,d)=>{let u="center"===k?Math.max(0,((null!=h?h:t.width)-t.width)/2):"end"===k?Math.max(0,(null!=h?h:t.width)-t.width):0;for(let h=t.start;t.end>h;h++){const t=y[h],k=Vt(t,h,f,g,m),A=Zt(t,r,i),j=i&&i.size>0&&i.has(t.label);p.push(e.jsxs("g",{transform:`translate(${u},${d*x})`,onClick:n?()=>n(t):void 0,onMouseEnter:o?()=>o(t):void 0,onMouseLeave:o?()=>o(null):void 0,tabIndex:w?l===a&&h===s?0:-1:void 0,role:w?"option":void 0,"aria-selected":w&&S?j||!1:void 0,"aria-current":w&&!S&&null!=r&&t.label===r||void 0,"aria-label":t.label,onKeyDown:w?e=>{var o;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n&&n(t)),"ArrowRight"===e.key||"ArrowLeft"===e.key){e.preventDefault();const t=(h+("ArrowRight"===e.key?1:-1)+y.length)%y.length;c(l,t);const n=null===(o=e.currentTarget.parentElement)||void 0===o?void 0:o.children[t];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:w?e=>{c(l,h),o&&o(t);const n=e.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:w?e=>{o&&o(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:w?"pointer":"default",opacity:A,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[w&&e.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:m+v+2+7*t.label.length,height:m+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),k,j&&e.jsx(Kt,{swatchSize:m}),e.jsx("text",{y:m/2,x:m+v,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label})]},"legend-item-"+h)),u+=M[h]+b}});const C=Math.max(0,...A.map(e=>e.width)),E=A.length;return{items:p,offset:C,totalRows:E,totalHeight:E*x}})(t,r,i,a,s,l,c,n,d,u,h,null!==(f=h.maxWidth)&&void 0!==f?f:o);p+=m.offset+5,y.push(Object.assign(Object.assign({label:t.label},m),{offset:p,totalRows:m.totalRows,totalHeight:m.totalHeight})),g+=p+12});const p=null!==(f=h.maxWidth)&&void 0!==f?f:o;let m=g>p?0:"center"===h.align?Math.max(0,(p-g)/2):"end"===h.align?Math.max(0,p-g):0;const v=[];return y.forEach((o,r)=>{const i=t[r];i.label&&(v.push(e.jsx("text",{transform:`translate(${m},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:i.label},"legend-text-"+r)),m+=16),v.push(e.jsx("g",{className:"legend-item",transform:`translate(${m},0)`,children:o.items},"legend-group-"+r)),m+=o.offset+5,t[r+1]&&v.push(e.jsx("line",{stroke:"gray",x1:m,y1:-8,x2:m,y2:(o.totalHeight||n)+0+8},"legend-top-line legend-symbol-"+r)),m+=12}),e.jsx("g",{children:v})})({legendGroups:n||[],title:l,height:u,width:c,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:y,focusedItemIndex:m,onFocusedIndexChange:b,legendInteraction:s,metrics:g}),k=!(!o&&!r);return e.jsxs("g",{role:k?"listbox":void 0,"aria-multiselectable":!(!k||"isolate"!==s&&(void 0!==s||null==a))||void 0,"aria-label":"Chart legend",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[void 0!==l&&""!==l&&"vertical"===h&&e.jsx("text",{className:"legend-title",y:16,x:c/2,textAnchor:"middle",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:l}),x]})}function en(e){return"object"==typeof e&&null!==e&&"legendGroups"in e}function tn(e){return"object"==typeof e&&null!==e&&"gradient"in e}function nn(t){var n;const{legend:o,totalWidth:r,totalHeight:i,margin:a,legendPosition:s="right",legendLayout:l,title:c,legendHoverBehavior:d,legendClickBehavior:u,legendHighlightedCategory:h,legendIsolatedCategories:f,legendInteraction:g}=t;if(!o)return null;const y="top"===s||"bottom"===s,p=!!c,m=Math.max(1,y?null!==(n=null==l?void 0:l.maxWidth)&&void 0!==n?n:Math.max(0,r-a.left-a.right):100);let v,b;return"left"===s?(v=Math.max(4,a.left-m-10),b=a.top):"top"===s?(v=a.left,b=p?32:8):"bottom"===s?(v=a.left,b=i-a.bottom+38):(v=r-a.right+10,b=a.top),e.jsx("g",{transform:`translate(${v}, ${b})`,children:tn(o)?e.jsx(Qt,{config:o.gradient,orientation:y?"horizontal":"vertical",width:m}):en(o)?e.jsx(Jt,{legendGroups:o.legendGroups,title:"",width:m,orientation:y?"horizontal":"vertical",legendLayout:l,customHoverBehavior:d,customClickBehavior:u,highlightedCategory:h,isolatedCategories:f,legendInteraction:g}):o})}const on={secondary:0,primary:3},rn=".annotation-deferred{opacity:0;pointer-events:none;transition:opacity .12s ease}.stream-xy-frame:hover .annotation-deferred,.stream-ordinal-frame:hover .annotation-deferred,.stream-network-frame:hover .annotation-deferred,.stream-geo-frame:hover .annotation-deferred,.stream-xy-frame:focus-within .annotation-deferred,.stream-ordinal-frame:focus-within .annotation-deferred,.stream-network-frame:focus-within .annotation-deferred,.stream-geo-frame:focus-within .annotation-deferred{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.annotation-deferred{transition:none}}";function an(e){return!0===(null==e?void 0:e._annotationDeferred)}function sn(e){return"blended"===(null==e?void 0:e.cohesion)||"layer"===(null==e?void 0:e.cohesion)?e.cohesion:null}function ln(e){var t;const n=null===(t=null==e?void 0:e.provenance)||void 0===t?void 0:t.confidence;return"number"==typeof n&&Number.isFinite(n)?Math.max(0,Math.min(1,n)):null}function cn(e){return Math.max(.72,.95-.06*e)}function dn(e,t){var n,o,r;const i=null!==(o=null===(n=t.scales)||void 0===n?void 0:n.x)&&void 0!==o?o:null===(r=t.scales)||void 0===r?void 0:r.time;return i?null!=e.x?i(e.x):t.xAccessor&&null!=e[t.xAccessor]?i(e[t.xAccessor]):null:null}function un(e,t){var n,o,r;const i=null!==(o=null===(n=t.scales)||void 0===n?void 0:n.y)&&void 0!==o?o:null===(r=t.scales)||void 0===r?void 0:r.value;return i?null!=e.y?i(e.y):t.yAccessor&&null!=e[t.yAccessor]?i(e[t.yAccessor]):null:null}function hn(e){return null==e?null:e+""}function fn(e,t,n){var o;return null===(o=t.stickyPositionCache)||void 0===o||o.set(e,n),n}const gn=new Set(["label","callout","callout-circle","callout-rect","text","widget"]);function yn(e){return!!e&&"object"==typeof e&&gn.has(function(e){return"string"==typeof(null==e?void 0:e.type)?e.type:""}(e))}function pn(e){return"primary"===(null==e?void 0:e.emphasis)||!0===(null==e?void 0:e.defensive)}function mn(e,t,n={}){return"number"==typeof n.maxAnnotations&&Number.isFinite(n.maxAnnotations)?Math.max(0,Math.floor(n.maxAnnotations)):e>0&&t>0?Math.max(1,Math.round(e*t/(n.areaPerAnnotation&&n.areaPerAnnotation>0?n.areaPerAnnotation:2e4))):1/0}function vn(e){var t,n;let o;const r=null==e?void 0:e.emphasis;o="primary"===r?100:"secondary"===r?10:50;const i=null===(t=null==e?void 0:e.provenance)||void 0===t?void 0:t.confidence;switch("number"==typeof i&&Number.isFinite(i)&&(o+=15*function(e){return Math.max(0,Math.min(1,e))}(i)),null===(n=null==e?void 0:e.lifecycle)||void 0===n?void 0:n.freshness){case"fresh":o+=8;break;case"aging":o+=4;break;case"stale":o+=1;break;case"expired":o-=200}return o}new Set(["label","callout","callout-circle","callout-rect"]);const bn=32,xn=6,kn=4,wn=8,Sn=72;const Mn={ai:"AI",agent:"agent",watcher:"watcher",system:"system",import:"imported",computed:"computed",user:"you"};function An(e){return yn(e)}function jn(e,t){if(!e)return[];const n=Math.max(1,Math.floor(t/7)),o=e.split(/\s+/).filter(Boolean),r=[];let i="";for(const e of o)i&&i.length+e.length+1>n?(r.push(i),i=e):i=i?`${i} ${e}`:e;return i&&r.push(i),r}function Ln(e,t,n,o,r){const i=e+n,a=t+o;return Math.abs(n)>Math.abs(o)?{x:0>n?i-r.width-4:i+4,y:0>o?a-r.height:a,width:r.width,height:r.height}:{x:0>n?i-r.width:i,y:0>o?a-r.height-4:a+4,width:r.width,height:r.height}}function Cn(e,t){return{x:e.x-t,y:e.y-t,width:e.width+2*t,height:e.height+2*t}}function En(e,t){return Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}function Dn(e,t,n,o,r,i,a,s){const l=Cn(e,a);let c=.4*Math.hypot(t.dx,t.dy)+80*function(e,t,n,o){const r=Math.max(0,o-e.x),i=Math.max(0,o-e.y);return(r+Math.max(0,e.x+e.width-(t-o)))*e.height+(i+Math.max(0,e.y+e.height-(n-o)))*e.width}(l,r,i,s);for(const e of n)c+=12*En(l,e);for(const e of o)c+=4*En(l,e);return c}function On(e,t,n){var o,r;if("widget"===e.type&&"number"==typeof e.px&&"number"==typeof e.py)return{x:e.px,y:e.py};const i=null!==(o=e.pointId)&&void 0!==o?o:e.nodeId;if(null!=i&&n.pointNodes){const e=n.pointNodes.find(e=>e.pointId===i);if(e)return{x:e.x,y:e.y}}const a=e.coordinates,s=null===(r=n.scales)||void 0===r?void 0:r.geoProjection;if(Array.isArray(a)&&a.length>=2&&s){const e=a[0],t=a[1];if("number"==typeof e&&"number"==typeof t){const n=s([e,t]);if(n&&"number"==typeof n[0]&&"number"==typeof n[1])return{x:n[0],y:n[1]}}}return n.scales||"number"!=typeof e.x||"number"!=typeof e.y?function(e,t,n){var o,r;const i=e.anchor||(null===(o=e.lifecycle)||void 0===o?void 0:o.anchor)||"fixed";if("latest"===i){if(null!=e.pointId&&n.pointNodes&&n.pointNodes.length>0)for(let o=n.pointNodes.length-1;o>=0;o--){const r=n.pointNodes[o];if(r.pointId===e.pointId)return fn(t,n,{x:r.x,y:r.y})}const o=function(e){var t,n,o,r,i,a;const s=e.data;if(!s||0===s.length)return null;const l=s[s.length-1],c=null!==(n=null===(t=e.scales)||void 0===t?void 0:t.x)&&void 0!==n?n:null===(o=e.scales)||void 0===o?void 0:o.time,d=null!==(i=null===(r=e.scales)||void 0===r?void 0:r.y)&&void 0!==i?i:null===(a=e.scales)||void 0===a?void 0:a.value;if(!c||!d)return null;const u=l[e.xAccessor||"x"],h=l[e.yAccessor||"y"];return null==u||null==h?null:{x:c(u),y:d(h)}}(n);return o?fn(t,n,o):null}if("semantic"===i){const o=function(e,t,n){var o,r;const i=function(e){var t,n;return hn(null!==(n=null===(t=e.provenance)||void 0===t?void 0:t.stableId)&&void 0!==n?n:e.stableId)}(e);if(!i)return null;const a=null===(o=n.pointNodes)||void 0===o?void 0:o.find(e=>hn(e.pointId)===i);if(a)return fn(t,n,{x:a.x,y:a.y});const s=null===(r=n.data)||void 0===r?void 0:r.find(e=>function(e){var t,n,o;return hn(null!==(n=null!==(t=e.stableId)&&void 0!==t?t:e.id)&&void 0!==n?n:null===(o=e.provenance)||void 0===o?void 0:o.stableId)}(e)===i);if(!s)return null;const l=dn(s,n),c=un(s,n);return null==l||null==c?null:fn(t,n,{x:l,y:c})}(e,t,n);if(o)return o}let a=null,s=null;if(null!=e.pointId&&n.pointNodes){const t=n.pointNodes.find(t=>t.pointId===e.pointId);t&&(a=t.x,s=t.y)}if(null!=a&&null!=s||(a=dn(e,n),s=un(e,n)),null!=a&&null!=s)return fn(t,n,{x:a,y:s});if("sticky"===i){const e=null===(r=n.stickyPositionCache)||void 0===r?void 0:r.get(t);if(e)return e}return null}(e,t,n):{x:e.x,y:e.y}}function Pn(e){var t;const{annotations:n,context:o,defaultOffset:r=bn,notePadding:i=xn,markPadding:a=kn,edgePadding:s=wn,preserveManualOffsets:l=!0,routeLongConnectors:c=!0,connectorThreshold:d=Sn,density:u,progressiveDisclosure:h=!1,redundantCues:f=!1,responsive:g,cohesion:y,audience:p}=e,m=o.width||0,v=o.height||0;if(0===n.length||0>=m||0>=v)return n.slice();const b=[],x=function(e,t){return(e.pointNodes||[]).map(e=>{const n=Math.max(1,e.r||1)+t;return{x:e.x-n,y:e.y-n,width:2*n,height:2*n}})}(o,a);let k=!1;const w=n.map((e,t)=>{if(!An(e))return e;const n=On(e,t,o);if(!n)return e;const a=function(e){if("widget"===e.type)return{width:"number"==typeof e.width?e.width:32,height:"number"==typeof e.height?e.height:32};const t="number"==typeof e.wrap?e.wrap:120,n=[...jn("string"==typeof e.title?e.title:void 0,t),...jn("string"==typeof e.label?e.label:void 0,t)],o=n.reduce((e,t)=>Math.max(e,t.length),0);return{width:Math.max(24,Math.min(t,7*o)+10),height:Math.max(18,16*n.length+6)}}(e);if(l&&("number"==typeof(u=e).dx||"number"==typeof u.dy)){const t=function(e){return"text"===e.type||"widget"===e.type?{dx:0,dy:0}:{dx:30,dy:-30}}(e);return b.push(Cn(Ln(n.x,n.y,"number"==typeof e.dx?e.dx:t.dx,"number"==typeof e.dy?e.dy:t.dy,a),i)),e}var u;let h=null,f=1/0;for(const e of function(e){const t=1.6*e;return[{dx:e,dy:-e},{dx:-e,dy:-e},{dx:e,dy:e},{dx:-e,dy:e},{dx:e,dy:0},{dx:-e,dy:0},{dx:0,dy:-e},{dx:0,dy:e},{dx:t,dy:-t},{dx:-t,dy:-t},{dx:t,dy:t},{dx:-t,dy:t}]}(r)){const t=Dn(Ln(n.x,n.y,e.dx,e.dy,a),e,b,x,m,v,i,s);f>t&&(h=e,f=t)}if(!h)return e;const g=Cn(Ln(n.x,n.y,h.dx,h.dy,a),i);b.push(g);const y=Math.hypot(h.dx,h.dy),p=c&&y>=d&&"text"!==e.type&&"widget"!==e.type?Object.assign(Object.assign({},e.connector||{end:"arrow"}),{type:"curve"}):e.connector;return k=!0,Object.assign(Object.assign(Object.assign({},e),{dx:h.dx,dy:h.dy}),p?{connector:p}:{})}),S=k?w:n.slice();let M=S;if(f){let e=!1;const t=S.map(t=>{const n=function(e){return"text"!==e.type||"string"!=typeof e.color||8>Math.hypot("number"==typeof e.dx?e.dx:0,"number"==typeof e.dy?e.dy:0)?e:Object.assign(Object.assign({},e),{_redundantConnector:!0})}(t);return n!==t&&(e=!0),n});M=e?t:S}{let e=!1;const t=M.map(t=>{if(!0!==(null==t?void 0:t.defensive))return t;const n=function(e){var t;const n=null==e?void 0:e.provenance;if(!n||"object"!=typeof n)return e;const o="string"==typeof n.source?null!==(t=Mn[n.source])&&void 0!==t?t:n.source:null,r="number"==typeof n.confidence&&Number.isFinite(n.confidence)?Math.round(100*Math.max(0,Math.min(1,n.confidence)))+"%":null;if(!o&&!r)return e;if(null!=e.label&&"string"!=typeof e.label)return e;const i=[o,r].filter(Boolean).join(" · "),a="string"==typeof e.label?e.label:"";return a.includes(`(${i})`)?e:Object.assign(Object.assign({},e),{label:a?`${a} (${i})`:`(${i})`})}(t);return n!==t&&(e=!0),n});M=e?t:M}const A=new Set;if(u){const e="object"==typeof u?u:{},n=function(e){if(!e)return 1;const t=function(e){const t=null==e?void 0:e.familiarity;if(!t)return 3;const n=Object.values(t).filter(e=>"number"==typeof e&&Number.isFinite(e));return 0===n.length?3:n.reduce((e,t)=>e+t,0)/n.length}(e);return t>2?4>t?1:.6:1.5}(p),o=1===n?e:Object.assign(Object.assign({},e),{maxAnnotations:Math.max(0,Math.round((null!==(t=e.maxAnnotations)&&void 0!==t?t:mn(m,v,e))*n))}),{deferred:r}=function(e){var t;const{annotations:n,width:o,height:r}=e,i=Math.max(0,null!==(t=e.minVisible)&&void 0!==t?t:1),a=mn(o,r,e),s=n.map((e,t)=>{return{annotation:e,index:t,note:(n=e,yn(n))};var n}),l=s.filter(e=>e.note);if(0===l.length||a>=l.length)return{visible:n.slice(),deferred:[],budget:a};const c=l.filter(e=>pn(e.annotation)),d=l.filter(e=>!pn(e.annotation)).sort((e,t)=>vn(t.annotation)-vn(e.annotation)||e.index-t.index),u=Math.min(d.length,Math.max(Math.max(0,a-c.length),Math.max(0,i-c.length))),h=new Set([...c.map(e=>e.index),...d.slice(0,u).map(e=>e.index)]),f=[],g=[];for(const{annotation:e,index:t,note:n}of s)!n||h.has(t)?f.push(e):g.push(e);return{visible:f,deferred:g,budget:a}}(Object.assign({annotations:M,width:m,height:v},o));for(const e of r)A.add(e)}if(g&&("object"==typeof g&&"number"==typeof g.minWidth?g.minWidth:480)>=m)for(const e of M)An(e)&&"secondary"===e.emphasis&&A.add(e);if(A.size>0)for(const e of M)!0===(null==e?void 0:e.defensive)&&A.delete(e);let j;return j=0===A.size?M:h?M.map(e=>A.has(e)?Object.assign(Object.assign({},e),{_annotationDeferred:!0}):e):M.filter(e=>!A.has(e)),y?function(e,t){let n=!1;const o=e.map(e=>An(e)?"blended"===e.cohesion||"layer"===e.cohesion?e:(n=!0,Object.assign(Object.assign({},e),{cohesion:t})):e);return n?o:e}(j,y):j}function Tn(t){const{width:n,height:o,totalWidth:r,totalHeight:i,margin:a,labels:s,title:l,legend:c,legendHoverBehavior:u,legendClickBehavior:h,legendHighlightedCategory:f,legendIsolatedCategories:g,legendPosition:y="right",legendLayout:p,foregroundGraphics:m,sceneNodes:v,annotations:b,autoPlaceAnnotations:x,svgAnnotationRules:k}=t,w=d.useMemo(()=>{const e=(v||[]).flatMap(e=>{const t=function(e){var t,n,o,r;const i=null!==(t=e.cx)&&void 0!==t?t:null!=e.x&&null!=e.w?e.x+e.w/2:e.x,a=null!==(n=e.cy)&&void 0!==n?n:null!=e.y&&null!=e.h?e.y+e.h/2:e.y;return"number"!=typeof i||"number"!=typeof a?null:{x:i,y:a,r:"number"==typeof e.r?Math.max(1,e.r):"number"==typeof e.outerR?Math.max(1,e.outerR):Math.max(1,null!==(o=e.w)&&void 0!==o?o:0,null!==(r=e.h)&&void 0!==r?r:0)/2}}(e),n=function(e){var t,n,o,r,i,a,s,l;const c=null!==(a=null!==(o=null!==(t=e.id)&&void 0!==t?t:null===(n=e.datum)||void 0===n?void 0:n.id)&&void 0!==o?o:null===(i=null===(r=e.datum)||void 0===r?void 0:r.data)||void 0===i?void 0:i.id)&&void 0!==a?a:null===(l=null===(s=e.datum)||void 0===s?void 0:s.data)||void 0===l?void 0:l.name;return null==c?void 0:c+""}(e);return t?[Object.assign({pointId:n},t)]:[]});return{scales:null,width:n,height:o,frameType:"network",pointNodes:e,sceneNodes:v}},[o,v,n]),S=d.useMemo(()=>b&&x?Pn(Object.assign({annotations:b,context:w},"object"==typeof x?x:{})):b,[b,x,w]),M=S?function(t){const n=t.map((e,t)=>{return{p:e,i:t,emphasis:(n=e.annotation,"primary"===(null==n?void 0:n.emphasis)||"secondary"===(null==n?void 0:n.emphasis)?n.emphasis:null),confidence:ln(e.annotation),readingOrder:null,rank:1};var n}),o=n.some(e=>null!=e.emphasis||null!=e.confidence),r=t.some(e=>an(e.annotation)),i=t.some(e=>null!=sn(e.annotation)),a=t.some(e=>"layer"===sn(e.annotation));if(!o&&!r&&!i)return t.map(e=>e.node);const s=n.filter(e=>null==e.emphasis&&null!=e.confidence).slice().sort((e,t)=>{var n,o;return(null!==(n=t.confidence)&&void 0!==n?n:0)-(null!==(o=e.confidence)&&void 0!==o?o:0)||e.i-t.i});s.forEach((e,t)=>{e.readingOrder=t,e.rank=2-t/Math.max(1,s.length)});for(const e of n)e.emphasis&&(e.rank=on[e.emphasis]);const l=n.sort((e,t)=>e.rank-t.rank||e.i-t.i).map(t=>{const{p:n,i:o,emphasis:r,readingOrder:i}=t,a=an(n.annotation);let s=n.node;if("primary"===r||"secondary"===r||null!=i){const t=null==r&&null!=i;s=e.jsx("g",Object.assign({className:t?"annotation-emphasis annotation-emphasis--inferred":"annotation-emphasis annotation-emphasis--"+r},"secondary"===r?{opacity:.6,fontSize:"0.88em"}:{},t?{opacity:cn(i),"data-annotation-reading-order":i}:{},{children:n.node}),"annotation-emphasis-"+o)}const l=sn(n.annotation);return l&&(s=e.jsx("g",{className:"annotation-cohesion--"+l,children:s},"annotation-cohesion-"+o)),a&&(s=e.jsx("g",{className:"annotation-deferred","data-annotation-disclosure":"deferred",children:s},"annotation-deferred-"+o)),s});return r&&l.unshift(e.jsx("style",{children:rn},"annotation-disclosure-style")),a&&l.unshift(e.jsx("style",{children:".annotation-cohesion--layer text,.annotation-cohesion--layer tspan{fill:var(--semiotic-annotation-color,var(--semiotic-text-secondary,#666));font-style:italic}"},"annotation-cohesion-style")),l}(S.reduce((t,n,o)=>{if("widget"===n.type||!k)return t;const r=k(n,o,w);return r&&t.push({node:e.jsx(d.Fragment,{children:r},"annotation-"+o),annotation:n}),t},[])):null,A=!0===(null==S?void 0:S.some(e=>"widget"===e.type&&!0===e._annotationDeferred));return e.jsxs(e.Fragment,{children:[A&&e.jsx("style",{children:rn},"annotation-widget-disclosure-style"),e.jsxs("svg",{role:"img",width:r,height:i,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[e.jsx("title",{children:"string"==typeof l?l:"Network Chart"}),e.jsx("desc",{children:"string"==typeof l?l+" — network data visualization":"Network data visualization"}),e.jsxs("g",{transform:`translate(${a.left},${a.top})`,children:[s.map((t,n)=>e.jsx("text",{x:t.x,y:t.y,textAnchor:t.anchor||"start",dominantBaseline:t.baseline||"middle",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"currentColor",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,style:{pointerEvents:"none"},children:t.text},"label-"+n)),M,m]}),l&&"string"==typeof l?e.jsx("text",{x:r/2,y:16,textAnchor:"middle",fontWeight:600,fill:"currentColor",className:"semiotic-chart-title",style:{fontSize:"var(--semiotic-title-font-size, 14px)"},children:l}):l?e.jsx("foreignObject",{x:0,y:0,width:r,height:a.top,children:l}):null,nn({legend:c,totalWidth:r,totalHeight:i,margin:a,legendPosition:y,title:l,legendLayout:p,legendHoverBehavior:u,legendClickBehavior:h,legendHighlightedCategory:f,legendIsolatedCategories:g})]}),null==S?void 0:S.filter(e=>"widget"===e.type&&e.nodeId&&v).map((t,n)=>{var o,r,i,s,l,c,d,u,h;const f=!0===t._annotationDeferred,g=v.find(e=>{var n,o,r,i,a;return e.id===t.nodeId||(null===(n=e.datum)||void 0===n?void 0:n.id)===t.nodeId||(null===(r=null===(o=e.datum)||void 0===o?void 0:o.data)||void 0===r?void 0:r.id)===t.nodeId||(null===(a=null===(i=e.datum)||void 0===i?void 0:i.data)||void 0===a?void 0:a.name)===t.nodeId});if(!g)return null;const y=a.left+(null!==(o=g.cx)&&void 0!==o?o:null!=g.x&&null!=g.w?g.x+g.w/2:null!==(r=g.x)&&void 0!==r?r:0),p=a.top+(null!==(i=g.cy)&&void 0!==i?i:null!=g.y&&null!=g.h?g.y+g.h/2:null!==(s=g.y)&&void 0!==s?s:0),m=null!==(l=t.dx)&&void 0!==l?l:0,b=null!==(c=t.dy)&&void 0!==c?c:-16,x=null!==(d=t.width)&&void 0!==d?d:32,k=null!==(u=t.height)&&void 0!==u?u:32,w=null!==(h=t.content)&&void 0!==h?h:e.jsx("span",{style:{fontSize:18,cursor:"default"},children:"ℹ️"});return e.jsx("div",{className:f?"annotation-deferred":void 0,"data-annotation-disclosure":f?"deferred":void 0,style:{position:"absolute",left:y+m-x/2,top:p+b-k/2,width:x,height:k,display:"flex",alignItems:"center",justifyContent:"center",zIndex:5},children:w},"widget-"+n)})]})}Tn.displayName="NetworkSVGOverlay";const Nn={innerRadius:0,outerRadius:0,startAngle:0,endAngle:0};function In(e,t="#4e79a7"){return e&&"string"==typeof e?e:t}const _n="undefined"==typeof window||"undefined"==typeof document,Wn="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,Rn=()=>()=>{},$n=()=>!1,Bn=()=>!0;function zn(e){const n=t.useRef(e);return function(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return Fn(e,t);if(!Yn(e)||!Yn(t))return!1;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return!1;const n=e[o],r=t[o];if(!Object.is(n,r))if(Array.isArray(n)&&Array.isArray(r)){if(!Fn(n,r))return!1}else{if(!Yn(n)||!Yn(r))return!1;if(!Hn(n,r))return!1}}return!0}(n.current,e)||(n.current=e),n.current}function Hn(e,t){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return!1;if(!Object.is(e[o],t[o]))return!1}return!0}function Fn(e,t){if(e.length!==t.length)return!1;for(let n=0;e.length>n;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function Yn(e){if(null===e||"object"!=typeof e)return!1;if(Array.isArray(e))return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}const Xn=d.createContext(null),Gn={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function qn(e,t,n){const o=[];return e>0&&o.push(e+" nodes"),t>0&&o.push(t+" edges"),0===o.length?n+", empty":`${n}, ${o.join(", ")}`}const Vn=e=>{if(null==e)return"";const t=Math.round(100*e)/100;return Number.isNaN(t)?"":t+""},Kn="semiotic-accessible-data-table",Zn=Kn+" semiotic-accessible-data-table-hidden",Un=Kn+" semiotic-accessible-data-table-visible semiotic-accessible-data-table-network",Qn={position:"absolute",top:0,left:0,right:0,zIndex:"var(--semiotic-data-table-z-index, var(--semiotic-overlay-z-index, 20))",padding:"14px 16px 12px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontFamily:"var(--semiotic-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)",fontSize:13,lineHeight:1.5,color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",borderRadius:"var(--semiotic-border-radius, 0px) var(--semiotic-border-radius, 0px) 0 0"},Jn={marginBottom:8,paddingRight:28,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:12,letterSpacing:"0.01em"},eo={position:"absolute",top:10,right:10,width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",cursor:"pointer",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:13,lineHeight:1,padding:0,borderRadius:"var(--semiotic-border-radius, 4px)"},to={width:"100%",borderCollapse:"collapse",fontSize:12,marginTop:4,fontVariantNumeric:"tabular-nums"},no={textAlign:"left",padding:"5px 10px",borderBottom:"2px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))"},oo={padding:"4px 10px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))"},ro={textAlign:"left",fontSize:11,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",marginBottom:4,fontStyle:"italic"},io={marginTop:8,padding:"4px 10px",fontSize:12,cursor:"pointer",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",borderRadius:"var(--semiotic-border-radius, 4px)",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",fontFamily:"inherit"};function ao({nodes:t,edges:n,chartType:o,tableId:r,chartTitle:i}){var a,s,l,c,u,h,f,g,y,p,m,v,b,x;const[k,w]=d.useState(!1),[S,M]=d.useState(5),A=d.useContext(Xn),j=null!==(a=null==A?void 0:A.visible)&&void 0!==a&&a,L=k||j,C=i?"Data summary for "+i:r?`Data summary for ${o} ${r}`:"Data summary for "+o,E=d.useRef(null);d.useEffect(()=>{L||M(5)},[L]);const D=d.useCallback(e=>{e.target===e.currentTarget&&(k||j||w(!0))},[k,j]),O=d.useCallback(e=>{var t;j||(null===(t=E.current)||void 0===t?void 0:t.contains(e.relatedTarget))||w(!1)},[j]);if(!t||0===t.length)return r?e.jsx("span",{id:r,tabIndex:-1,style:Gn}):null;if(!L)return e.jsx("div",{id:r,className:Zn,tabIndex:-1,onFocus:D,style:Gn,role:"region","aria-label":C,children:e.jsxs("button",{type:"button",onClick:()=>w(!0),children:["View data summary (",t.length," nodes, ",n.length," edges)"]})});const P=Array.isArray(t)?t:[],T=Array.isArray(n)?n:[],N=new Map,I=new Map,_=new Map,W=new Map;for(const e of T){if(!e||"object"!=typeof e)continue;const t=null!==(s=e.datum)&&void 0!==s?s:e,n="object"==typeof t.source?null===(l=t.source)||void 0===l?void 0:l.id:t.source,o="object"==typeof t.target?null===(c=t.target)||void 0===c?void 0:c.id:t.target,r="number"==typeof t.value&&Number.isFinite(t.value)?t.value:0;if(null!=n&&""!==n){const e=n+"";I.set(e,(null!==(u=I.get(e))&&void 0!==u?u:0)+1),W.set(e,(null!==(h=W.get(e))&&void 0!==h?h:0)+r)}if(null!=o&&""!==o){const e=o+"";N.set(e,(null!==(f=N.get(e))&&void 0!==f?f:0)+1),_.set(e,(null!==(g=_.get(e))&&void 0!==g?g:0)+r)}}const R=[];for(let e=0;P.length>e;e++){const t=P[e];if(!t||"object"!=typeof t)continue;const n=null!==(p=null===(y=t.datum)||void 0===y?void 0:y.id)&&void 0!==p?p:t.id,o=null!=n?n+"":"node-"+e,r=null!==(m=N.get(o))&&void 0!==m?m:0,i=null!==(v=I.get(o))&&void 0!==v?v:0,a=null!==(b=_.get(o))&&void 0!==b?b:0,s=null!==(x=W.get(o))&&void 0!==x?x:0;R.push({id:o,degree:r+i,inDeg:r,outDeg:i,wDegree:a+s,wInDeg:a,wOutDeg:s})}R.sort((e,t)=>t.degree-e.degree);let $=0,B=0;if(R.length>0){let e=0;for(const t of R)e+=t.degree,t.degree>B&&(B=t.degree);$=e/R.length}const z=T.some(e=>{var t;const n=null!==(t=null==e?void 0:e.datum)&&void 0!==t?t:e;return"number"==typeof(null==n?void 0:n.value)&&Number.isFinite(n.value)}),H=[`${R.length} nodes, ${T.length} edges.`];R.length>0&&H.push(`Mean degree: ${Vn($)}, max degree: ${B}.`);const F=Math.min(S,R.length),Y=R.slice(0,F),X=R.length-F;return e.jsxs("div",{ref:E,id:r,className:Un,tabIndex:-1,onBlur:O,style:Qn,role:"region","aria-label":C,children:[e.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{j&&A&&A.setVisible(!1),w(!1)},"aria-label":"Close data summary",style:eo,children:"×"}),e.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:Jn,children:H.join(" ")}),e.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Node degree summary for "+o,style:to,children:[e.jsx("caption",{className:"semiotic-accessible-data-table-caption",style:ro,children:X>0?`Top ${F} of ${R.length} nodes by degree`:`All ${R.length} nodes by degree`}),e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:no,children:"id"}),e.jsx("th",{style:no,children:"degree"}),e.jsx("th",{style:no,children:"in"}),e.jsx("th",{style:no,children:"out"}),z&&e.jsx("th",{style:no,children:"w. degree"}),z&&e.jsx("th",{style:no,children:"w. in"}),z&&e.jsx("th",{style:no,children:"w. out"})]})}),e.jsx("tbody",{children:Y.map((t,n)=>e.jsxs("tr",{children:[e.jsx("td",{style:oo,children:t.id}),e.jsx("td",{style:oo,children:t.degree}),e.jsx("td",{style:oo,children:t.inDeg}),e.jsx("td",{style:oo,children:t.outDeg}),z&&e.jsx("td",{style:oo,children:Vn(t.wDegree)}),z&&e.jsx("td",{style:oo,children:Vn(t.wInDeg)}),z&&e.jsx("td",{style:oo,children:Vn(t.wOutDeg)})]},n))})]}),X>0&&e.jsxs("button",{type:"button",className:"semiotic-accessible-data-table-show-more",onClick:()=>M(e=>e+25),style:io,children:["Show ",Math.min(25,X)," more"," ",1===X?"node":"nodes"," (",X," remaining)"]})]})}function so({summary:t}){return t?e.jsx("div",{role:"note",style:Gn,children:t}):null}function lo({tableId:t}){return e.jsx("a",{href:"#"+t,style:Gn,onClick:e=>{e.preventDefault();const n=document.getElementById(t);n&&requestAnimationFrame(()=>n.focus())},onFocus:e=>{Object.assign(e.currentTarget.style,{position:"absolute",width:"auto",height:"auto",overflow:"visible",clip:"auto",whiteSpace:"normal",padding:"4px 8px",background:"var(--semiotic-bg, #fff)",color:"var(--semiotic-text, #000)",border:"2px solid var(--semiotic-focus, #005fcc)",borderRadius:"4px",zIndex:"10",fontSize:"12px",top:"4px",left:"4px"})},onBlur:e=>{const t=e.currentTarget;t.removeAttribute("style"),Object.assign(t.style,Gn)},children:"Skip to data table"})}function co({hoverPoint:t}){let n="";if(t){const e=t.data||t;n="object"==typeof e?"Data point: "+Object.entries(e).filter(([,e])=>"object"!=typeof e&&"function"!=typeof e).map(([e,t])=>`${e}: ${t}`).join(", "):"Data point: "+e}return e.jsx("div",{"aria-live":"polite","aria-atomic":"true",style:Gn,children:n})}const uo=Object.freeze([]);function ho(e){if(!e)return uo;let t=!1;for(let n=0;e.length>n;n++){const o=e[n];if(null==o||"object"!=typeof o){t=!0;break}}if(!t)return e;const n=[];for(const t of e)null!=t&&"object"==typeof t&&n.push(t);return n}function fo(e){return!(!e._pulseIntensity||0>=e._pulseIntensity)}function go(e,t,n=.3){fo(t)&&(e.globalAlpha=t._pulseIntensity*n,e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.fillRect(t.x,t.y,t.w,t.h))}function yo(e,t,n=.6){var o,r,i,a,s;if(!fo(t))return;const l=null!==(o=t._pulseGlowRadius)&&void 0!==o?o:4,c=t.r+l*t._pulseIntensity,d=null!==(i=null!==(r=t.cx)&&void 0!==r?r:t.x)&&void 0!==i?i:0,u=null!==(s=null!==(a=t.cy)&&void 0!==a?a:t.y)&&void 0!==s?s:0;e.beginPath(),e.arc(d,u,c,0,2*Math.PI),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=2*t._pulseIntensity,e.globalAlpha=t._pulseIntensity*n,e.stroke()}function po(e){return e._cachedPath2D&&e._cachedPath2DSource===e.pathD||(e._cachedPath2D=new Path2D(e.pathD),e._cachedPath2DSource=e.pathD),e._cachedPath2D}function mo(e,t){var n,o,r,i,a,s;if(!t.pathD)return;e.save();const l=po(t);if(t.style.fill&&"none"!==t.style.fill){const a=t._gradient;if(a){const r=e.createLinearGradient(a.x0,0,a.x1,0),i=null!==(o=null!==(n=t.style.fillOpacity)&&void 0!==n?n:t.style.opacity)&&void 0!==o?o:.5,s="string"==typeof t.style.fill?t.style.fill:"#999",l=Ft(e,s)||s;r.addColorStop(0,1===a.from?l:"transparent"),r.addColorStop(1,1===a.to?l:"transparent"),e.fillStyle=r,e.globalAlpha=i}else e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(i=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==i?i:.5;e.fill(l)}t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Ft(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(a=t.style.strokeWidth)&&void 0!==a?a:.5,e.globalAlpha=.5*(null!==(s=t.style.opacity)&&void 0!==s?s:1),e.stroke(l)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.2*t._pulseIntensity,e.fill(l)),e.restore()}function vo(e,t){var n,o;e.save();const r=t.style.stroke||"#999";e.strokeStyle=Ft(e,r)||r,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.strokeDasharray&&e.setLineDash(t.style.strokeDasharray.split(/[\s,]+/).map(Number)),e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke(),t._pulseIntensity&&t._pulseIntensity>0&&(e.setLineDash([]),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=(null!==(o=t.style.strokeWidth)&&void 0!==o?o:1)+3*t._pulseIntensity,e.globalAlpha=.4*t._pulseIntensity,e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke()),e.restore()}function bo(e,t){var n,o,r,i;if(!t.pathD)return;e.save();const a=po(t);t.style.fill&&"none"!==t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(o=null!==(n=t.style.fillOpacity)&&void 0!==n?n:t.style.opacity)&&void 0!==o?o:.5,e.fill(a)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Ft(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:.5,e.globalAlpha=.3*(null!==(i=t.style.opacity)&&void 0!==i?i:1),e.stroke(a)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.25*t._pulseIntensity,e.fill(a)),e.restore()}function xo(e,t){var n,o;if(!t.pathD)return;e.save();const r=po(t),i=t.style.stroke||"#999";e.strokeStyle=Ft(e,i)||i,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.stroke(r),t.style.fill&&"none"!==t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(o=t.style.fillOpacity)&&void 0!==o?o:.1,e.fill(r)),e.restore()}const ko={top:20,right:80,bottom:20,left:80},wo={top:40,right:40,bottom:40,left:40},So=new Set(["chord","force","circlepack","orbit"]),Mo=[800,600],Ao={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function jo({data:t}){var n,o,r,i,a,s;if("edge"===t.nodeOrEdge){const n=t.data;return n?e.jsxs("div",{className:"semiotic-tooltip",style:Ao,children:[e.jsxs("div",{style:{fontWeight:600},children:["object"==typeof n.source?n.source.id:n.source," → ","object"==typeof n.target?n.target.id:n.target]}),null!=n.value&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Value:"," ","number"==typeof n.value?n.value.toLocaleString():n.value+""]})]}):null}const l=t.data;if(!l)return null;const c=l.__hierarchyNode;if(c){const t=[];let a=c;for(;a;){const e=null!==(i=null!==(o=null===(n=a.data)||void 0===n?void 0:n.name)&&void 0!==o?o:null===(r=a.data)||void 0===r?void 0:r.id)&&void 0!==i?i:l.id;null!=e&&t.unshift(e+""),a=a.parent}t.length>1&&t.shift();const s=t.length-1;return e.jsxs("div",{className:"semiotic-tooltip",style:Ao,children:[e.jsx("div",{children:t.map((t,n)=>e.jsxs("span",{children:[n>0&&e.jsx("span",{style:{margin:"0 3px",opacity:.5},children:" → "}),n===s?e.jsx("strong",{children:t}):e.jsx("span",{style:{opacity:.7},children:t})]},n))}),null!=l.value&&l.value>0&&e.jsx("div",{style:{marginTop:4,opacity:.8},children:"number"==typeof l.value?l.value.toLocaleString():l.value+""})]})}const d=((null===(a=l.sourceLinks)||void 0===a?void 0:a.length)||0)+((null===(s=l.targetLinks)||void 0===s?void 0:s.length)||0),u=(l.sourceLinks||[]).reduce((e,t)=>e+(t.value||0),0)+(l.targetLinks||[]).reduce((e,t)=>e+(t.value||0),0);return e.jsxs("div",{className:"semiotic-tooltip",style:Ao,children:[e.jsx("div",{style:{fontWeight:600},children:l.id}),null!=l.value&&l.value>0&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Total:"," ","number"==typeof l.value?l.value.toLocaleString():l.value+""]}),d>0&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Connections: ",d,u!==d&&` (weighted: ${u.toLocaleString()})`]})]})}jo.ownsChrome=!0;const Lo=t.forwardRef(function(n,o){var r,i,a,l,c,d,u,y,p,m,v,b,x,k,w,S,M,A;const{chartType:j,nodes:L,edges:C,data:E,initialEdges:D,nodeIDAccessor:O="id",sourceAccessor:P="source",targetAccessor:T="target",valueAccessor:N="value",edgeIdAccessor:I,childrenAccessor:_,hierarchySum:W,orientation:R="horizontal",nodeAlign:$="justify",nodePaddingRatio:B=.05,nodeWidth:z=15,iterations:H=300,forceStrength:F=.1,padAngle:Y=.01,groupWidth:X=20,sortGroups:G,edgeSort:q,treeOrientation:V="vertical",edgeType:K="curve",padding:Z,paddingTop:U,tensionConfig:Q,showParticles:J=!1,particleStyle:ee,nodeStyle:te,edgeStyle:ne,colorBy:oe,colorScheme:re="category10",edgeColorBy:ie="source",edgeOpacity:ae=.5,colorByDepth:se=!1,nodeSize:le=8,nodeSizeRange:ce=[5,20],nodeLabel:de,showLabels:ue=!0,labelMode:he,size:fe=Mo,responsiveWidth:ge,responsiveHeight:ye,margin:pe,className:me,background:ve,enableHover:be=!0,tooltipContent:xe,customHoverBehavior:ke,customClickBehavior:we,onObservation:Se,chartId:Me,onTopologyChange:Ae,annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Pe,legendClickBehavior:Te,legendHighlightedCategory:Ne,legendIsolatedCategories:Ie,title:_e,foregroundGraphics:We,backgroundGraphics:Re,decay:$e,pulse:Be,transition:ze,animate:He,staleness:Fe,thresholds:Ye,accessibleTable:Xe=!0,description:qe,summary:Ve,orbitMode:Ke,orbitSize:Ze,orbitSpeed:Ue,orbitRevolution:Qe,orbitRevolutionStyle:Je,orbitEccentricity:et,orbitShowRings:nt,orbitAnimated:ot,customNetworkLayout:rt,layoutConfig:at}=n,lt=So.has(j)?wo:ko,ct=t.useRef(!0),dt=Gt({sizeProp:fe,responsiveWidth:ge,responsiveHeight:ye,userMargin:pe,marginDefault:lt,foregroundGraphics:We,backgroundGraphics:Re,animate:He,transitionProp:ze,themeDirtyRef:ct}),{reducedMotionRef:ut,responsiveRef:ht,size:ft,margin:yt,adjustedWidth:mt,adjustedHeight:bt,resolvedForeground:xt,resolvedBackground:kt,transition:wt,introEnabled:St,tableId:At,rafRef:jt,renderFnRef:Ct,scheduleRender:Et,currentTheme:Dt}=dt,Ot=function(){const[e,n]=t.useState(!1);return Wn(()=>{n(!0)},[]),e}(),Pt=function(){const e=t.useSyncExternalStore(Rn,$n,Bn);return t.useRef(e).current}(),Tt=t.useMemo(()=>ho(L),[L]),Nt=t.useMemo(()=>Array.isArray(C)?ho(C):C,[C]),It=t.useMemo(()=>Object.assign(Object.assign({},f),Q),[Q]),_t=t.useMemo(()=>Object.assign(Object.assign({},g),ee),[ee]),Wt=t.useMemo(()=>{var e;return{chartType:j,nodeIDAccessor:O,sourceAccessor:P,targetAccessor:T,valueAccessor:N,edgeIdAccessor:I,childrenAccessor:_,hierarchySum:W,orientation:R,nodeAlign:$,nodePaddingRatio:B,nodeWidth:z,iterations:H,forceStrength:F,padAngle:Y,groupWidth:X,sortGroups:G,edgeSort:q,treeOrientation:V,edgeType:K,padding:Z,paddingTop:U,tensionConfig:It,showParticles:J,particleStyle:_t,nodeStyle:te,edgeStyle:ne,nodeLabel:de,showLabels:ue,labelMode:he,colorBy:oe,colorScheme:re,themeCategorical:null===(e=null==Dt?void 0:Dt.colors)||void 0===e?void 0:e.categorical,themeSemantic:Lt(Dt),edgeColorBy:ie,edgeOpacity:ae,colorByDepth:se,nodeSize:le,nodeSizeRange:ce,decay:$e,pulse:Be,transition:wt,introAnimation:St,staleness:Fe,thresholds:Ye,orbitMode:Ke,orbitSize:Ze,orbitSpeed:Ue,orbitRevolution:Qe,orbitRevolutionStyle:Je,orbitEccentricity:et,orbitShowRings:nt,orbitAnimated:ot,customNetworkLayout:rt,layoutConfig:at}},[j,O,P,T,N,_,W,R,$,B,z,H,F,Y,X,G,q,V,K,Z,U,It,J,_t,te,ne,de,ue,he,oe,re,ie,ae,se,le,ce,$e,Be,null==wt?void 0:wt.duration,null==wt?void 0:wt.easing,St,Fe,Ye,Ke,Ze,Ue,Qe,Je,et,nt,ot,Dt,rt,at]),Rt=zn(Wt),$t=zn({chartType:j,nodeIDAccessor:O,sourceAccessor:P,targetAccessor:T,valueAccessor:N,childrenAccessor:_,hierarchySum:W,orientation:R,nodeAlign:$,nodePaddingRatio:B,nodeWidth:z,iterations:H,forceStrength:F,padAngle:Y,groupWidth:X,sortGroups:G,edgeSort:q,treeOrientation:V,edgeType:K,padding:Z,paddingTop:U,tensionConfig:It,orbitMode:Ke,orbitSize:Ze,orbitEccentricity:et,customNetworkLayout:rt,layoutConfig:at}),Bt=t.useRef(null),zt=t.useRef(0),Ht=t.useRef(0),Yt=t.useRef(!1),Xt=t.useRef(null);Xt.current||(Xt.current=new tt(Rt));const[qt,Vt]=t.useState(null),[Kt,Zt]=t.useState(0),[Ut,Qt]=t.useState(0),[Jt,en]=t.useState(!1),[tn,nn]=t.useState(null),on=t.useRef(null),rn=t.useRef(new Map),an=t.useRef(0),sn=t.useCallback(e=>{if("function"==typeof oe)return oe(e)+"";if("string"==typeof oe&&e.data){const t=e.data[oe];if(void 0!==t){if(!rn.current.has(t+"")){const e=Array.isArray(re)?re:Ge;rn.current.set(t+"",e[an.current++%e.length])}return rn.current.get(t+"")}}if(rn.current.has(e.id))return rn.current.get(e.id);const t=Array.isArray(re)?re:Ge,n=oe?t[an.current++%t.length]:t[0];return rn.current.set(e.id,n),n},[oe,re]),ln=(null===(r=null==Dt?void 0:Dt.colors)||void 0===r?void 0:r.border)||(null===(i=null==Dt?void 0:Dt.colors)||void 0===i?void 0:i.secondary)||(null===(a=null==Dt?void 0:Dt.colors)||void 0===a?void 0:a.primary)||"#999",cn=t.useCallback(e=>{var t,n;return e?"object"==typeof e?e:null!==(n=null===(t=Xt.current)||void 0===t?void 0:t.nodes.get(e))&&void 0!==n?n:null:null},[]),dn=t.useCallback(e=>{if("function"==typeof ie)return ie(e);const t=cn(e.source),n=cn(e.target);return"target"===ie&&n?sn(n):t?sn(t):ln},[ie,sn,ln,cn]),un=t.useCallback(e=>{if("function"==typeof _t.color){const t=cn(e.source);return t?_t.color(e,t):ln}if(!(null==ee?void 0:ee.colorBy))return dn(e);const t=_t.colorBy,n=cn(e.source),o=cn(e.target);return"target"===t&&o?sn(o):n?sn(n):ln},[null==ee?void 0:ee.colorBy,_t.color,_t.colorBy,sn,dn,ln,cn]),hn=("sankey"===j||!!rt)&&J||!!Be||null!==(c=null===(l=Xt.current)||void 0===l?void 0:l.isAnimating)&&void 0!==c&&c;t.useEffect(()=>{var e;null===(e=Xt.current)||void 0===e||e.updateConfig(Rt),ct.current=!0,Et()},[Rt,Et]);const fn=t.useCallback(()=>{var e,t;nn(null!==(t=null===(e=Xt.current)||void 0===e?void 0:e.customLayoutOverlays)&&void 0!==t?t:null)},[]);t.useEffect(()=>{var e;const t=Xt.current;if(t){t.buildScene([mt,bt]),fn();for(const n of t.sceneNodes)n.id&&"string"==typeof(null===(e=n.style)||void 0===e?void 0:e.fill)&&rn.current.set(n.id,n.style.fill);ct.current=!0,Et()}},[Dt,mt,bt,Et,fn]);const gn=t.useCallback(()=>{var e;const t=Xt.current;if(!t)return;t.runLayout([mt,bt]),t.buildScene([mt,bt]),fn(),ct.current=!0;for(const n of t.sceneNodes)n.id&&"string"==typeof(null===(e=n.style)||void 0===e?void 0:e.fill)&&rn.current.set(n.id,n.style.fill);const n=Array.isArray(re)?re:Ge,o=Array.from(t.nodes.values());for(let e=0;o.length>e;e++){const t=o[e];rn.current.has(t.id)||rn.current.set(t.id,n[e%n.length])}if(an.current=o.length,Zt(t.layoutVersion),Ae){const{nodes:e,edges:n}=t.getLayoutData();Ae(e,n)}},[mt,bt,Ae,re,fn]),yn=t.useCallback(e=>{if(null==e||"object"!=typeof e)return;const t=Xt.current;t&&(t.ingestEdge(e)&&gn(),Et())},[gn,Et]),pn=t.useCallback(e=>{const t=Xt.current;if(!t)return;let n=!1;for(const o of e)null!=o&&"object"==typeof o&&t.ingestEdge(o)&&(n=!0);n&&gn(),Et()},[gn,Et]),mn=t.useCallback(()=>{var e;null===(e=Xt.current)||void 0===e||e.clear(),rn.current.clear(),an.current=0,Zt(0),Vt(null),on.current=null,ct.current=!0,Et()},[Et]),vn=t.useCallback(()=>{const e=Xt.current;e&&(e.tension+=999,gn(),Et())},[gn,Et]);t.useImperativeHandle(o,()=>({push:yn,pushMany:pn,removeNode:e=>{var t,n,o;const r=null!==(n=null===(t=Xt.current)||void 0===t?void 0:t.removeNode(e))&&void 0!==n&&n;if(r){const t=(null===(o=on.current)||void 0===o?void 0:o.data)?"function"==typeof O?O(on.current.data):on.current.data[O]:void 0;on.current&&"node"===on.current.nodeOrEdge&&t===e&&(on.current=null,Vt(null)),rn.current.delete(e),gn(),ct.current=!0,Et()}return r},removeEdge:(e,t)=>{var n,o;const r=null!==(o=null===(n=Xt.current)||void 0===n?void 0:n.removeEdge(e,t))&&void 0!==o&&o;if(r){if(on.current&&"edge"===on.current.nodeOrEdge){const n=on.current.data;let o;o=void 0!==t?("object"==typeof(null==n?void 0:n.source)?n.source.id:null==n?void 0:n.source)===e&&("object"==typeof(null==n?void 0:n.target)?n.target.id:null==n?void 0:n.target)===t:!I||!n||("function"==typeof I?I:e=>null==e?void 0:e[I])(n)===e,o&&(on.current=null,Vt(null))}gn(),ct.current=!0,Et()}return r},updateNode:(e,t)=>{var n,o;const r=null!==(o=null===(n=Xt.current)||void 0===n?void 0:n.updateNode(e,t))&&void 0!==o?o:null;return r&&(ct.current=!0,Et()),r},updateEdge:(e,t,n)=>{var o,r;const i=null!==(r=null===(o=Xt.current)||void 0===o?void 0:o.updateEdge(e,t,n))&&void 0!==r?r:[];return i.length>0&&(gn(),ct.current=!0,Et()),i},clear:mn,getTopology:()=>{var e,t;return null!==(t=null===(e=Xt.current)||void 0===e?void 0:e.getLayoutData())&&void 0!==t?t:{nodes:[],edges:[]}},getTopologyDiff:()=>{const e=Xt.current;return e?{addedNodes:Array.from(e.addedNodes),removedNodes:Array.from(e.removedNodes),addedEdges:Array.from(e.addedEdges),removedEdges:Array.from(e.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:vn,getTension:()=>{var e,t;return null!==(t=null===(e=Xt.current)||void 0===e?void 0:e.tension)&&void 0!==t?t:0}}),[yn,pn,mn,vn,gn,Et]);const bn=["tree","cluster","treemap","circlepack","partition","orbit"].includes(j),xn=bn?E||(Array.isArray(C)?void 0:C):void 0;t.useEffect(()=>{var e;const t=Xt.current;if(t)if(bn&&xn)t.ingestHierarchy(xn,[mt,bt]),t.buildScene([mt,bt]),fn(),ct.current=!0,Et();else{const n=Tt,o=Array.isArray(Nt)?Nt:[];if(0===n.length&&0===o.length)return;t.ingestBounded(n,o,[mt,bt]),t.buildScene([mt,bt]),fn();for(const n of t.sceneNodes)n.id&&(null===(e=n.style)||void 0===e?void 0:e.fill)&&rn.current.set(n.id,n.style.fill+"");const r=Array.isArray(re)?re:Ge,i=Array.from(t.nodes.values());for(let e=0;i.length>e;e++){const t=i[e];rn.current.has(t.id)||rn.current.set(t.id,r[e%r.length])}an.current=i.length,ct.current=!0,Et()}},[Tt,Nt,E,xn,bn,mt,bt,$t,Et,re,fn]),t.useEffect(()=>{D&&D.length>0&&pn(D)},[]);const kn=t.useCallback(e=>{if(ke&&ke(e),Se){const t=Date.now();Se(e?{type:"hover",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:Me}:{type:"hover-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:Me})}},[ke,Se,Me]),wn=t.useCallback(e=>{if(we&&we(e),Se){const t=Date.now();Se(e?{type:"click",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:Me}:{type:"click-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:Me})}},[we,Se,Me]),{hoverHandlerRef:Sn,hoverLeaveRef:Mn,onPointerMove:An,onPointerLeave:jn}=dt;Sn.current=e=>{if(!be)return;const t=Bt.current;if(!t)return;const n=t.getBoundingClientRect(),o=e.clientX-n.left-yt.left,r=e.clientY-n.top-yt.top;if(0>o||o>mt||0>r||r>bt)return void(on.current&&(on.current=null,Vt(null),kn&&(kn(null),ct.current=!0),Et()));const i=Xt.current;if(!i)return;const a=st(i.sceneNodes,i.sceneEdges,o,r);if(!a)return void(on.current&&(on.current=null,Vt(null),kn&&(kn(null),ct.current=!0),Et()));const s=h(a.datum||{},a.x,a.y,{nodeOrEdge:a.type});on.current=s,Vt(s),kn&&(kn(s),ct.current=!0),Et()},Mn.current=()=>{on.current&&(on.current=null,Vt(null),kn&&(kn(null),ct.current=!0),Et())};const Ln=t.useRef(()=>{});Ln.current=e=>{if(!we&&!Se)return;const t=Bt.current;if(!t)return;const n=t.getBoundingClientRect(),o=e.clientX-n.left-yt.left,r=e.clientY-n.top-yt.top;if(0>o||o>mt||0>r||r>bt)return;const i=Xt.current;if(!i)return;const a=st(i.sceneNodes,i.sceneEdges,o,r);wn(a?h(a.datum||{},a.x,a.y,{nodeOrEdge:a.type}):null)};const Cn=t.useCallback(e=>Ln.current(e),[]),En=t.useRef(-1),Dn=t.useRef(null),On=t.useRef(-1),Pn=t.useCallback(e=>{var t;const n=Xt.current;if(!n)return;const o=function(e){var t,n,o,r,i,a;const s=[];for(const l of e)if("circle"===l.type&&null!=l.cx){if(0>=l.r)continue;s.push({x:l.cx,y:l.cy,datum:l.datum,shape:"circle",group:null!==(n=null===(t=l.datum)||void 0===t?void 0:t.id)&&void 0!==n?n:"_default"})}else if("rect"===l.type&&null!=l.x){if(0>=l.w||0>=l.h)continue;s.push({x:l.x+l.w/2,y:l.y+l.h/2,datum:l.datum,shape:"rect",w:l.w,h:l.h,group:null!==(r=null===(o=l.datum)||void 0===o?void 0:o.id)&&void 0!==r?r:"_default"})}else"arc"===l.type&&null!=l.cx&&s.push({x:l.cx,y:l.cy,datum:l.datum,shape:"circle",group:null!==(a=null===(i=l.datum)||void 0===i?void 0:i.id)&&void 0!==a?a:"_default"});return s.sort((e,t)=>e.x-t.x||e.y-t.y),s}(n.sceneNodes);if(0===o.length)return;const r=function(e){var t,n;const o=new Map;for(const n of e){const e=null!==(t=n.group)&&void 0!==t?t:"_default";let r=o.get(e);r||(r=[],o.set(e,r)),r.push(n)}for(const e of o.values()){e.sort((e,t)=>e.x-t.x||e.y-t.y);for(let t=0;e.length>t;t++)e[t]._groupIndex=t}const r=Array.from(o.keys()).sort((e,t)=>{const n=o.get(e),r=o.get(t);return(n.length>0?n[0].y:0)-(r.length>0?r[0].y:0)}),i=Array.from(o.values()).flat();i.sort((e,t)=>e.x-t.x||e.y-t.y);const a=new Map;for(let e=0;i.length>e;e++){i[e]._flatIndex=e;const t=null===(n=i[e].datum)||void 0===n?void 0:n.id;null!=t&&a.set(t+"",e)}return{flat:i,groups:r,byGroup:o,idToIdx:a}}(o),i=En.current;if(0>i){if("Escape"===e.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","Enter"].includes(e.key))return;e.preventDefault(),En.current=0,On.current=-1;const t=r.flat[0];Dn.current={shape:t.shape,w:t.w,h:t.h};const n=h(t.datum||{},t.x,t.y,{nodeOrEdge:"node"});return on.current=n,Vt(n),kn&&(kn(n),ct.current=!0),void Et()}const a=function(e,t){var n,o;if(0===e.flat.length)return{flatIndex:-1,group:"_default",indexInGroup:-1};const r=Math.max(0,Math.min(t,e.flat.length-1)),i=e.flat[r];return{flatIndex:r,group:null!==(n=i.group)&&void 0!==n?n:"_default",indexInGroup:null!==(o=i._groupIndex)&&void 0!==o?o:0}}(r,i),s=function(e,t,n,o,r){var i,a,s;const l=n.flat[t.flatIndex];if(!l)return gt(e,t,n);const c=null===(i=l.datum)||void 0===i?void 0:i.id;switch(e){case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{const o=null!==(a=function(e,t,n){let o=null,r=1/0;for(let i=0;e.flat.length>i;i++){const a=e.flat[i];if(a===t)continue;const s=a.x-t.x,l=a.y-t.y;let c=!1;switch(n){case"right":c=s>0&&Math.abs(s)>=Math.abs(l);break;case"left":c=0>s&&Math.abs(s)>=Math.abs(l);break;case"down":c=l>0&&Math.abs(l)>=Math.abs(s);break;case"up":c=0>l&&Math.abs(l)>=Math.abs(s)}if(!c)continue;const d=s*s+l*l;r>d&&(r=d,o=i)}return o}(n,l,"ArrowRight"===e?"right":"ArrowLeft"===e?"left":"ArrowDown"===e?"down":"up"))&&void 0!==a?a:t.flatIndex;return o!==t.flatIndex&&(r.current=-1),o}case"Enter":{if(null==c)return t.flatIndex;const e=function(e,t){var n;const o=e+"",r=[];for(const e of t){const t=null!==(n=e.datum)&&void 0!==n?n:e,i=pt(t.source),a=pt(t.target),s=null!=i,l=null!=a;s&&i+""===o&&l?r.push(a+""):l&&a+""===o&&s&&r.push(i+"")}return r}(c,o);if(0===e.length)return t.flatIndex;const i=null!==(s=n.idToIdx.get(e[(r.current+1)%e.length]))&&void 0!==s?s:-1;return 0>i?t.flatIndex:(r.current=-1,i)}default:{const o=gt(e,t,n);return null!==o&&o!==t.flatIndex&&(r.current=-1),o}}}(e.key,a,r,null!==(t=n.sceneEdges)&&void 0!==t?t:[],On);if(null===s)return;if(e.preventDefault(),0>s)return En.current=-1,Dn.current=null,On.current=-1,on.current=null,Vt(null),kn&&(kn(null),ct.current=!0),void Et();En.current=s;const l=r.flat[s];Dn.current={shape:l.shape,w:l.w,h:l.h};const c={data:l.datum||{},x:l.x,y:l.y,__semioticHoverData:!0,nodeOrEdge:"node"};on.current=c,Vt(c),kn&&(kn(c),ct.current=!0),Et()},[kn,Et]),Hn=t.useCallback(e=>{En.current=-1,Dn.current=null,An(e)},[An]);Ct.current=()=>{var e,t,n,o,r,i,a;jt.current=0;const s=Bt.current;if(!s)return;const l=s.getContext("2d");if(!l)return;const c=Xt.current;if(!c)return;const d=performance.now(),u=zt.current?Math.min((d-zt.current)/1e3,.1):.016;zt.current=d;const h=c.advanceTransition(ut.current?d+1e6:d),f=!ut.current&&h,y=!ut.current&&c.tickAnimation([mt,bt],u);(h||ct.current||y)&&c.buildScene([mt,bt]);const p="undefined"!=typeof window&&window.devicePixelRatio||1;if(!function(e,t,n,o){const r=e.getContext("2d");if(!r)return null;const i=t[0]*o,a=t[1]*o,s=t[0]+"px",l=t[1]+"px";return e.style.width!==s&&(e.style.width=s),e.style.height!==l&&(e.style.height=l),e.width===i&&e.height===a||(e.width=i,e.height=a),r.setTransform(o,0,0,o,0,0),r.translate(n.left,n.top),r}(s,ft,yt,p))return;if(l.clearRect(-yt.left,-yt.top,ft[0],ft[1]),ve){const e=Ft(l,ve);e&&(l.fillStyle=e,l.fillRect(0,0,mt,bt))}$e&&c.applyDecay(),Be&&c.applyPulse(d),Ye&&c.applyThresholds(d),c.applyTopologyDiff(d);const m=null!==(e=null==Fe?void 0:Fe.threshold)&&void 0!==e?e:5e3,v=Fe&&c.lastIngestTime>0&&d-c.lastIngestTime>m;if(v&&(l.globalAlpha=null!==(t=null==Fe?void 0:Fe.dimOpacity)&&void 0!==t?t:.5),function(e,t){for(const n of t)switch(n.type){case"bezier":mo(e,n);break;case"line":vo(e,n);break;case"ribbon":bo(e,n);break;case"curved":xo(e,n)}}(l,c.sceneEdges),function(e,t){var n,o,r;for(const i of t){if("rect"!==i.type)continue;const t=i;t.w>0&&t.h>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fillRect(t.x,t.y,t.w,t.h)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Ft(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.strokeRect(t.x,t.y,t.w,t.h)),go(e,t),e.restore())}}(l,c.sceneNodes),function(e,t){var n,o,r;for(const i of t){if("circle"!==i.type)continue;const t=i;t.r>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.r,0,2*Math.PI),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Ft(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.stroke()),yo(e,t),e.restore())}}(l,c.sceneNodes),function(e,t){var n,o,r;for(const i of t){if("arc"!==i.type)continue;const t=i;e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.outerR,t.startAngle,t.endAngle),e.arc(t.cx,t.cy,t.innerR,t.endAngle,t.startAngle,!0),e.closePath(),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Ft(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Ft(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.stroke()),e.restore()}}(l,c.sceneNodes),J&&c.particlePool&&!v){const e=Array.from(c.edges.values());if(e.length>0){!function(e,t,n,o){var r,i;const a=null!==(r=o.spawnRate)&&void 0!==r?r:g.spawnRate,s=null!==(i=o.maxPerEdge)&&void 0!==i?i:g.maxPerEdge;for(let o=0;t.length>o;o++){const r=t[o];if(!r.bezier)continue;if(e.countForEdge(o)>=s)continue;const i=r.value*a*n*(r.bezier.circular?.3:1),l=Math.floor(i),c=i-l;let d=l;Math.random()<c&&d++;for(let t=0;d>t&&e.countForEdge(o)<s;t++)e.spawn(o)}}(c.particlePool,e,u,_t);const t=.5*(null!==(n=_t.speedMultiplier)&&void 0!==n?n:1);let o;if(_t.proportionalSpeed){const t=e.reduce((e,t)=>Math.max(e,t.value||1),1);o=e.map(e=>.3+(e.value||1)/t*1.7)}c.particlePool.step(u,t,e,o),function(e,t,n,o,r){var i,a;const s=null!==(i=o.radius)&&void 0!==i?i:g.radius,l=null!==(a=o.opacity)&&void 0!==a?a:g.opacity;e.globalAlpha=l;for(let i=0;t.particles.length>i;i++){const a=t.particles[i];if(!a.active)continue;const l=n[a.edgeIndex];if(!l)continue;let c;c="string"==typeof o.color&&"inherit"!==o.color?o.color:r(l),e.fillStyle=Ft(e,c)||c,e.beginPath(),e.arc(a.x,a.y,s,0,2*Math.PI),e.fill()}e.globalAlpha=1}(l,c.particlePool,e,_t,un)}}v&&(l.globalAlpha=1);const b=ct.current;if(ct.current=!1,b||f||y){const e=Bt.current;e&&e.setAttribute("aria-label",qn(null!==(r=null===(o=c.sceneNodes)||void 0===o?void 0:o.length)&&void 0!==r?r:0,null!==(a=null===(i=c.sceneEdges)||void 0===i?void 0:i.length)&&void 0!==a?a:0,"Network chart"))}const x=b||f||y||Yt.current;x&&d-Ht.current>=33?(Qt(e=>e+1),Ht.current=d,Yt.current=!1):Yt.current=!!x,(hn||f||null!=c.transition||y||c.hasActivePulses||c.hasActiveThresholds||c.hasActiveTopologyDiff||Yt.current)&&(jt.current=requestAnimationFrame(()=>Ct.current()))},function(e){const{hydrated:n,wasHydratingFromSSR:o,storeRef:r,dirtyRef:i,renderFnRef:a,cleanup:s}=e;Wn(()=>{var e,t;n&&o&&(null===(t=null===(e=r.current)||void 0===e?void 0:e.cancelIntroAnimation)||void 0===t||t.call(e)),i.current=!0,a.current()},[n,o]);const l=t.useRef(s);l.current=s,t.useEffect(()=>()=>{var e;return null===(e=l.current)||void 0===e?void 0:e.call(l)},[])}({hydrated:Ot,wasHydratingFromSSR:Pt,storeRef:Xt,dirtyRef:ct,renderFnRef:Ct}),t.useEffect(()=>{ct.current=!0,Et()},[j,mt,bt,ve,Et]),function(e,n,o,r,i,a){t.useEffect(()=>{if(!e)return;const t=setInterval(()=>{var t;const s=n.current;if(!s||0===s.lastIngestTime)return;const l="undefined"!=typeof performance?performance.now():Date.now(),c=null!==(t=e.threshold)&&void 0!==t?t:5e3,d=l-s.lastIngestTime>c;d!==i&&(a(d),o.current=!0,r())},1e3);return()=>clearInterval(t)},[e,i,r])}(Fe,Xt,ct,Et,Jt,en);const Fn=be&&qt?e.jsx(Mt,{x:qt.x,y:qt.y,containerWidth:mt,containerHeight:bt,margin:yt,className:"stream-network-tooltip",zIndex:2,children:xe?xe(qt):e.jsx(jo,{data:qt})}):null;if(_n||!Ot&&Pt){const t=Xt.current;if(t){const e=["tree","cluster","treemap","circlepack","partition","orbit"].includes(j),n=e?E||(Array.isArray(C)?void 0:C):void 0;if(e&&n)t.ingestHierarchy(n,[mt,bt]),t.buildScene([mt,bt]);else{const e=Tt,n=Array.isArray(Nt)?Nt:[];(e.length>0||n.length>0)&&(t.ingestBounded(e,n,[mt,bt]),t.buildScene([mt,bt]))}}const n=null!==(d=null==t?void 0:t.sceneNodes)&&void 0!==d?d:[],o=null!==(u=null==t?void 0:t.sceneEdges)&&void 0!==u?u:[],r=null!==(y=null==t?void 0:t.labels)&&void 0!==y?y:[];return e.jsxs("div",{ref:ht,className:"stream-network-frame"+(me?" "+me:""),role:"img","aria-label":qe||("string"==typeof _e?_e:"Network chart"),style:{position:"relative",width:ge?"100%":ft[0],height:ye?"100%":ft[1]},children:[e.jsx(so,{summary:Ve}),e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:ft[0],height:ft[1],style:{position:"absolute",left:0,top:0},children:[kt&&e.jsx("g",{transform:`translate(${yt.left},${yt.top})`,children:kt}),e.jsxs("g",{transform:`translate(${yt.left},${yt.top})`,children:[ve&&e.jsx("rect",{x:0,y:0,width:mt,height:bt,fill:ve}),o.map((t,n)=>function(t,n){switch(t.type){case"line":return e.jsx("line",{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity},"net-edge-"+n);case"bezier":{const o=t;return e.jsx("path",{d:o.pathD,fill:In(o.style.fill,"#999"),fillOpacity:o.style.fillOpacity,stroke:o.style.stroke||"none",strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-edge-"+n)}case"ribbon":{const o=t;return e.jsx("path",{d:o.pathD,fill:In(o.style.fill,"#999"),fillOpacity:o.style.fillOpacity,stroke:o.style.stroke||"none",strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-edge-"+n)}case"curved":{const o=t;return e.jsx("path",{d:o.pathD,fill:In(o.style.fill,"none"),stroke:o.style.stroke||"#999",strokeWidth:o.style.strokeWidth||1,opacity:o.style.opacity},"net-edge-"+n)}default:return null}}(t,n)).filter(Boolean),n.map((t,n)=>function(t,n){switch(t.type){case"circle":{const o=t;return e.jsx("circle",{cx:o.cx,cy:o.cy,r:o.r,fill:In(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-circle-"+n)}case"rect":{const o=t;return e.jsx("rect",{x:o.x,y:o.y,width:o.w,height:o.h,fill:In(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-rect-"+n)}case"arc":{const o=t,r=s.arc().innerRadius(o.innerR).outerRadius(o.outerR).startAngle(o.startAngle+Math.PI/2).endAngle(o.endAngle+Math.PI/2)(Nn)||"";return e.jsx("path",{d:r,transform:`translate(${o.cx},${o.cy})`,fill:In(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-arc-"+n)}default:return null}}(t,n)).filter(Boolean),r.map((t,n)=>function(t,n){return e.jsx("text",{x:t.x,y:t.y,textAnchor:t.anchor||"middle",dominantBaseline:t.baseline||"auto",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"#333",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,children:t.text},"net-label-"+n)}(t,n)).filter(Boolean)]})]}),e.jsx(Tn,{width:mt,height:bt,totalWidth:ft[0],totalHeight:ft[1],margin:yt,labels:r,sceneNodes:n,title:_e,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Pe,legendClickBehavior:Te,legendHighlightedCategory:Ne,legendIsolatedCategories:Ie,foregroundGraphics:it(xt,null===(p=Xt.current)||void 0===p?void 0:p.customLayoutOverlays),annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,annotationFrame:0})]})}const Yn=Xt.current;return e.jsxs("div",{ref:ht,className:"stream-network-frame"+(me?" "+me:""),role:"group","aria-label":qe||("string"==typeof _e?_e:"Network chart"),tabIndex:0,style:{position:"relative",width:ge?"100%":ft[0],height:ye?"100%":ft[1],overflow:"visible"},onKeyDown:Pn,children:[Xe&&e.jsx(lo,{tableId:At}),Xe&&e.jsx(ao,{nodes:null!==(m=null==Yn?void 0:Yn.sceneNodes)&&void 0!==m?m:[],edges:null!==(v=null==Yn?void 0:Yn.sceneEdges)&&void 0!==v?v:[],chartType:"Network chart",tableId:At,chartTitle:"string"==typeof _e?_e:void 0}),e.jsx(so,{summary:Ve}),e.jsx(co,{hoverPoint:qt}),e.jsxs("div",{role:"img","aria-label":qe||("string"==typeof _e?_e:"Network chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:be?Hn:void 0,onMouseLeave:be?jn:void 0,onClick:we||Se?Cn:void 0,children:[kt&&e.jsx("svg",{overflow:"visible",style:{position:"absolute",top:0,left:0,width:ft[0],height:ft[1],pointerEvents:"none",overflow:"visible"},children:e.jsx("g",{transform:`translate(${yt.left},${yt.top})`,children:kt})}),e.jsx("canvas",{ref:Bt,"aria-label":qn(null!==(x=null===(b=null==Yn?void 0:Yn.sceneNodes)||void 0===b?void 0:b.length)&&void 0!==x?x:0,null!==(w=null===(k=null==Yn?void 0:Yn.sceneEdges)||void 0===k?void 0:k.length)&&void 0!==w?w:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),e.jsx(Tn,{width:mt,height:bt,totalWidth:ft[0],totalHeight:ft[1],margin:yt,labels:(null==Yn?void 0:Yn.labels)||[],sceneNodes:null==Yn?void 0:Yn.sceneNodes,title:_e,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Pe,legendClickBehavior:Te,legendHighlightedCategory:Ne,legendIsolatedCategories:Ie,foregroundGraphics:it(xt,tn),annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,annotationFrame:Ut}),e.jsx(vt,{active:En.current>=0,hoverPoint:qt,margin:yt,size:ft,shape:null===(S=Dn.current)||void 0===S?void 0:S.shape,width:null===(M=Dn.current)||void 0===M?void 0:M.w,height:null===(A=Dn.current)||void 0===A?void 0:A.h}),Fn,(null==Fe?void 0:Fe.showBadge)&&e.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===Fe.badgePosition?{top:4,left:4}:"bottom-left"===Fe.badgePosition?{bottom:4,left:4}:"bottom-right"===Fe.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{background:Jt?"#dc3545":"#28a745",color:"white",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:3,letterSpacing:"0.05em",zIndex:3,pointerEvents:"none"}),children:Jt?"STALE":"LIVE"})]})]})});function Co(e,n){const{variant:o,frameRef:r,overrides:i,deps:a}=n;t.useImperativeHandle(e,()=>{const e=function(e,t){if("xy"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o;return null!==(o=null===(n=e.current)||void 0===n?void 0:n.remove(t))&&void 0!==o?o:[]},update:(t,n)=>{var o,r;return null!==(r=null===(o=e.current)||void 0===o?void 0:o.update(t,n))&&void 0!==r?r:[]},clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getData())&&void 0!==n?n:[]},getScales:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getScales())&&void 0!==n?n:null}}}if("network"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o,r,i,a;const s=Array.isArray(t)?t:[t],l=null!==(r=null===(o=null===(n=e.current)||void 0===n?void 0:n.getTopology())||void 0===o?void 0:o.nodes)&&void 0!==r?r:[],c=[];for(const t of s){const n=l.find(e=>e.id===t);n&&c.push(Object.assign(Object.assign({},null!==(i=n.data)&&void 0!==i?i:{}),{id:t})),null===(a=e.current)||void 0===a||a.removeNode(t)}return c},update:(t,n)=>(Array.isArray(t)?t:[t]).flatMap(t=>{var o;const r=null===(o=e.current)||void 0===o?void 0:o.updateNode(t,n);return r?[Object.assign(Object.assign({},r),{id:t})]:[]}),clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n,o,r;return null!==(r=null===(o=null===(n=null===(t=e.current)||void 0===t?void 0:t.getTopology())||void 0===n?void 0:n.nodes)||void 0===o?void 0:o.map(e=>e.data))&&void 0!==r?r:[]}}}if("geo-points"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o;return null!==(o=null===(n=e.current)||void 0===n?void 0:n.removePoint(t))&&void 0!==o?o:[]},update:(t,n)=>{var o,r,i;const a=null!==(r=null===(o=e.current)||void 0===o?void 0:o.removePoint(t))&&void 0!==r?r:[];for(const t of a)null===(i=e.current)||void 0===i||i.push(n(t));return a},clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getData())&&void 0!==n?n:[]}}}const n=t;return{push:e=>{var t;return null===(t=n.current)||void 0===t?void 0:t.pushLine(e)},pushMany:e=>{var t;return null===(t=n.current)||void 0===t?void 0:t.pushManyLines(e)},remove:e=>{var t,o;return null!==(o=null===(t=n.current)||void 0===t?void 0:t.removeLine(e))&&void 0!==o?o:[]},update:(e,t)=>{var o,r,i;const a=null!==(r=null===(o=n.current)||void 0===o?void 0:o.removeLine(e))&&void 0!==r?r:[];for(const e of a)null===(i=n.current)||void 0===i||i.pushLine(t(e));return a},clear:()=>{var e;return null===(e=n.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=n.current)||void 0===e?void 0:e.getLines())&&void 0!==t?t:[]}}}(o,r);return Object.assign(Object.assign({},e),i)},null!=a?a:[])}Lo.displayName="StreamNetworkFrame";const Eo=t.createContext(null);function Do(e){const t=[];for(const[n,o]of Object.entries(e.fields))if("point"===o.type)t.push(e=>o.values.has(e[n]));else{const[e,r]=o.range;t.push(t=>{const o=t[n];return o>=e&&r>=o})}return e=>t.every(t=>t(e))}function Oo(e,t){let n=e.get(t);return n||(n={name:t,resolution:"union",clauses:new Map},e.set(t,n)),n}const[Po,To]=At(e=>({selections:new Map,setClause(t,n){e(e=>{const o=new Map(e.selections),r=Oo(o,t),i=new Map(r.clauses);return i.set(n.clientId,n),o.set(t,Object.assign(Object.assign({},r),{clauses:i})),{selections:o}})},clearClause(t,n){e(e=>{const o=e.selections.get(t);if(!o)return{};const r=new Map(e.selections),i=new Map(o.clauses);return i.delete(n),r.set(t,Object.assign(Object.assign({},o),{clauses:i})),{selections:r}})},setResolution(t,n){e(e=>{const o=new Map(e.selections),r=Oo(o,t);return o.set(t,Object.assign(Object.assign({},r),{resolution:n})),{selections:o}})},clearSelection(t){e(e=>{const n=new Map(e.selections),o=n.get(t);return o&&n.set(t,Object.assign(Object.assign({},o),{clauses:new Map})),{selections:n}})}})),[No,Io]=At(e=>({observations:[],maxObservations:100,version:0,pushObservation(t){e(e=>{const n=e.observations;return n.push(t),n.length>e.maxObservations&&n.shift(),{version:e.version+1}})},clearObservations(){e(()=>({observations:[],version:0}))}}));let _o={positions:new Map};const Wo=new Set;function Ro(){for(const e of Wo)e()}function $o(e,t){const n=_o.positions.get(e);if(null==n?void 0:n.locked)return;if(!n||n.sourceId!==t)return;const o=new Map(_o.positions);o.delete(e),_o={positions:o},Ro()}function Bo(e){const n=t.useId(),o=e.clientId||n,{name:r}=e,i=To(e=>e.selections.get(r)),a=To(e=>e.setClause),s=To(e=>e.clearClause),l=t.useMemo(()=>!!i&&i.clauses.size>0,[i]);return{predicate:t.useMemo(()=>i&&0!==i.clauses.size?function(e,t){const n=[];for(const[o,r]of e.clauses)"crossfilter"===e.resolution&&o===t||n.push(Do(r));return 0===n.length?()=>!0:"intersect"===e.resolution?e=>n.every(t=>t(e)):e=>n.some(t=>t(e))}(i,o):()=>!0,[i,o]),isActive:l,selectPoints:t.useCallback(e=>{const t={};for(const[n,o]of Object.entries(e))t[n]={type:"point",values:new Set(o)};a(r,{clientId:o,type:"point",fields:t})},[o,r,a]),selectInterval:t.useCallback(e=>{const t={};for(const[n,o]of Object.entries(e))t[n]={type:"interval",range:o};a(r,{clientId:o,type:"interval",fields:t})},[o,r,a]),clear:t.useCallback(()=>{s(r,o)},[s,r,o]),clientId:o}}const zo=t.createContext(!1),Ho=t.createContext(null),Fo="undefined"==typeof window?t.useEffect:t.useLayoutEffect;function Yo(e,t,n){var o;const r=null!==(o=e.xValue)&&void 0!==o?o:null==t?void 0:t[n];if(null==r)return null;const i=Number(r);return Number.isFinite(i)?i:null}function Xo(e){let t=e.data||e.datum||e;return Array.isArray(t)&&(t=t[0]),null!=e.xValue&&t&&"object"==typeof t&&!Array.isArray(t)&&null==t.xValue?Object.assign(Object.assign({},t),{xValue:e.xValue}):t||{}}function Go(){var e;const t=It(e=>e.theme),n=null===(e=null==t?void 0:t.colors)||void 0===e?void 0:e.categorical;return n&&n.length>0?n:void 0}function qo(e,t,n,o,r){let i;if(Array.isArray(n))i=n;else if(t&&t.length>0)i=t;else if("string"==typeof n){const e=Xe[n];Array.isArray(e)&&(i=e)}return i&&0!==i.length?i[0]:"#007bff"}function Vo({data:e,colorBy:n,colorScale:o,showLegend:r,legendPosition:i="right",userMargin:a,defaults:s={top:50,bottom:60,left:70,right:40},categories:l}){const c=t.useContext(zo),d=null!==t.useContext(Ho),u=void 0!==r?r:!c&&!!n,h=!!n&&(u||d),f=t.useMemo(()=>{if(!h)return[];if(void 0!==l)return l;const t=new Set;for(const o of e){const e="function"==typeof n?n(o):o[n];null!=e&&t.add(e+"")}return Array.from(t)},[l,n,e,h]);!function(e){const n=t.useContext(Ho),o=t.useId(),r=function(e){const t=new Set,n=[];for(const o of e)t.has(o)||(t.add(o),n.push(o));return n}(e),i=t.useRef([]);(function(e,t){if(e.length!==t.length)return!1;for(let n=0;e.length>n;n++)if(e[n]!==t[n])return!1;return!0})(i.current,r)||(i.current=r);const a=i.current;Fo(()=>{if(n)return()=>n.unregisterCategories(o)},[n,o]),Fo(()=>{n&&n.registerCategories(o,a)},[n,o,a])}(d&&n?f:[]);const g=t.useMemo(()=>{if(!u||!n)return;const t=function({data:e,colorBy:t,colorScale:n,getColor:o,strokeColor:r,strokeWidth:i,categories:a}){const s=(a&&a.length>0?a:Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t])))).map((r,i)=>{const a=e.find("function"==typeof t?e=>t(e)===r:e=>e[t]===r),s=a?o(a,t,n):n?n(r):qe[i%qe.length];return{label:r+"",color:s}});return{legendGroups:[{styleFn:e=>{const t=e.color||"#333",n={fill:t,stroke:t};return void 0!==r&&(n.stroke=r),void 0!==i&&(n.strokeWidth=i),n},type:"fill",items:s,label:""}]}}({data:e,colorBy:n,colorScale:o,getColor:Ze,categories:f});return 0!==t.legendGroups.reduce((e,t)=>e+t.items.length,0)?t:void 0},[u,n,e,o,f]),y=t.useMemo(()=>{const e="number"==typeof a?{top:a,bottom:a,left:a,right:a}:null!=a?a:{},t=t=>{const n=e[t];return"number"==typeof n?n:s[t]},n={top:t("top"),right:t("right"),bottom:t("bottom"),left:t("left")},o=t=>"number"==typeof e[t];return g&&("right"===i&&!o("right")&&110>n.right?n.right=110:"left"===i&&!o("left")&&110>n.left?n.left=110:"top"===i&&!o("top")&&50>n.top?n.top=50:"bottom"===i&&!o("bottom")&&80>n.bottom&&(n.bottom=80)),n},[s,a,g,i]);return{legend:g,margin:y,legendPosition:i}}d.createContext(void 0);const Ko={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function Zo(e,t,n){var o,r,i,a,s,l,c;const d=Ko[e||"primary"],u="context"===e||"sparkline"===e;return{width:null!==(o=t.width)&&void 0!==o?o:e&&"primary"!==e||!(null==n?void 0:n.width)?d.width:n.width,height:null!==(r=t.height)&&void 0!==r?r:e&&"primary"!==e||!(null==n?void 0:n.height)?d.height:n.height,showAxes:null!==(i=t.showAxes)&&void 0!==i?i:d.showAxes,showGrid:null!==(a=t.showGrid)&&void 0!==a?a:d.showGrid,enableHover:null!==(s=t.enableHover)&&void 0!==s?s:!!t.linkedHover||d.enableHover,showLegend:null!==(l=t.showLegend)&&void 0!==l?l:d.showLegend,showLabels:null!==(c=t.showLabels)&&void 0!==c?c:d.showLabels,title:u?void 0:t.title,description:t.description,summary:t.summary,accessibleTable:t.accessibleTable,xLabel:u?void 0:t.xLabel,yLabel:u?void 0:t.yLabel,categoryLabel:u?void 0:t.categoryLabel,valueLabel:u?void 0:t.valueLabel,marginDefaults:Uo(d.marginDefaults,t.showCategoryTicks,t.orientation),compactMode:u}}function Uo(e,t,n){if(!1!==t)return e;const o=Object.assign({},e);return"horizontal"===n?o.left=Math.min(o.left,15):o.bottom=Math.min(o.bottom,15),o}function Qo(e,t){if(!e)return[];const n=[],o=e=>{n.push(e);const r="function"==typeof t?t(e):e[t];r&&Array.isArray(r)&&r.forEach(o)};return o(e),n}function Jo(e,t,n,o){if(e&&e.length>0)return e;const r=new Set;return t.forEach(e=>{const t="function"==typeof n?n(e):e[n],i="function"==typeof o?o(e):e[o];r.add(t),r.add(i)}),Array.from(r).map(e=>({id:e}))}function er(e){return"function"==typeof e?e:t=>t[e]||1}function tr({edgeColorBy:e,colorBy:t,colorScale:n,nodeStyleFn:o,edgeOpacity:r,baseStyle:i={}}){return a=>{const s=Object.assign({fillOpacity:r},i);if("function"==typeof e)s.fill=e(a);else if("source"===e){const e="object"==typeof a.source?a.source:null;t&&e?s.fill=Ze(e.data||e,t,n):e&&(s.fill=o(e,e.index).fill)}else if("target"===e){const e="object"==typeof a.target?a.target:null;t&&e?s.fill=Ze(e.data||e,t,n):e&&(s.fill=o(e,e.index).fill)}else"gradient"===e&&(s.fill="#999",s.fillOpacity=.7*r);return s}}function nr({componentName:t,message:n,diagnosticHint:o,width:r,height:i}){return e.jsx("div",{role:"alert",style:{width:r,height:Math.max(i,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:e.jsxs("div",{style:{textAlign:"center",maxWidth:400},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:t}),e.jsx("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:n}),o&&e.jsx("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:o})]})})}class or extends d.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var n,o;null===(o=(n=this.props).onError)||void 0===o||o.call(n,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,n=this.state.error;return"function"==typeof t?t(n):void 0!==t?t:e.jsx(nr,{componentName:"ChartErrorBoundary",message:n.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function rr({componentName:t,width:n,height:o,children:r}){return e.jsx(or,{fallback:r=>e.jsx(nr,{componentName:t,message:r.message,width:n,height:o}),children:r})}"undefined"!=typeof process&&process;const ir={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #666)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},ar={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function sr(n){const{nodes:o,edges:r,inferNodes:i=!0,sourceAccessor:a="source",targetAccessor:s="target",colorBy:l,colorScheme:c,showLegend:d,legendPosition:u,legendInteraction:h,selection:f,linkedHover:g,onObservation:y,onClick:p,chartType:m,chartId:v,marginDefaults:b,userMargin:x,width:k,height:w,loading:S,loadingContent:M,emptyContent:A,emptyDataKey:j="edges"}=n,L=t.useMemo(()=>ho(r),[r]),C=t.useMemo(()=>ho(o),[o]),E=function(t,n,o,r){if(!t)return null;if(!1===r)return null;if(null!=r)return e.jsx("div",{style:{width:n,height:o,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:r});const i=Math.min(5,Math.floor(o/40)),a=Math.max(8,Math.floor(o/(3*i))),s=Math.max(6,Math.floor(o/(2.5*i))),l=Math.floor((o-(i*(a+s)-s))/2);return e.jsx("div",{style:{width:n,height:o,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"},children:Array.from({length:i},(t,o)=>e.jsx("div",{className:"semiotic-loading-bar",style:Object.assign(Object.assign({},ar),{position:"absolute",top:l+o*(a+s),left:Math.floor(.1*n),width:30+(37*o+13)%50+"%",height:a,opacity:.5+o%2*.2})},o))})}(S,k,w,M),D=E?null:function(t,n,o,r){return!1===r||null==t||Array.isArray(t)&&t.length>0?null:Array.isArray(t)?e.jsx("div",{style:Object.assign(Object.assign({},ir),{width:n,height:o}),children:r||"No data available"}):null}("nodes"===j?void 0===o?void 0:C:void 0===r?void 0:L,k,w,A),O=t.useMemo(()=>i?Jo(C,L,a,s):C,[i,C,L,a,s]),P=function(e,n,o){const r=t.useContext(Eo),i=Go();return t.useMemo(()=>{var t;if(!n)return;const a=null!==(t=null!=o?o:i&&i.length>0?i:void 0)&&void 0!==t?t:"category10";if(0!==e.length){if("function"==typeof n){const t=Array.from(new Set(e.map(e=>n(e)+"")));if(r&&Object.keys(r).length>0){const e=Ue(t.map(e=>({_cat:e})),"_cat",a);return t=>r[t]||e(t)}return Ue(t.map(e=>({_cat:e})),"_cat",a)}if(r&&Object.keys(r).length>0){const t=Ue(e,n,a);return e=>r[e]||t(e)}return Ue(e,n,a)}if(r&&Object.keys(r).length>0){const e=Ue([{_:"a"}],"_",a);return t=>r[t]||e(t)}},[e,n,o,r,i])}(O,l,c),T=Go(),N=t.useMemo(()=>{if(Array.isArray(c))return c;if(T&&T.length>0)return T;if("string"==typeof c){const e=Xe[c];if(Array.isArray(e)&&e.length>0)return e}return Ge},[c,T]),I=t.useMemo(()=>{if(!l)return[];const e=new Set;for(const t of O){const n="function"==typeof l?l(t):t[l];null!=n&&e.add(n+"")}return Array.from(e)},[O,l]),_=function(e,n,o){const[r,i]=t.useState(null),[a,s]=t.useState(new Set),l=t.useCallback(t=>{"highlight"===e&&i(t?t.label:null)},[e]),c=t.useCallback(t=>{"isolate"===e&&s(e=>{const n=new Set(e);return n.has(t.label)?n.delete(t.label):n.add(t.label),n.size===o.length?new Set:n})},[e,o.length]),d=t.useMemo(()=>{if(!e||"none"===e||!n)return null;const t="string"==typeof n?n:null;return"highlight"===e&&null!=r?{isActive:!0,predicate:e=>(t?e[t]:"function"==typeof n?n(e):null)===r}:"isolate"===e&&a.size>0?{isActive:!0,predicate:e=>{const o=t?e[t]:"function"==typeof n?n(e):null;return a.has(o)}}:null},[e,n,r,a]);return{highlightedCategory:"highlight"===e?r:null,isolatedCategories:"isolate"===e?a:new Set,onLegendHover:l,onLegendClick:c,legendSelectionHook:d}}(h,l,I),{legend:W,margin:R,legendPosition:$}=Vo({data:O,colorBy:l,colorScale:P,showLegend:d,legendPosition:u,userMargin:x,defaults:b,categories:I}),B=function({selection:e,linkedHover:n,fallbackFields:o=[],unwrapData:r=!1,onObservation:i,chartType:a,chartId:s,onClick:l,hoverHighlight:c,colorByField:d}){const u=t.useId(),h=function(e,t){return e?!0===e?{name:"hover",fields:t||[]}:"string"==typeof e?{name:e,fields:t||[]}:{name:e.name||"hover",fields:e.fields||t||[],mode:e.mode,xField:e.xField,seriesField:e.seriesField}:null}(n,o),f="series"===(null==h?void 0:h.mode)?[h.seriesField||d||o[0]].filter(e=>!!e):(null==h?void 0:h.fields)||o||[],g=Bo({name:(null==e?void 0:e.name)||"__unused__"}),y=function(e){const n=e.name||"hover",{fields:o}=e,{predicate:r,isActive:i,selectPoints:a,clear:s}=Bo({name:n});return{onHover:t.useCallback(e=>{if(!e)return void s();const t={};for(const n of o){const o=e[n];void 0!==o&&(t[n]=[o])}Object.keys(t).length>0&&a(t)},[o,a,s,n]),predicate:r,isActive:i}}({name:(null==h?void 0:h.name)||"hover",fields:f}),p=Io(e=>e.pushObservation),m=e?{isActive:g.isActive,predicate:g.predicate}:null,[v,b]=t.useState(null),x=d||o[0],k=t.useMemo(()=>{if(!c||null==v||!x)return null;const e=v,t=x;return{isActive:!0,predicate:n=>{var o;return("string"==typeof n[t]?n[t]:(null!==(o=n[t])&&void 0!==o?o:"")+"")===e}}},[c,v,x]),w=t.useCallback(e=>{var t,o;if(n)if(e){let t=e.data||e.datum||e;if(Array.isArray(t)&&(t=t[0]),"x-position"===(null==h?void 0:h.mode)&&h.xField){const n=Yo(e,t,h.xField);null!=n&&function(e,t,n){const o=_o.positions.get(e);(null==o?void 0:o.locked)||o&&o.xValue===t&&o.sourceId===n||(_o={positions:new Map(_o.positions).set(e,{xValue:t,sourceId:n})},Ro())}(h.name||"hover",n,u)}"x-position"!==(null==h?void 0:h.mode)&&y.onHover(t)}else"x-position"===(null==h?void 0:h.mode)&&$o(h.name||"hover",u),"x-position"!==(null==h?void 0:h.mode)&&y.onHover(null);if(c&&x)if(e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]);const n=null==t?void 0:t[x];b(null!=n?n+"":null)}else b(null);if(i||p){const n={timestamp:Date.now(),chartType:a||"unknown",chartId:s};if(e){const r=Xo(e),a=Object.assign(Object.assign({},n),{type:"hover",datum:r||{},x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(o=e.y)&&void 0!==o?o:0});i&&i(a),p&&p(a)}else{const e=Object.assign(Object.assign({},n),{type:"hover-end"});i&&i(e),p&&p(e)}}},[n,y,h,u,i,a,s,p,c,x]),S=t.useCallback(e=>{var t,n,o,r;if("x-position"===(null==h?void 0:h.mode)&&h.xField&&e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]);const n=Yo(e,t,h.xField);null!=n&&function(e,t,n){const o=_o.positions.get(e);if(null==o?void 0:o.locked){const t=new Map(_o.positions);return t.delete(e),_o={positions:t},Ro(),!1}_o={positions:new Map(_o.positions).set(e,{xValue:t,sourceId:n,locked:!0})},Ro()}(h.name||"hover",n,u)}if(e&&l){let o=e.data||e.datum||e;Array.isArray(o)&&(o=o[0]),l(o,{x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(n=e.y)&&void 0!==n?n:0})}if(i||p){const t={timestamp:Date.now(),chartType:a||"unknown",chartId:s};if(e){const n=Xo(e),a=Object.assign(Object.assign({},t),{type:"click",datum:n||{},x:null!==(o=e.x)&&void 0!==o?o:0,y:null!==(r=e.y)&&void 0!==r?r:0});i&&i(a),p&&p(a)}else{const e=Object.assign(Object.assign({},t),{type:"click-end"});i&&i(e),p&&p(e)}}},[l,i,p,a,s,h,u]);return t.useEffect(()=>{if("x-position"!==(null==h?void 0:h.mode))return;const e=h.name||"hover";return()=>{!function(e,t){const n=_o.positions.get(e);if(!(null==n?void 0:n.locked))return;if(t&&n.sourceId!==t)return;const o=new Map(_o.positions);o.delete(e),_o={positions:o},Ro()}(e,u),$o(e,u)}},[null==h?void 0:h.mode,null==h?void 0:h.name,u]),{activeSelectionHook:m,hoverSelectionHook:k,customHoverBehavior:w,customClickBehavior:S,crosshairSourceId:u}}({selection:f,linkedHover:g,fallbackFields:l?["string"==typeof l?l:""]:[],unwrapData:!0,onObservation:y,onClick:p,chartType:m,chartId:v}),{customHoverBehavior:z,customClickBehavior:H,activeSelectionHook:F,hoverSelectionHook:Y,crosshairSourceId:X}=B;return{safeNodes:O,safeEdges:L,colorScale:P,effectivePalette:N,themeCategorical:T,allCategories:I,legendState:_,legend:W,margin:R,legendPosition:$,customHoverBehavior:z,customClickBehavior:H,activeSelectionHook:F,hoverSelectionHook:Y,crosshairSourceId:X,loadingEl:E,emptyEl:D}}function lr(e,t){if(!function(e){return void 0!==e.stroke||void 0!==e.strokeWidth||void 0!==e.opacity}(t))return null!=e?e:()=>({});const n={};return void 0!==t.stroke&&(n.stroke=t.stroke),void 0!==t.strokeWidth&&(n.strokeWidth=t.strokeWidth),void 0!==t.opacity&&(n.opacity=t.opacity),e?(...t)=>{const o=e(...t)||{};return Object.assign(Object.assign({},o),n)}:(...e)=>Object.assign({},n)}function cr(e,t){const n=e.length,o=t.length,r=Array(o+1);for(let e=0;o>=e;e++)r[e]=e;for(let i=1;n>=i;i++){let n=r[0];r[0]=i;for(let a=1;o>=a;a++){const o=r[a];r[a]=e[i-1]===t[a-1]?n:1+Math.min(n,r[a],r[a-1]),n=o}}return r[o]}function dr(e,t){var n;if(0===t.length)return null;const o=e.toLowerCase();return t.find(e=>e.toLowerCase().includes(o)||o.includes(e.toLowerCase()))||(null!==(n=function(e,t,n=3){let o,r=n+1;for(const n of t){const t=cr(e.toLowerCase(),n.toLowerCase());r>t&&(r=t,o=n)}return r>n?void 0:o}(e,t,3))&&void 0!==n?n:null)}function ur({componentName:e,data:t,dataLabel:n="data"}){return null==t?`${e}: No ${n} provided. Pass a hierarchical object with children: { name: "root", children: [...] }.`:Array.isArray(t)?`${e}: ${n} should be a single root object, not an array. Expected: { name: "root", children: [...] }. If you have flat data, use LineChart, BarChart, or Scatterplot instead.`:null}function hr({componentName:e,nodes:t,edges:n,nodesRequired:o=!1,edgesRequired:r=!0,accessors:i}){if(null==t&&null==n)return null;if(r&&(!n||!Array.isArray(n)||0===n.length))return e+': No edges provided. Pass a non-empty array: edges={[{ source: "A", target: "B", value: 10 }, ...]}.';if(o&&(!t||!Array.isArray(t)||0===t.length))return e+': No nodes provided. Pass a non-empty array: nodes={[{ id: "A" }, { id: "B" }, ...]}.';if(i&&t&&t.length>0){const n=(a=t,a.length>3?[a[0],a[Math.floor(a.length/2)],a[a.length-1]]:a).find(e=>e&&"object"==typeof e);if(n){const t=Object.keys(n);for(const[o,r]of Object.entries(i))if(r&&"string"==typeof r&&!(r in n)){const n=dr(r,t),i=n?` Try ${o}="${n}".`:"";return`${e}: ${o} "${r}" not found in node data. Available fields: ${t.join(", ")}.${i}`}}}var a;return null}const fr=t.forwardRef(function(n,o){var r;const i=t.useRef(null);Co(o,{variant:"network",frameRef:i});const a=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLegend:n.showLegend,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{nodes:s,edges:l,margin:c,className:d,nodeIdAccessor:u,nodeIDAccessor:h,sourceAccessor:f="source",targetAccessor:g="target",nodeLabel:y,colorBy:p,colorScheme:m,nodeSize:v=8,nodeSizeRange:b=[5,20],edgeWidth:x=1,edgeColor:k="#999",edgeOpacity:w=.6,iterations:S=300,forceStrength:M=.1,tooltip:A,frameProps:j={},onObservation:L,onClick:C,chartId:E,selection:D,linkedHover:O,loading:P,loadingContent:T,emptyContent:N,legendInteraction:I,legendPosition:_,stroke:W,strokeWidth:R,opacity:$}=n,B=null!==(r=null!=u?u:h)&&void 0!==r?r:"id",{width:z,height:H,enableHover:F,showLegend:Y,showLabels:X=!1,title:G,description:q,summary:V,accessibleTable:K}=a,Z=sr({nodes:s,edges:l,inferNodes:!1,sourceAccessor:f,targetAccessor:g,colorBy:p,colorScheme:m,showLegend:Y,legendPosition:_,legendInteraction:I,selection:D,linkedHover:O,onObservation:L,onClick:C,chartType:"ForceDirectedGraph",chartId:E,marginDefaults:a.marginDefaults,userMargin:c,width:z,height:H,loading:P,loadingContent:T,emptyContent:N,emptyDataKey:"nodes"}),U=t.useMemo(()=>new Map,[]),Q=t.useMemo(()=>e=>{const t={};return t.fill=p?Ze(e.data||e,p,Z.colorScale):qo(0,Z.themeCategorical,m),"number"==typeof v&&(t.r=v),t},[p,Z.colorScale,v,Z.themeCategorical,m,U]),J=t.useMemo(()=>lr(Q,{stroke:W,strokeWidth:R,opacity:$}),[Q,W,R,$]),ee=t.useMemo(()=>e=>({stroke:k,strokeWidth:"number"==typeof x?x:"function"==typeof x?x(e):e[x]||1,opacity:w}),[x,k,w]),te=t.useMemo(()=>lr(ee,{stroke:W,strokeWidth:R,opacity:$}),[ee,W,R,$]),ne=t.useMemo(()=>{if(X&&y)return"function"==typeof y?y:e=>{var t,n,o;return null!==(o=null!==(n=null===(t=e.data)||void 0===t?void 0:t[y])&&void 0!==n?n:e[y])&&void 0!==o?o:e.id}},[X,y]),oe=hr({componentName:"ForceDirectedGraph",nodes:s,edges:l,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:B}});return oe?e.jsx(nr,{componentName:"ForceDirectedGraph",message:oe,width:z,height:H}):Z.loadingEl?Z.loadingEl:Z.emptyEl?Z.emptyEl:e.jsx(rr,{componentName:"ForceDirectedGraph",width:z,height:H,children:e.jsx(Lo,Object.assign({ref:i,chartType:"force"},null!=s&&{nodes:Z.safeNodes},null!=l&&{edges:Z.safeEdges},{size:[z,H],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:Z.margin,nodeIDAccessor:B,sourceAccessor:f,targetAccessor:g,iterations:S,forceStrength:M,nodeStyle:J,edgeStyle:te,colorBy:p,colorScheme:Z.effectivePalette,nodeSize:v,nodeSizeRange:b,nodeLabel:ne,showLabels:X,enableHover:F,tooltipContent:!1===A?()=>null:St(A)||void 0,customHoverBehavior:O||L||C?Z.customHoverBehavior:void 0,customClickBehavior:L||C?Z.customClickBehavior:void 0,legend:Z.legend,legendPosition:Z.legendPosition},I&&"none"!==I&&{legendHoverBehavior:Z.legendState.onLegendHover,legendClickBehavior:Z.legendState.onLegendClick,legendHighlightedCategory:Z.legendState.highlightedCategory,legendIsolatedCategories:Z.legendState.isolatedCategories},{className:d,title:G,description:q,summary:V,accessibleTable:K},null!=n.animate&&{animate:n.animate},j))})});fr.displayName="ForceDirectedGraph";const gr=t.forwardRef(function(n,o){const r=t.useRef(null);Co(o,{variant:"network",frameRef:r,overrides:{getData:()=>{var e,t,n,o;return null!==(o=null===(n=null===(t=null===(e=r.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===n?void 0:n.map(e=>e.data))&&void 0!==o?o:[]}}});const i=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:800,height:600}),{nodes:a,edges:s,margin:l,className:c,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",nodeIdAccessor:f="id",colorBy:g,colorScheme:y,edgeColorBy:p="source",orientation:m="horizontal",nodeAlign:v="justify",nodePaddingRatio:b=.05,nodeWidth:x=15,nodeLabel:k,edgeOpacity:w=.5,edgeSort:S,tooltip:M,frameProps:A={},onObservation:j,onClick:L,chartId:C,selection:E,linkedHover:D,loading:O,loadingContent:P,emptyContent:T,showLegend:N,legendPosition:I,legendInteraction:_,stroke:W,strokeWidth:R,opacity:$}=n,{width:B,height:z,enableHover:H,showLabels:F=!0,title:Y,description:X,summary:G,accessibleTable:q}=i,V=sr({nodes:a,edges:s,inferNodes:!0,sourceAccessor:d,targetAccessor:u,colorBy:g,colorScheme:y,showLegend:N,legendPosition:I,legendInteraction:_,selection:E,linkedHover:D,onObservation:j,onClick:L,chartType:"SankeyDiagram",chartId:C,marginDefaults:i.marginDefaults,userMargin:l,width:B,height:z,loading:O,loadingContent:P,emptyContent:T}),K=t.useMemo(()=>new Map,[]),Z=t.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?Ze(e.data||e,g,V.colorScale):qo(0,V.themeCategorical,y),t},[g,V.colorScale,V.themeCategorical,y,K]),U=t.useMemo(()=>lr(Z,{stroke:W,strokeWidth:R,opacity:$}),[Z,W,R,$]),Q=t.useMemo(()=>tr({edgeColorBy:p,colorBy:g,colorScale:V.colorScale,nodeStyleFn:U,edgeOpacity:w,baseStyle:{stroke:"none",strokeWidth:0}}),[p,g,V.colorScale,U,w]),J=t.useMemo(()=>lr(Q,{stroke:W,strokeWidth:R,opacity:$}),[Q,W,R,$]),ee=t.useMemo(()=>{if(!F)return;const e=k||f;return"function"==typeof e?e:t=>{var n,o,r;return null!==(r=null!==(o=null===(n=t.data)||void 0===n?void 0:n[e])&&void 0!==o?o:t[e])&&void 0!==r?r:t.id}},[F,k,f]),te=hr({componentName:"SankeyDiagram",edges:s,edgesRequired:!0});return te?e.jsx(nr,{componentName:"SankeyDiagram",message:te,width:B,height:z}):V.loadingEl?V.loadingEl:V.emptyEl?V.emptyEl:e.jsx(rr,{componentName:"SankeyDiagram",width:B,height:z,children:e.jsx(Lo,Object.assign({ref:r,chartType:"sankey"},V.safeNodes.length>0&&{nodes:V.safeNodes},null!=s&&{edges:V.safeEdges},{size:[B,z],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:V.margin,nodeIDAccessor:f,sourceAccessor:d,targetAccessor:u,valueAccessor:h,orientation:m,nodeAlign:v,nodePaddingRatio:b,nodeWidth:x,nodeStyle:U,edgeStyle:J,colorBy:g,colorScheme:V.effectivePalette,edgeColorBy:p,edgeOpacity:w,edgeSort:S,nodeLabel:ee,showLabels:F,enableHover:H,tooltipContent:!1===M?()=>null:St(M)||void 0,customHoverBehavior:D||j||L?V.customHoverBehavior:void 0,customClickBehavior:j||L?V.customClickBehavior:void 0,legend:V.legend,legendPosition:V.legendPosition},_&&"none"!==_&&{legendHoverBehavior:V.legendState.onLegendHover,legendClickBehavior:V.legendState.onLegendClick,legendHighlightedCategory:V.legendState.highlightedCategory,legendIsolatedCategories:V.legendState.isolatedCategories},{className:c,title:Y,description:X,summary:G,accessibleTable:q},null!=n.animate&&{animate:n.animate},A))})});gr.displayName="SankeyDiagram";const yr=t.forwardRef(function(n,o){const r=t.useRef(null);Co(o,{variant:"network",frameRef:r,overrides:{getData:()=>{var e,t,n,o;return null!==(o=null===(n=null===(t=null===(e=r.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===n?void 0:n.map(e=>e.data))&&void 0!==o?o:[]}}});const i=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{nodes:a,edges:s,margin:l,className:c,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",nodeIdAccessor:f="id",colorBy:g,colorScheme:y,edgeColorBy:p="source",padAngle:m=.01,groupWidth:v=20,sortGroups:b,nodeLabel:x,edgeOpacity:k=.5,tooltip:w,frameProps:S={},onObservation:M,onClick:A,chartId:j,selection:L,linkedHover:C,loading:E,loadingContent:D,emptyContent:O,legendInteraction:P,stroke:T,strokeWidth:N,opacity:I}=n,{width:_,height:W,enableHover:R,showLabels:$=!0,title:B,description:z,summary:H,accessibleTable:F}=i,Y=sr({nodes:a,edges:s,inferNodes:!0,sourceAccessor:d,targetAccessor:u,colorBy:g,colorScheme:y,showLegend:!1,legendInteraction:P,selection:L,linkedHover:C,onObservation:M,onClick:A,chartType:"ChordDiagram",chartId:j,marginDefaults:i.marginDefaults,userMargin:l,width:_,height:W,loading:E,loadingContent:D,emptyContent:O}),X=t.useMemo(()=>new Map,[]),G=Y.safeNodes.length>0,q=t.useMemo(()=>{if(G)return(e,t)=>{var n,o;const r={stroke:"black",strokeWidth:1};if(g)r.fill=Ze(e.data||e,g,Y.colorScale);else{const i=Array.isArray(y)?y:Xe[y]||Ge,a=Array.isArray(i)?i:Ge,s=null!==(o=null!==(n=e.index)&&void 0!==n?n:t)&&void 0!==o?o:0;r.fill=a[s%a.length]}return r}},[G,g,Y.colorScale,y]),V=t.useMemo(()=>q?lr(q,{stroke:T,strokeWidth:N,opacity:I}):void 0,[q,T,N,I]),K=t.useMemo(()=>{if(G)return tr({edgeColorBy:p,colorBy:g,colorScale:Y.colorScale,nodeStyleFn:V||(e=>({fill:qo(0,Y.themeCategorical,y)})),edgeOpacity:k,baseStyle:{stroke:"black",strokeWidth:.5,strokeOpacity:k}})},[G,p,g,Y.colorScale,V,k,Y.themeCategorical,y,X]),Z=t.useMemo(()=>K?lr(K,{stroke:T,strokeWidth:N,opacity:I}):void 0,[K,T,N,I]),U=t.useMemo(()=>{if(!$)return;const e=x||f;return"function"==typeof e?e:t=>{var n,o,r;return null!==(r=null!==(o=null===(n=t.data)||void 0===n?void 0:n[e])&&void 0!==o?o:t[e])&&void 0!==r?r:t.id}},[$,x,f]),Q=hr({componentName:"ChordDiagram",edges:s,edgesRequired:!0});return Q?e.jsx(nr,{componentName:"ChordDiagram",message:Q,width:_,height:W}):Y.loadingEl?Y.loadingEl:Y.emptyEl?Y.emptyEl:e.jsx(rr,{componentName:"ChordDiagram",width:_,height:W,children:e.jsx(Lo,Object.assign({ref:r,chartType:"chord"},Y.safeNodes.length>0&&{nodes:Y.safeNodes},null!=s&&{edges:Y.safeEdges},{size:[_,W],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:Y.margin,nodeIDAccessor:f,sourceAccessor:d,targetAccessor:u,valueAccessor:h,padAngle:m,groupWidth:v,sortGroups:b,nodeStyle:V,edgeStyle:Z,colorBy:g,colorScheme:Y.effectivePalette,edgeColorBy:p,edgeOpacity:k,nodeLabel:U,showLabels:$,enableHover:R,tooltipContent:!1===w?()=>null:St(w)||void 0,customHoverBehavior:C||M||A?Y.customHoverBehavior:void 0,customClickBehavior:M||A?Y.customClickBehavior:void 0},P&&"none"!==P&&{legendHoverBehavior:Y.legendState.onLegendHover,legendClickBehavior:Y.legendState.onLegendClick,legendHighlightedCategory:Y.legendState.highlightedCategory,legendIsolatedCategories:Y.legendState.isolatedCategories},{className:c,title:B,description:z,summary:H,accessibleTable:F},null!=n.animate&&{animate:n.animate},S))})});function pr(n){const o=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,layout:s="tree",orientation:l="vertical",childrenAccessor:c="children",valueAccessor:d="value",nodeIdAccessor:u="name",colorBy:h,colorScheme:f,colorByDepth:g=!1,edgeStyle:y="curve",nodeLabel:p,nodeSize:m=5,tooltip:v,frameProps:b={},onObservation:x,onClick:k,chartId:w,selection:S,linkedHover:M,loading:A,loadingContent:j,legendInteraction:L,stroke:C,strokeWidth:E,opacity:D}=n,{width:O,height:P,enableHover:T,showLabels:N=!0,title:I,description:_,summary:W,accessibleTable:R}=o,$=sr({nodes:t.useMemo(()=>Qo(null!=r?r:null,c),[r,c]),edges:void 0,inferNodes:!1,colorBy:g?void 0:h,colorScheme:f,showLegend:!1,legendInteraction:L,selection:S,linkedHover:M,onObservation:x,onClick:k,chartType:"TreeDiagram",chartId:w,marginDefaults:o.marginDefaults,userMargin:i,width:O,height:P,loading:A,loadingContent:j}),B=t.useMemo(()=>new Map,[]),z=t.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?Ve[(e.depth||0)%Ve.length]:h?Ze(e.data||e,h,$.colorScale):qo(0,$.themeCategorical,f),t},[h,g,$.colorScale,$.themeCategorical,f,B]),H=t.useMemo(()=>lr(z,{stroke:C,strokeWidth:E,opacity:D}),[z,C,E,D]),F=t.useMemo(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),Y=t.useMemo(()=>lr(F,{stroke:C,strokeWidth:E,opacity:D}),[F,C,E,D]),X=t.useMemo(()=>{if("treemap"===s||"circlepack"===s||"partition"===s)return er(d)},[s,d]),G=ur({componentName:"TreeDiagram",data:r});return G?e.jsx(nr,{componentName:"TreeDiagram",message:G,width:O,height:P}):$.loadingEl?$.loadingEl:e.jsx(rr,{componentName:"TreeDiagram",width:O,height:P,children:e.jsx(Lo,Object.assign({chartType:s},null!=r&&{data:r},{size:[O,P],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:$.margin,nodeIDAccessor:u,childrenAccessor:c,hierarchySum:X,treeOrientation:l,edgeType:y,nodeStyle:H,edgeStyle:Y,colorBy:h,colorScheme:$.effectivePalette,colorByDepth:g,nodeSize:m,nodeLabel:N?p||u:void 0,showLabels:N,enableHover:T,tooltipContent:!1===v?()=>null:St(v)||void 0,customHoverBehavior:M||x||k?$.customHoverBehavior:void 0,customClickBehavior:x||k?$.customClickBehavior:void 0},L&&"none"!==L&&{legendHoverBehavior:$.legendState.onLegendHover,legendClickBehavior:$.legendState.onLegendClick,legendHighlightedCategory:$.legendState.highlightedCategory,legendIsolatedCategories:$.legendState.isolatedCategories},{className:a,title:I,description:_,summary:W,accessibleTable:R},null!=n.animate&&{animate:n.animate},b))})}function mr(n){const o=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary,linkedHover:n.linkedHover},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",valueAccessor:l="value",nodeIdAccessor:c="name",colorBy:d,colorScheme:u,colorByDepth:h=!1,labelMode:f="leaf",nodeLabel:g,padding:y=4,paddingTop:p,nodeStyle:m,tooltip:v,frameProps:b={},selection:x,linkedHover:k,onObservation:w,onClick:S,chartId:M,loading:A,loadingContent:j,legendInteraction:L,stroke:C,strokeWidth:E,opacity:D}=n,{nodeStyle:O}=b,P=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);o.length>r;r++)0>t.indexOf(o[r])&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(b,["nodeStyle"]),{width:T,height:N,enableHover:I,showLabels:_=!0,title:W,description:R,summary:$,accessibleTable:B}=o,z=sr({nodes:t.useMemo(()=>Qo(null!=r?r:null,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:h?void 0:d,colorScheme:u,showLegend:!1,legendInteraction:L,selection:x,linkedHover:k,onObservation:w,onClick:S,chartType:"Treemap",chartId:M,marginDefaults:o.marginDefaults,userMargin:i,width:T,height:N,loading:A,loadingContent:j}),H=function(e){const n=It(e=>e.theme.colors.selectionOpacity);return t.useMemo(()=>{var t,o;if(void 0!==e||void 0!==n)return Object.assign(Object.assign({name:null!==(t=null==e?void 0:e.name)&&void 0!==t?t:""},e),{unselectedOpacity:null!==(o=null==e?void 0:e.unselectedOpacity)&&void 0!==o?o:n})},[e,n])}(x),F=z.customHoverBehavior,Y=t.useCallback(e=>{if(!e)return F(null);const t=e.data||e;F({data:(null==t?void 0:t.data)||t})},[F]),X=t.useMemo(()=>new Map,[]),G=t.useMemo(()=>e=>{const t={stroke:"var(--semiotic-cell-border, var(--semiotic-border, #fff))",strokeWidth:1,strokeOpacity:.8};return t.fill=h?Ve[(e.depth||0)%Ve.length]:d?Ze(e.data||e,d,z.colorScale):qo(0,z.themeCategorical,u),t},[d,h,z.colorScale,z.themeCategorical,u,X]),q=t.useMemo(()=>m||O?e=>{var t,n;return Object.assign(Object.assign(Object.assign({},G(e)),O&&null!==(t=O(e))&&void 0!==t?t:{}),m&&null!==(n=m(e))&&void 0!==n?n:{})}:G,[G,m,O]),V=t.useMemo(()=>lr(q,{stroke:C,strokeWidth:E,opacity:D}),[q,C,E,D]),K=t.useMemo(()=>z.activeSelectionHook?e=>{var t;const n=Object.assign({},V(e));if(z.activeSelectionHook.isActive)if(z.activeSelectionHook.predicate(e.data||e))(null==H?void 0:H.selectedStyle)&&Object.assign(n,H.selectedStyle);else{const e=null!==(t=null==H?void 0:H.unselectedOpacity)&&void 0!==t?t:.5;n.opacity=e,n.fillOpacity=e,n.strokeOpacity=e,(null==H?void 0:H.unselectedStyle)&&Object.assign(n,H.unselectedStyle)}return n}:V,[V,z.activeSelectionHook,H]),Z=t.useMemo(()=>er(l),[l]),U=void 0!==p?p:!_||"parent"!==f&&"all"!==f?void 0:18,Q=ur({componentName:"Treemap",data:r});return Q?e.jsx(nr,{componentName:"Treemap",message:Q,width:T,height:N}):z.loadingEl?z.loadingEl:e.jsx(rr,{componentName:"Treemap",width:T,height:N,children:e.jsx(Lo,Object.assign({chartType:"treemap"},null!=r&&{data:r},{size:[T,N],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:z.margin,nodeIDAccessor:c,childrenAccessor:s,hierarchySum:Z,padding:y,paddingTop:U,nodeStyle:K,colorBy:d,colorScheme:z.effectivePalette,colorByDepth:h,nodeLabel:_?g||c:void 0,showLabels:_,labelMode:f,enableHover:I,tooltipContent:!1===v?()=>null:St(v)||void 0},(k||w||S)&&{customHoverBehavior:Y},(w||S)&&{customClickBehavior:z.customClickBehavior},L&&"none"!==L&&{legendHoverBehavior:z.legendState.onLegendHover,legendClickBehavior:z.legendState.onLegendClick,legendHighlightedCategory:z.legendState.highlightedCategory,legendIsolatedCategories:z.legendState.isolatedCategories},{className:a,title:W,description:R,summary:$,accessibleTable:B},null!=n.animate&&{animate:n.animate},P))})}function vr(n){const o=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",valueAccessor:l="value",nodeIdAccessor:c="name",colorBy:d,colorScheme:u,colorByDepth:h=!1,nodeLabel:f,circleOpacity:g=.7,padding:y=4,tooltip:p,frameProps:m={},onObservation:v,onClick:b,chartId:x,selection:k,linkedHover:w,loading:S,loadingContent:M,legendInteraction:A,stroke:j,strokeWidth:L,opacity:C}=n,{width:E,height:D,enableHover:O,showLabels:P=!0,title:T,description:N,summary:I,accessibleTable:_}=o,W=sr({nodes:t.useMemo(()=>Qo(null!=r?r:null,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:h?void 0:d,colorScheme:u,showLegend:!1,legendInteraction:A,selection:k,linkedHover:w,onObservation:v,onClick:b,chartType:"CirclePack",chartId:x,marginDefaults:o.marginDefaults,userMargin:i,width:E,height:D,loading:S,loadingContent:M}),R=t.useMemo(()=>new Map,[]),$=t.useMemo(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:g};return t.fill=h?Ve[(e.depth||0)%Ve.length]:d?Ze(e.data||e,d,W.colorScale):qo(0,W.themeCategorical,u),t},[d,h,W.colorScale,g,W.themeCategorical,u,R]),B=t.useMemo(()=>lr($,{stroke:j,strokeWidth:L,opacity:C}),[$,j,L,C]),z=t.useMemo(()=>er(l),[l]),H=ur({componentName:"CirclePack",data:r});return H?e.jsx(nr,{componentName:"CirclePack",message:H,width:E,height:D}):W.loadingEl?W.loadingEl:e.jsx(rr,{componentName:"CirclePack",width:E,height:D,children:e.jsx(Lo,Object.assign({chartType:"circlepack"},null!=r&&{data:r},{size:[E,D],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:W.margin,nodeIDAccessor:c,childrenAccessor:s,hierarchySum:z,padding:y,nodeStyle:B,colorBy:d,colorScheme:W.effectivePalette,colorByDepth:h,nodeLabel:P?f||c:void 0,showLabels:P,enableHover:O,tooltipContent:!1===p?()=>null:St(p)||void 0,customHoverBehavior:w||v||b?W.customHoverBehavior:void 0,customClickBehavior:v||b?W.customClickBehavior:void 0},A&&"none"!==A&&{legendHoverBehavior:W.legendState.onLegendHover,legendClickBehavior:W.legendState.onLegendClick,legendHighlightedCategory:W.legendState.highlightedCategory,legendIsolatedCategories:W.legendState.isolatedCategories},{className:a,title:T,description:N,summary:I,accessibleTable:_},null!=n.animate&&{animate:n.animate},m))})}yr.displayName="ChordDiagram",pr.displayName="TreeDiagram","function"==typeof SuppressedError&&SuppressedError,mr.displayName="Treemap",vr.displayName="CirclePack";const br=Ve;function xr(n){const o=Zo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",nodeIdAccessor:l="name",colorBy:c,colorScheme:d,colorByDepth:u=!1,orbitMode:h="flat",orbitSize:f=2.95,speed:g=.25,revolution:y,revolutionStyle:p,eccentricity:m=1,showRings:v=!0,nodeRadius:b=6,showLabels:x=!1,animated:k=!0,tooltip:w,foregroundGraphics:S,annotations:M,frameProps:A={},onObservation:j,onClick:L,chartId:C,selection:E,linkedHover:D,loading:O,loadingContent:P,stroke:T,strokeWidth:N,opacity:I}=n,{width:_,height:W,enableHover:R,title:$,description:B,summary:z,accessibleTable:H}=o,F=sr({nodes:t.useMemo(()=>Qo(r,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:u?void 0:c,colorScheme:d,showLegend:!1,legendInteraction:void 0,selection:E,linkedHover:D,onObservation:j,onClick:L,chartType:"OrbitDiagram",chartId:C,marginDefaults:{top:10,right:10,bottom:10,left:10},userMargin:i,width:_,height:W,loading:O,loadingContent:P}),Y=t.useMemo(()=>new Map,[]),{colorScale:X,customClickBehavior:G,customHoverBehavior:q,themeCategorical:V}=F,K=t.useMemo(()=>{if(Array.isArray(d))return d;const e=Xe[d];return Array.isArray(e)?e:Ge},[d]),Z=t.useMemo(()=>e=>{var t;const n={stroke:"#fff",strokeWidth:1},o=0===(null!==(t=e.depth)&&void 0!==t?t:0);return n.fill=u?o?K[0]:br[(e.depth||0)%br.length]:c?Ze(e.data||e,c,X):qo(0,V,d),n.opacity=o?1:.85,n},[c,u,X,K,V,d,Y]),U=t.useMemo(()=>lr(Z,{stroke:T,strokeWidth:N,opacity:I}),[Z,T,N,I]),Q=t.useMemo(()=>()=>({stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1}),[]),J=t.useMemo(()=>{if(q)return e=>{q(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[q]),ee=t.useMemo(()=>{if(G)return e=>{G(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[G]),te=ur({componentName:"OrbitDiagram",data:r});return te?e.jsx(nr,{componentName:"OrbitDiagram",message:te,width:_,height:W}):F.loadingEl?F.loadingEl:e.jsx(rr,{componentName:"OrbitDiagram",width:_,height:W,children:e.jsx(Lo,Object.assign({chartType:"orbit"},null!=r&&{data:r},{size:[_,W],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:F.margin,nodeIDAccessor:l,childrenAccessor:s,nodeStyle:U,edgeStyle:Q,colorBy:c,colorScheme:F.effectivePalette,colorByDepth:u,nodeSize:b,nodeLabel:x?l:void 0,showLabels:x,enableHover:!k&&R,tooltipContent:k?void 0:!1===w?()=>null:St(w)||void 0,customHoverBehavior:D||j||L?J:void 0,customClickBehavior:j||L?ee:void 0,foregroundGraphics:S,annotations:M,className:a,title:$,description:B,summary:z,orbitMode:h,orbitSize:f,orbitSpeed:g,orbitRevolution:y,orbitRevolutionStyle:p,orbitEccentricity:m,orbitShowRings:v,orbitAnimated:k,accessibleTable:H},null!=n.animate&&{animate:n.animate},A))})}function kr(e,t,n){const o=[],r=new Set(e.map(e=>e.id)),i=Array.isArray(n)&&2===n.length,a=i&&Number.isFinite(n[0])&&Number.isFinite(n[1]);i&&a&&a&&n[1]>=n[0]||o.push({kind:"invalid-domain"});for(const t of e)null!=t.xExtent&&(Array.isArray(t.xExtent)&&2===t.xExtent.length&&Number.isFinite(t.xExtent[0])&&Number.isFinite(t.xExtent[1])&&t.xExtent[1]>=t.xExtent[0]||o.push({kind:"invalid-node-time",id:t.id}));for(const e of t)r.has(e.source)||o.push({kind:"missing-node",id:e.id,endpoint:"source",nodeId:e.source}),r.has(e.target)||o.push({kind:"missing-node",id:e.id,endpoint:"target",nodeId:e.target}),Number.isFinite(e.startTime)&&Number.isFinite(e.endTime)?(Number.isFinite(e.value)&&e.value>0||o.push({kind:"invalid-value",id:e.id}),e.endTime>e.startTime||o.push({kind:"backward-edge",id:e.id,source:e.source,target:e.target})):o.push({kind:"invalid-edge-time",id:e.id});return o}function wr(e){return"invalid-node-time"===e.kind?`node ${e.id} has an invalid xExtent (must be [start, end] with start <= end)`:"invalid-edge-time"===e.kind?`edge ${e.id} has an invalid startTime or endTime`:"invalid-domain"===e.kind?"time domain must be a 2-tuple of finite times [start, end] with start <= end":"invalid-value"===e.kind?`edge ${e.id} must have a positive finite value`:"missing-node"===e.kind?`edge ${e.id} references missing ${e.endpoint} node "${e.nodeId}"`:"backward-edge"===e.kind?`edge ${e.id} (${e.source}->${e.target}) ends before it starts`:e.kind}function Sr(e,t,n){const o=t.incoming[e.id],r=t.outgoing[e.id],i=[];for(const e of o)i.push({time:e.endTime,delta:+e.value,edge:e,kind:"in",side:n.get(e.id).targetSide});for(const e of r)i.push({time:e.startTime,delta:-e.value,edge:e,kind:"out",side:n.get(e.id).sourceSide});const a={create:0,in:1,"transfer-out":2,"transfer-in":3,out:4},s=()=>{i.sort((e,t)=>{var n,o;return e.time-t.time||(null!==(n=a[e.kind])&&void 0!==n?n:99)-(null!==(o=a[t.kind])&&void 0!==o?o:99)})},l=i.length?Math.min(...i.map(e=>e.time)):null,c=Array.isArray(e.xExtent)&&Number.isFinite(e.xExtent[0])?e.xExtent[0]:null,d=null!=c?c-1:null!=l&&Number.isFinite(l)?l-1:null,u=[...new Set(i.map(e=>e.time))].sort((e,t)=>e-t),h=new Map;for(let e=1;u.length>e;e++)h.set(u[e],u[e-1]);const f=e=>{const t=h.get(e);return null!=t?(t+e)/2:null!=d?d:e};s();const g=[];let y=0,p=0;for(const e of i)if("out"===e.kind){const t=Math.abs(e.delta);let n=t-("top"===e.side?y:p);if(n>0){const t="top"===e.side?"bot":"top",o=Math.min(n,"top"===t?y:p);if(o>0){const r=f(e.time);g.push({time:r,delta:-o,kind:"transfer-out",side:t}),g.push({time:r,delta:+o,kind:"transfer-in",side:e.side}),"top"===t?y-=o:p-=o,"top"===e.side?y+=o:p+=o,n-=o}n>0&&null!==d&&(g.push({time:d,delta:+n,kind:"create",side:e.side}),"top"===e.side?y+=n:p+=n)}"top"===e.side?y-=t:p-=t}else if("in"===e.kind){const t=Math.abs(e.delta);"top"===e.side?y+=t:p+=t}i.push(...g),s();let m=0,v=0,b=0,x=0,k=0;const w=[],S=new Map;for(const e of i){if(w.push({t:e.time,topMass:m,botMass:v}),("in"===e.kind||"out"===e.kind)&&e.edge){const t="top"===e.side?m:v;S.set(e.edge.id,{side:e.side,time:e.time,sideMassBefore:t,sideMassAfter:t+e.delta,kind:e.kind,value:Math.abs(e.delta)})}"top"===e.side?m+=e.delta:v+=e.delta,m+v>b&&(b=m+v),m>x&&(x=m),v>k&&(k=v),w.push({t:e.time,topMass:m,botMass:v})}const M=[];let A=0;for(;w.length>A;){let e=A;for(;w.length>e+1&&w[e+1].t===w[A].t;)e++;M.push(w[A]);for(let t=A+1;e>=t;t++){const e=M[M.length-1];w[t].topMass===e.topMass&&w[t].botMass===e.botMass||M.push(w[t])}A=e+1}const j=Array.isArray(e.xExtent)&&Number.isFinite(e.xExtent[1])?e.xExtent[1]:null;let L=null;for(const e of r)null!=e.systemInTime&&Number.isFinite(e.systemInTime)&&e.startTime>e.systemInTime&&(null===L||L>e.systemInTime)&&(L=e.systemInTime);let C=null;for(const e of o)null!=e.systemOutTime&&Number.isFinite(e.systemOutTime)&&e.systemOutTime>e.endTime&&(null===C||e.systemOutTime>C)&&(C=e.systemOutTime);if(M.length>0){const e=M[M.length-1],t=Math.max(null!=j?j:-1/0,null!=C?C:-1/0);Number.isFinite(t)&&t>e.t&&e.topMass+e.botMass>0&&M.push({t:t,topMass:e.topMass,botMass:e.botMass});const n=M[0],o=Math.min(null!=c?c:1/0,null!=L?L:1/0);Number.isFinite(o)&&n.t>o&&n.topMass+n.botMass>0&&M.unshift({t:o,topMass:n.topMass,botMass:n.botMass})}return{samples:M,peak:b,topPeak:x,botPeak:k,localAttachments:S}}function Mr(e,t){return t?Math.max(t[0],Math.min(t[1],e)):e}function Ar(e,t){return e.map(e=>({t:Mr(e.t,t),topMass:e.topMass,botMass:e.botMass}))}function jr(e,t,n){const o=e.value*n;if("out"===e.kind){const r=e.sideMassBefore*n;if("top"===e.side){const e=t-r;return[e,e+o]}const i=t+r;return[i-o,i]}const r=e.sideMassAfter*n;if("top"===e.side){const e=t-r;return[e,e+o]}const i=t+r;return[i-o,i]}function Lr(e,t){let n=0;for(let o=0;t.length>o;o++)for(let r=o+1;t.length>r;r++){const i=t[o],a=t[r];i.source!==a.source&&i.target!==a.target&&i.source!==a.target&&i.target!==a.source&&(Math.min(i.endTime,a.endTime)>Math.max(i.startTime,a.startTime)&&e[a.source]>e[i.source]!=e[a.target]>e[i.target]&&n++)}return n}function Cr(e,t){let n=0;for(const o of t)n+=Math.abs(e[o.source]-e[o.target])*(o.value||1);return n}function Er(e,t){return 1e3*Lr(e,t)+Cr(e,t)}function Dr(e,t){return{slots:e.map(e=>({peak:Object.assign({},e.peak),occupants:e.occupants.slice()})),map:Object.assign({},t)}}function Or(e,t,n){e.length>8||n.length>40?(function(e,t,n,o=6){const r=e.length;if(1>=r)return;let i=Dr(e,t),a=Er(t,n);for(let s=0;o>s;s++){const o=Array(r).fill(0),s=Array(r).fill(0);for(const e of n){const n=t[e.source],r=t[e.target];o[n]+=r*(e.value||1),s[n]+=e.value||1,o[r]+=n*(e.value||1),s[r]+=e.value||1}const l=Array.from({length:r},(e,t)=>t).sort((e,t)=>(s[e]>0?o[e]/s[e]:e)-(s[t]>0?o[t]/s[t]:t)),c=l.map(t=>e[t]),d=new Map;l.forEach((e,t)=>d.set(e,t));for(const e of Object.keys(t))t[e]=d.get(t[e]);e.length=0;for(const t of c)e.push(t);const u=Er(t,n);if(a>u)a=u,i=Dr(e,t);else if(u===a)break}!function(e,t,n){e.length=0;for(const t of n.slots)e.push(t);for(const e of Object.keys(t))delete t[e];for(const e of Object.keys(n.map))t[e]=n.map[e]}(e,t,i)}(e,t,n,6),function(e,t,n,o=6){const r=e.length;if(1>=r)return;let i=Er(t,n);for(let a=0;o>a;a++){let o=!1;for(let a=0;r-1>a;a++){const r=e[a];e[a]=e[a+1],e[a+1]=r;for(const e of Object.keys(t))t[e]===a?t[e]=a+1:t[e]===a+1&&(t[e]=a);const s=Er(t,n);if(i>s)i=s,o=!0;else{const n=e[a];e[a]=e[a+1],e[a+1]=n;for(const e of Object.keys(t))t[e]===a?t[e]=a+1:t[e]===a+1&&(t[e]=a)}}if(!o)break}}(e,t,n,6)):function(e,t,n){const o=e.length;if(1>=o)return;const r=Object.assign({},t),i=Object.keys(r),a=Array.from({length:o},(e,t)=>t),s=a.slice(),l=Object.assign({},r);let c=a.slice(),d=1/0;const u=()=>{for(const e of i)l[e]=s[r[e]];const e=Er(l,n);d>e&&(d=e,c=a.slice())},h=(e,t)=>{const n=a[e],o=a[t];a[e]=o,a[t]=n,s[n]=t,s[o]=e};u();const f=Array(o).fill(0);let g=0;for(;o>g;)g>f[g]?(h(g%2==0?0:f[g],g),u(),f[g]++,g=0):(f[g]=0,g++);const y=c.map(t=>e[t]),p=new Map;c.forEach((e,t)=>p.set(e,t));for(const e of Object.keys(t))t[e]=p.get(t[e]);e.length=0;for(const t of y)e.push(t)}(e,t,n)}function Pr(e,t,n,o,r){var i,a,s,l,c,d,u,h;const{plotH:f,padding:g,valueScale:y,packing:p,laneOrder:m,lifetimeMode:v="full"}=r,b={},x={};for(const t of e)b[t.id]=n[t.id].topPeak||0,x[t.id]=n[t.id].botPeak||0;const k="half"===v,w={};for(const t of e){const e=Array.isArray(t.xExtent)?t.xExtent[0]:null,n=Array.isArray(t.xExtent)?t.xExtent[1]:null;let r=null!=e&&Number.isFinite(e)?e:1/0,i=null!=n&&Number.isFinite(n)?n:-1/0;for(const e of o.outgoing[t.id]){r>e.startTime&&(r=e.startTime),null!=e.systemInTime&&Number.isFinite(e.systemInTime)&&r>e.systemInTime&&(r=e.systemInTime);const t=k?(e.startTime+e.endTime)/2:e.endTime;t>i&&(i=t)}for(const e of o.incoming[t.id]){const t=k?(e.startTime+e.endTime)/2:e.startTime;r>t&&(r=t),e.endTime>i&&(i=e.endTime),null!=e.systemOutTime&&Number.isFinite(e.systemOutTime)&&e.systemOutTime>i&&(i=e.systemOutTime)}w[t.id]={start:Number.isFinite(r)?r:null,end:Number.isFinite(i)?i:null}}const S={},M=[];if("reuse"===p){const n=new Map;for(const t of e)n.set(t.id,0);const r=new Map;for(const t of e)r.set(t.id,0);for(const e of t)r.set(e.target,(null!==(i=r.get(e.target))&&void 0!==i?i:0)+1);const u=[];for(const t of e)0===(null!==(a=r.get(t.id))&&void 0!==a?a:0)&&u.push(t.id);for(;u.length;){const e=u.shift();for(const t of null!==(s=o.outgoing[e])&&void 0!==s?s:[]){const o=(null!==(l=n.get(e))&&void 0!==l?l:0)+1;o>(null!==(c=n.get(t.target))&&void 0!==c?c:0)&&n.set(t.target,o),r.set(t.target,r.get(t.target)-1),0===r.get(t.target)&&u.push(t.target)}}const h=[...e].filter(e=>null!==w[e.id].start).sort((e,t)=>{var o,r;const i=null!==(o=n.get(e.id))&&void 0!==o?o:0,a=null!==(r=n.get(t.id))&&void 0!==r?r:0;return i!==a?i-a:w[e.id].start-w[t.id].start}),f=e.filter(e=>null===w[e.id].start);for(const e of[...h,...f]){const t=w[e.id];let n=-1;for(let e=0;M.length>e;e++){const o=M[e].occupants[M[e].occupants.length-1];if(null===t.start||void 0===o||t.start>=o.end){n=e;break}}-1===n&&(M.push({occupants:[],peak:{topPeak:0,botPeak:0}}),n=M.length-1),M[n].occupants.push({id:e.id,end:null!==(d=null==t?void 0:t.end)&&void 0!==d?d:-1/0}),M[n].peak.topPeak=Math.max(M[n].peak.topPeak,b[e.id]),M[n].peak.botPeak=Math.max(M[n].peak.botPeak,x[e.id]),S[e.id]=n}}else e.forEach((e,t)=>{var n,o;M.push({occupants:[{id:e.id,end:null!==(o=null===(n=w[e.id])||void 0===n?void 0:n.end)&&void 0!==o?o:-1/0}],peak:{topPeak:b[e.id],botPeak:x[e.id]}}),S[e.id]=t});let A=null,j=null,L=null,C=null;const E=()=>{A=Lr(S,t),L=Cr(S,t)},D=()=>{j=Lr(S,t),C=Cr(S,t)};"crossing-min"===m?(E(),Or(M,S,t),D()):"inside-out"===m?(E(),function(e,t){const n=e.length;if(1>=n)return;const o=e=>e.peak.topPeak+e.peak.botPeak,r=e.map((e,t)=>({slot:e,idx:t})).sort((e,t)=>o(t.slot)-o(e.slot)),i=Array(n),a=Math.floor((n-1)/2);i[a]=r[0].idx;let s=a-1,l=a+1;for(let e=1;r.length>e;e++)e%2==1&&n>l||0>s?i[l++]=r[e].idx:i[s--]=r[e].idx;const c=i.map(t=>e[t]),d=new Map;i.forEach((e,t)=>d.set(e,t));for(const e of Object.keys(t))t[e]=d.get(t[e]);e.length=0;for(const t of c)e.push(t)}(M,S),D()):"crossing-min+inside-out"===m&&(E(),Or(M,S,t),function(e,t,n){const o=e.length;if(1>=o)return;const r=e.map(e=>{return{slot:e,size:(t=e,t.peak.topPeak+t.peak.botPeak)};var t}).sort((e,t)=>t.size-e.size),i=Math.floor((o-1)/2);let a=Er(t,n);for(const{slot:s}of r){const r=e.indexOf(s);if(0>r)continue;const l=i;if(r===l)continue;const c=e[r];e.splice(r,1),e.splice(l,0,c);const d=new Map;for(let e=0;o>e;e++)d.set(e,e);if(l>r){for(let e=r+1;l>=e;e++)d.set(e,e-1);d.set(r,l)}else{for(let e=l;r>e;e++)d.set(e,e+1);d.set(r,l)}for(const e of Object.keys(t))t[e]=d.get(t[e]);const u=Er(t,n);if(u>a){const n=e[l];e.splice(l,1),e.splice(r,0,n);const i=new Map;for(let e=0;o>e;e++)i.set(e,e);if(r>l){for(let e=l+1;r>=e;e++)i.set(e,e-1);i.set(l,r)}else{for(let e=r;l>e;e++)i.set(e,e+1);i.set(l,r)}for(const e of Object.keys(t))t[e]=i.get(t[e])}else a=u}}(M,S,t),D());const O=M.map(e=>{const t=new Map;for(const o of e.occupants){const e=n[o.id];if(e)for(const n of e.samples){const e=t.get(n.t)||{top:0,bot:0};t.set(n.t,{top:Math.max(e.top,n.topMass),bot:Math.max(e.bot,n.botMass)})}}return[...t.entries()].sort((e,t)=>e[0]-t[0])}),P=(e,t)=>{let n={top:0,bot:0};for(const[o,r]of e){if(o>t)break;n=r}return n},T=[];for(let e=0;M.length-1>e;e++){const t=O[e],n=O[e+1],o=new Set([...t.map(e=>e[0]),...n.map(e=>e[0])]);let r=0;for(const e of o){const o=P(t,e),i=P(n,e);o.bot+i.top>r&&(r=o.bot+i.top)}T.push(r)}const N=[];let I=g+(null!==(h=null===(u=M[0])||void 0===u?void 0:u.peak.topPeak)&&void 0!==h?h:0)*y;M.length>0&&N.push(I);for(let e=1;M.length>e;e++)I+=T[e-1]*y+g,N.push(I);if(M.length>0&&(I+=M[M.length-1].peak.botPeak*y+g),I>f){const e=f/I;for(let t=0;N.length>t;t++)N[t]*=e}const _=0===M.length?0:M[0].peak.topPeak+T.reduce((e,t)=>e+t,0)+M[M.length-1].peak.botPeak,W={};for(const t of e)W[t.id]=N[S[t.id]];return{effectiveSlotsHeight:_,centerlines:W,laneLifetime:w,slots:M,slotByNode:S,slotCenter:N,crossingsBefore:A,crossingsAfter:j,lengthBefore:L,lengthAfter:C}}xr.displayName="OrbitDiagram";const Tr=e=>{var t,n;const{bands:o=[],ribbons:r=[],showLabels:i=!0}=e.config,a=[];for(const e of r)a.push(Object.assign(Object.assign({type:"bezier",pathD:e.pathD},e.bezier&&{bezierCache:e.bezier}),{style:{fill:e.fill,opacity:e.opacity,stroke:"none"},datum:{__kind:"ribbon",data:e.rawDatum,id:e.id}}));for(const e of o)if(e.gradientStubs)for(let t=0;e.gradientStubs.length>t;t++){const n=e.gradientStubs[t];a.push({type:"bezier",pathD:n.pathD,interactive:!1,style:{fill:e.fill,fillOpacity:.86,stroke:"none"},_gradient:{x0:n.x0,x1:n.x1,from:n.from,to:n.to},datum:{__kind:"band",data:e.rawDatum,id:`${e.id}__stub${t}`}})}for(const e of o)a.push({type:"bezier",pathD:e.pathD,style:Object.assign(Object.assign({},e.gradientStubs&&e.gradientStubs.length>0?{fill:"none"}:{fill:e.fill,fillOpacity:.86}),{stroke:null!==(t=e.stroke)&&void 0!==t?t:e.fill,strokeWidth:null!==(n=e.strokeWidth)&&void 0!==n?n:.5}),datum:{__kind:"band",data:e.rawDatum,id:e.id}});const s=i?o.map(e=>({x:e.labelX,y:e.labelY,text:e.labelText,anchor:"end",baseline:"middle",fontSize:11,fontWeight:600})):[];return{sceneNodes:o.map(e=>({type:"circle",id:e.id,cx:-1e4,cy:-1e4,r:0,style:{fill:e.fill},datum:{__kind:"band",data:e.rawDatum,id:e.id}})),sceneEdges:a,labels:s}};function Nr(e){return"object"==typeof e&&null!==e&&"__kind"in e&&("band"===e.__kind||"ribbon"===e.__kind)}function Ir(e){return null==e?NaN:e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function _r(e,t){return"function"==typeof e?e(t):t[e]}const Wr=t.forwardRef(function(n,o){const{nodes:r,edges:a,domain:s,axisTicks:l=[],nodeIdAccessor:c="id",sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",startTimeAccessor:f="startTime",endTimeAccessor:g="endTime",systemInTimeAccessor:y,systemOutTimeAccessor:p,xExtentAccessor:m="xExtent",edgeIdAccessor:v="id",colorBy:b,colorScheme:x,showLegend:k,legendPosition:w="right",pairing:S="temporal",packing:M="reuse",laneOrder:A="crossing-min",ribbonLane:j="both",lifetimeMode:L="half",showLaneRails:C=!1,showQualityReadout:E=!1,showLabels:D=!0,width:O=600,height:P=400,margin:T,title:N,description:I,summary:_,accessibleTable:W,responsiveWidth:R,responsiveHeight:$,loading:B,loadingContent:z,emptyContent:H,edgeOpacity:F=.35,timeFormat:Y,valueFormat:X,tooltip:G,enableHover:q=!0,onObservation:V,onClick:K,showParticles:Z=!1,particleStyle:U,chartId:Q,frameProps:J={}}=n,[ee,te]=t.useState([]),[ne,oe]=t.useState([]),re=t.useRef(ee),ie=t.useRef(ne);re.current=ee,ie.current=ne;const ae=t.useCallback(e=>{re.current=e,te(e)},[]),se=t.useCallback(e=>{ie.current=e,oe(e)},[]),le=void 0!==a,ce=ho(le?a:ee),de=t.useMemo(()=>{const e=ho(null!=r?r:[]),t=ne;if(0===e.length&&0===t.length)return Jo([],ce,d,u);const n=new Set,o=[];for(const t of e){const e=_r(c,t)+"";n.has(e)||(n.add(e),o.push(t))}for(const e of t){const t=_r(c,e)+"";n.has(t)||(n.add(t),o.push(e))}const i=Jo([],ce,d,u);for(const e of i)n.has(e.id)||(n.add(e.id),o.push(e));return o},[r,ne,ce,c,d,u]),ue=t.useRef(null),he=t.useCallback((e,t)=>{const n=_r(v,e);return null!=n?n+"":`${_r(d,e)}-${_r(u,e)}-${t}`},[v,d,u]),fe=t.useCallback(e=>{if(null==e)return!1;const t=e;return null!=_r(d,t)&&null!=_r(u,t)},[d,u]);Co(o,{variant:"network",frameRef:ue,overrides:{push(e){if(fe(e)){if(le)return void console.warn("ProcessSankey.push: edge ignored — `edges` prop is controlled.");ae([...re.current,e])}else se([...ie.current,e])},pushMany(e){const t=[],n=[];for(const o of e)fe(o)?t.push(o):n.push(o);t.length>0&&(le?console.warn("ProcessSankey.pushMany: edges ignored — `edges` prop is controlled."):ae([...re.current,...t])),n.length>0&&se([...ie.current,...n])},remove(e){const t=new Set(Array.isArray(e)?e:[e]),n=[];if(!le){const e=re.current,o=[];for(let r=0;e.length>r;r++){const i=e[r];t.has(he(i,r))?n.push(i):o.push(i)}o.length!==e.length&&ae(o)}const o=ie.current,r=[];for(const e of o){const o=_r(c,e)+"";t.has(o)?n.push(e):r.push(e)}return r.length!==o.length&&se(r),n},update(e,t){const n=new Set(Array.isArray(e)?e:[e]),o=[];if(!le){let e=!1;const r=re.current.map((r,i)=>n.has(he(r,i))?(o.push(r),e=!0,t(r)):r);e&&ae(r)}let r=!1;const i=ie.current.map(e=>{const i=_r(c,e)+"";return n.has(i)?(o.push(e),r=!0,t(e)):e});return r&&se(i),o},clear(){var e;le||ae([]),se([]),null===(e=ue.current)||void 0===e||e.clear()},getData:()=>null!=ce?ce:[],getScales:()=>null},deps:[le,fe,he,c,ce,ae,se]});const ye=he,pe=t.useCallback(e=>_r(c,e)+"",[c]),{nodes:me,edges:ve,domain:be,rawNodeById:xe,rawEdgeById:ke}=t.useMemo(()=>{const e=(null!=de?de:[]).map(e=>{const t={id:pe(e),__raw:e},n=m?_r(m,e):null;if(Array.isArray(n)&&2===n.length){const e=Ir(n[0]),o=Ir(n[1]);Number.isFinite(e)&&Number.isFinite(o)&&(t.xExtent=[e,o])}return t}),t=(null!=ce?ce:[]).map((e,t)=>{const n={id:ye(e,t),source:_r(d,e)+"",target:_r(u,e)+"",value:Number(_r(h,e)),startTime:Ir(_r(f,e)),endTime:Ir(_r(g,e)),__raw:e};if(y){const t=Ir(_r(y,e));Number.isFinite(t)&&(n.systemInTime=t)}if(p){const t=Ir(_r(p,e));Number.isFinite(t)&&(n.systemOutTime=t)}return n}),n=[Ir(s[0]),Ir(s[1])],o=new Map;for(const t of e)null!=t.__raw&&o.set(t.id,t.__raw);const r=new Map;for(const e of t)null!=e.__raw&&r.set(e.id,e.__raw);return{nodes:e,edges:t,domain:n,rawNodeById:o,rawEdgeById:r}},[de,ce,s,pe,ye,m,d,u,h,f,g,y,p]),we=sr({nodes:de,edges:ce,inferNodes:!1,sourceAccessor:d,targetAccessor:u,colorBy:b,colorScheme:x,showLegend:!1,legendPosition:w,selection:void 0,linkedHover:void 0,onObservation:V,onClick:K,chartType:"ProcessSankey",chartId:Q,marginDefaults:{top:30,right:80,bottom:40,left:80},userMargin:T,width:O,height:P,loading:B,loadingContent:z,emptyContent:H}),Se=(null!=k?k:!!b)&&!!b,Me=t.useCallback(e=>null!=T&&("number"==typeof T||null!=T[e]),[T]),Ae=t.useMemo(()=>{const e=Object.assign({},we.margin);return Se&&("right"===w&&!Me("right")&&140>e.right?e.right=140:"bottom"===w&&!Me("bottom")&&80>e.bottom&&(e.bottom=80)),e},[we.margin,Se,w,Me]),je=O-Ae.left-Ae.right,Le=P-Ae.top-Ae.bottom,Ce=t.useMemo(()=>kr(me,ve,be),[me,ve,be]),Ee=t.useMemo(()=>Ce.length>0?null:function(e,t,n){var o;const{plotH:r,pairing:i="temporal",packing:a="reuse",laneOrder:s="crossing-min",lifetimeMode:l="half"}=n,c=function(e,t){const n={},o={};for(const t of e)n[t.id]=[],o[t.id]=[];for(const e of t)o[e.source]&&o[e.source].push(e),n[e.target]&&n[e.target].push(e);return{incoming:n,outgoing:o}}(e,t),d=function(e,t,n,o="value"){const r="temporal"===o?(e,t)=>e.endTime-t.endTime:(e,t)=>t.value-e.value,i="temporal"===o?(e,t)=>e.startTime-t.startTime:(e,t)=>t.value-e.value,a=new Map;for(const e of t)a.set(e.id,{});const s=(e,t)=>{const n=new Map;for(const o of e){const e=o[t];n.has(e)||n.set(e,{partner:e,edges:[],total:0,earliestStart:1/0,latestEnd:-1/0});const r=n.get(e);r.edges.push(o),r.total+=o.value,r.earliestStart=Math.min(r.earliestStart,o.startTime),r.latestEnd=Math.max(r.latestEnd,o.endTime)}const a=[...n.values()];a.sort("temporal"===o?(e,n)=>"target"===t?e.earliestStart-n.earliestStart:e.latestEnd-n.latestEnd:(e,t)=>t.total-e.total);for(const e of a)e.edges.sort("target"===t?i:r);return a};for(const t of e){const e=n.outgoing[t.id],o=n.incoming[t.id];if(0===o.length)s(e,"target").forEach((e,t)=>{const n=t%2==0?"top":"bot";for(const t of e.edges)a.get(t.id).sourceSide=n});else if(0===e.length)s(o,"source").forEach((e,t)=>{const n=t%2==0?"top":"bot";for(const t of e.edges)a.get(t.id).targetSide=n});else{const t=s(o,"source"),n=s(e,"target"),r=Math.max(t.length,n.length);for(let e=0;r>e;e++){const o=e%2==0?"top":"bot";if(t[e])for(const n of t[e].edges)a.get(n.id).targetSide=o;if(n[e])for(const t of n[e].edges)a.get(t.id).sourceSide=o}}}return a}(e,t,c,i);let u={};for(const t of e)u[t.id]=Sr(t,c,d);const h=Pr(e,t,u,c,{plotH:r,padding:12,valueScale:1,packing:a,laneOrder:s,lifetimeMode:l}),f=new Set;for(const e of t){const t=h.slotByNode[e.source],n=h.slotByNode[e.target];if(void 0===t||void 0===n)continue;const o=d.get(e.id);t!==n?t>n?(o.sourceSide="top",o.targetSide="bot"):(o.sourceSide="bot",o.targetSide="top"):(f.add(e.id),o.sourceSide="bot",o.targetSide="bot")}for(const t of e){const e=c.outgoing[t.id],n=c.incoming[t.id],o=new Set(e.map(e=>d.get(e.id).sourceSide)),r=new Set(n.map(e=>d.get(e.id).targetSide));if(1===o.size&&n.length>0){const e=[...o][0];for(const t of n)h.slotByNode[t.source]===h.slotByNode[t.target]&&(d.get(t.id).targetSide=e)}if(1===r.size&&e.length>0){const t=[...r][0];for(const n of e)h.slotByNode[n.source]===h.slotByNode[n.target]&&(d.get(n.id).sourceSide=t)}}for(const t of e){const e=c.incoming[t.id],n=c.outgoing[t.id];if(0===e.length||0===n.length)continue;const o=()=>{const t={inTop:0,inBot:0,outTop:0,outBot:0};for(const n of e)"top"===d.get(n.id).targetSide?t.inTop+=n.value:t.inBot+=n.value;for(const e of n)"top"===d.get(e.id).sourceSide?t.outTop+=e.value:t.outBot+=e.value;return t},r=(e,t)=>{const r=o(),i="top"===e?r.outTop-r.inTop:r.outBot-r.inBot,a="top"===t?r.inTop-r.outTop:r.inBot-r.outBot;if(0>=i||0>=a)return!1;const s=Math.min(i,a),l=n.filter(t=>!f.has(t.id)&&d.get(t.id).sourceSide===e&&s>=t.value).sort((e,t)=>t.value-e.value);return 0!==l.length&&(d.get(l[0].id).sourceSide=t,!0)};let i=n.length+1;for(;i-- >0&&(r("top","bot")||r("bot","top")););}u={};for(const t of e)u[t.id]=Sr(t,c,d);const g=Pr(e,t,u,c,{plotH:r,padding:12,valueScale:1,packing:a,laneOrder:s,lifetimeMode:l}),y=null!==(o=g.effectiveSlotsHeight)&&void 0!==o?o:g.slots.reduce((e,t)=>e+t.peak.topPeak+t.peak.botPeak,0),p=Math.min(12,.35*r/Math.max(g.slots.length+1,1)),m=y>0?Math.max(0,(r-p*(g.slots.length+1))/y):1,v=Pr(e,t,u,c,{plotH:r,padding:p,valueScale:m,packing:a,laneOrder:s,lifetimeMode:l});return{nodeData:u,sides:d,valueScale:m,padding:p,compressedPadding:12>p,centerlines:v.centerlines,laneLifetime:v.laneLifetime,slots:v.slots,slotByNode:v.slotByNode,crossingsBefore:v.crossingsBefore,crossingsAfter:v.crossingsAfter,lengthBefore:v.lengthBefore,lengthAfter:v.lengthAfter}}(me,ve,{plotH:Le,pairing:S,packing:M,laneOrder:A,lifetimeMode:L}),[Ce,me,ve,Le,S,M,A,L]),De=t.useMemo(()=>i.scaleTime().domain(be).range([0,je]),[be,je]),Oe=t.useCallback((e,t)=>{if(b&&de){const t=xe.get(e);if(t)return Ze(t,b,we.colorScale)}return we.effectivePalette[t%we.effectivePalette.length]||"#475569"},[b,de,xe,we.colorScale,we.effectivePalette]),Pe=t.useMemo(()=>{const e=new Map;return me.forEach((t,n)=>e.set(t.id,n)),e},[me]),Te=t.useMemo(()=>{if(!Ee)return{bands:[],ribbons:[]};const{centerlines:e,nodeData:t,valueScale:n}=Ee,o=[],r=[];return me.forEach((r,i)=>{var a;const s=t[r.id];if(!s||0===s.samples.length)return;const l=function(e,t,n,o,r){if(0===e.length)return null;const i=Ar(e,r),a=e=>t-i[e].topMass*n,s=e=>t+i[e].botMass*n;let l=`M${o(i[0].t)},${a(0)}`;for(let e=1;i.length>e;e++)l+=` L${o(i[e].t)},${a(e)}`;l+=` L${o(i[i.length-1].t)},${s(i.length-1)}`;for(let e=i.length-2;e>=0;e--)l+=` L${o(i[e].t)},${s(e)}`;return l+" Z"}(s.samples,e[r.id],n,De,be);if(!l)return;const c=Ar(s.samples,be),d=c.find(e=>e.topMass+e.botMass>0)||c[0],u=e[r.id]+(d.botMass-d.topMass)*n/2,h=Oe(r.id,i),f=null!==(a=xe.get(r.id))&&void 0!==a?a:r,g=function(e,t,n,o,r){const i=n.nodeData[e];if(!i||0===i.samples.length)return[];const a=n.valueScale,s=n.centerlines[e],l=Ar(i.samples,r),c=l.find(e=>e.topMass+e.botMass>0)||l[0],d=[...l].reverse().find(e=>e.topMass+e.botMass>0)||l[l.length-1],u=o(c.t),h=o(d.t),f=e=>o(Mr(e,r)),g=[],y=(e,t,n,o)=>`M${e},${t} L${n},${t} L${n},${o} L${e},${o} Z`;for(const n of t){if(n.source===e&&null!=n.systemInTime&&Number.isFinite(n.systemInTime)){const e=i.localAttachments.get(n.id);if(e&&"out"===e.kind&&n.startTime>n.systemInTime){const t=f(n.systemInTime),o=f(n.startTime),r=t-20,i=Math.max(u,r);if(o>i){const[n,l]=jr(e,s,a);g.push({pathD:y(i,n,o,l),x0:r,x1:t,from:0,to:1})}}}if(n.target===e&&null!=n.systemOutTime&&Number.isFinite(n.systemOutTime)){const e=i.localAttachments.get(n.id);if(e&&"in"===e.kind&&n.systemOutTime>n.endTime){const t=f(n.systemOutTime),o=f(n.endTime),r=t+20,i=Math.min(h,r);if(i>o){const[n,l]=jr(e,s,a);g.push({pathD:y(o,n,i,l),x0:t,x1:r,from:1,to:0})}}}}return g}(r.id,ve,Ee,De,be);o.push(Object.assign(Object.assign({id:r.id,pathD:l,fill:h,stroke:h,strokeWidth:.5},g.length>0&&{gradientStubs:g}),{rawDatum:f,labelX:De(d.t)-4,labelY:u,labelText:r.id}))}),ve.forEach(o=>{var i,a,s,l;const c=null===(i=t[o.source])||void 0===i?void 0:i.localAttachments.get(o.id),d=null===(a=t[o.target])||void 0===a?void 0:a.localAttachments.get(o.id);if(!c||!d)return;const u=null!==(s=Pe.get(o.source))&&void 0!==s?s:0,h=Oe(o.source,u),f=function(e,t,n,o,r,i,a,s){const l=r,c=e=>s?Math.max(s[0],Math.min(s[1],e)):e,d=i(c(e.time)),u=i(c(n.time)),h=e.value*l,f=n.value*l,g=e.sideMassBefore*l,y=n.sideMassAfter*l;let p,m,v,b;"top"===e.side?(p=t-g,m=p+h):(m=t+g,p=m-h),"top"===n.side?(v=o-y,b=v+f):(b=o+y,v=b-f);const x="source"===a?d+.85*(u-d):"target"===a?d+.15*(u-d):(d+u)/2;return{sx:d,sTop:p,sBot:m,tx:u,tTop:v,tBot:b,cp1X:x,cp2X:x}}(c,e[o.source],d,e[o.target],n,De,j,be),{pathD:g,bezier:y}=ge(f),p=null!==(l=ke.get(o.id))&&void 0!==l?l:o;r.push({id:o.id,pathD:g,fill:h,opacity:F,rawDatum:p,bezier:y})}),{bands:o,ribbons:r}},[Ee,me,ve,De,be,Oe,xe,ke,j,F,Pe]),Ne=t.useMemo(()=>({bands:Te.bands,ribbons:Te.ribbons,showLabels:D}),[Te,D]),Ie=t.useMemo(()=>{if(!Se||!b)return;const e=new Map;(null!=de?de:[]).forEach((t,n)=>{const o=_r(b,t),r=null==o?"":o+"";r&&!e.has(r)&&e.set(r,{label:r,color:Oe(pe(t),n)})});const t=Array.from(e.values());return 0!==t.length?{legendGroups:[{type:"fill",label:"",items:t,styleFn:e=>{const t=e.color||"#333";return{fill:t,stroke:t}}}]}:void 0},[Se,b,de,Oe,pe]),_e=t.useMemo(()=>!1!==G&&q?void 0===G||!0===G?null:St(G)||null:null,[G,q]),We=t.useCallback(e=>Y?Y(new Date(e)):Number.isFinite(e)?1e10>Math.abs(e)?Number.isInteger(e)?e+"":e.toFixed(2):new Date(e).toISOString().slice(0,10):"",[Y]),Re=t.useCallback(e=>X?X(e):e+"",[X]),$e=t.useCallback(t=>{if(!t||!t.data)return null;const n=t.data;if(!Nr(n))return null;const o=n.data;if(_e)return _e(o);if("band"===n.__kind){const t=n.id,o=Ee?function(e){if(!e)return[];const t=new Set,n=[];for(const o of e.samples){const e=o.topMass+o.botMass,r=`${o.t}:${e}`;t.has(r)||(t.add(r),n.push({t:o.t,total:e}))}return n}(Ee.nodeData[t]):[],r=5,i=o.length>r?o.length:null,a=function(e,t=5){if(t>=e.length)return e.slice();const n=[...e].sort((e,t)=>e.total-t.total),o=n.length-1,r=[Object.assign(Object.assign({},n[0]),{mark:"min"}),Object.assign(Object.assign({},n[Math.floor(.25*o)]),{mark:"q25"}),Object.assign(Object.assign({},n[Math.floor(.5*o)]),{mark:"median"}),Object.assign(Object.assign({},n[Math.floor(.75*o)]),{mark:"q75"}),Object.assign(Object.assign({},n[o]),{mark:"max"})],i=new Set,a=[];for(const e of r)i.has(e.t)||(i.add(e.t),a.push(e));return a.sort((e,t)=>e.t-t.t)}(o,r);return e.jsxs("div",{style:{minWidth:160},children:[e.jsx("div",{style:{fontWeight:600,marginBottom:4},children:t}),a.length>0&&e.jsxs("table",{style:{borderCollapse:"collapse",fontSize:11,width:"100%"},children:[e.jsx("thead",{children:e.jsxs("tr",{style:{opacity:.6},children:[e.jsx("th",{style:{textAlign:"left",fontWeight:500,paddingRight:8},children:"Time"}),e.jsx("th",{style:{textAlign:"right",fontWeight:500},children:"Mass"}),null!=i&&e.jsx("th",{})]})}),e.jsx("tbody",{children:a.map((t,n)=>e.jsxs("tr",{children:[e.jsx("td",{style:{paddingRight:8},children:We(t.t)}),e.jsx("td",{style:{textAlign:"right"},children:Re(t.total)}),null!=i&&e.jsx("td",{style:{textAlign:"right",paddingLeft:8,opacity:.55},children:t.mark})]},n))})]}),null!=i&&e.jsxs("div",{style:{marginTop:4,fontSize:10,opacity:.55},children:["showing ",a.length," of ",i," samples"]})]})}const r=o,i=_r(d,r),a=_r(u,r),s=_r(h,r),l=_r(f,r),c=_r(g,r);return e.jsxs("div",{style:{minWidth:160},children:[e.jsxs("div",{style:{fontWeight:600,marginBottom:4},children:[i+""," → ",a+""]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",columnGap:8,fontSize:11},children:[null!=s&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"value"}),e.jsx("span",{style:{textAlign:"right"},children:Re(Number(s))})]}),null!=l&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"start"}),e.jsx("span",{style:{textAlign:"right"},children:We(Ir(l))})]}),null!=c&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"end"}),e.jsx("span",{style:{textAlign:"right"},children:We(Ir(c))})]})]})]})},[Ee,_e,We,Re,d,u,h,f,g]),Be=t.useMemo(()=>{if(!Ee)return null;const{centerlines:t,laneLifetime:n,nodeData:o,valueScale:r,compressedPadding:i,crossingsBefore:a,crossingsAfter:s,lengthBefore:c,lengthAfter:d}=Ee;let u=null,h=null;for(const e of me){const t=n[e.id];if(!t||null===t.start||null===t.end)continue;const o=De(t.start),r=De(t.end);(null===u||u>o)&&(u=o),(null===h||r>h)&&(h=r)}const f=e=>Math.max(0,Math.min(je,e)),g=f(null!=u?u:0),y=Math.max(g,f(null!=h?h:je));return e.jsxs("g",{children:[E&&null!==(null!=s?s:null)&&e.jsxs("text",{x:je,y:-12,fontSize:10,fill:"#94a3b8",textAnchor:"end",children:["crossings: ",a," → ",s," ","edge length: ",Math.round(c)," → ",Math.round(d)]}),i&&e.jsx("text",{x:je,y:2,fontSize:10,fill:"#94a3b8",textAnchor:"end",children:"dense layout: lane gaps compressed"}),l.map((t,n)=>{const o=De(Ir(t.date));return g-.5>o||o>y+.5?null:e.jsx("line",{x1:o,y1:0,x2:o,y2:Le,stroke:"#94a3b8",strokeOpacity:.15,strokeDasharray:"2 4"},"grid-"+n)}),C&&me.map((i,a)=>{const s=n[i.id];if(!s||null===s.start)return null;const l=o[i.id],c=l?{topPeak:l.topPeak,botPeak:l.botPeak}:{topPeak:0,botPeak:0},d=t[i.id]+(c.botPeak-c.topPeak)*r/2,u=De(s.start),h=De(s.end),f=Oe(i.id,a);return e.jsxs("g",{children:[e.jsx("line",{x1:u,y1:d,x2:h,y2:d,stroke:f,strokeOpacity:.35,strokeWidth:1,strokeDasharray:"3 3"}),e.jsx("line",{x1:u,y1:d-4,x2:u,y2:d+4,stroke:f,strokeOpacity:.5}),e.jsx("line",{x1:h,y1:d-4,x2:h,y2:d+4,stroke:f,strokeOpacity:.5})]},"lane-"+i.id)}),e.jsx("line",{x1:g,y1:Le+4,x2:y,y2:Le+4,stroke:"#94a3b8"}),l.map((t,n)=>{const o=Ir(t.date),r=De(o);if(g-.5>r||r>y+.5)return null;const i=null!=t.label?t.label:Y?Y(new Date(o)):"";return e.jsxs("g",{transform:`translate(${r},${Le+4})`,children:[e.jsx("line",{y2:6,stroke:"#94a3b8"}),e.jsx("text",{y:20,textAnchor:"middle",fontSize:11,fill:"#475569",children:i})]},n)})]})},[Ee,l,De,je,Le,C,me,Oe,E,Y]),ze=t.useMemo(()=>(null!=de?de:[]).map(e=>({id:pe(e),data:e})),[de,pe]),He=t.useMemo(()=>{const e=new Map;for(const t of Te.ribbons)t.bezier&&e.set(t.id,t.bezier);return e},[Te]),Fe=t.useMemo(()=>(null!=ce?ce:[]).map((e,t)=>{const n=ye(e,t),o=Number(_r(h,e));return{id:n,source:_r(d,e)+"",target:_r(u,e)+"",value:Number.isFinite(o)?o:0,bezier:He.get(n),data:e}}),[ce,ye,d,u,h,He]),Ye=we.loadingEl,Xe=we.emptyEl;return Ce.length>0?e.jsxs("svg",{width:O,height:P,role:"img","aria-label":null!=N?N:"Process Sankey validation failed",children:[e.jsx("text",{x:20,y:30,fontSize:13,fontWeight:600,fill:"var(--semiotic-danger, #dc2626)",children:"ProcessSankey: data invalid"}),Ce.map((t,n)=>e.jsx("text",{x:20,y:56+18*n,fontSize:12,fill:"#64748b",children:"• "+wr(t)},n))]}):Ye||Xe||e.jsx(Lo,Object.assign({ref:ue,chartType:"force",nodes:ze,edges:Fe,customNetworkLayout:Tr,layoutConfig:Ne,size:[O,P],responsiveWidth:R,responsiveHeight:$,margin:Ae,title:N,description:null!=I?I:"Temporal process flow with lifetime-bounded node lanes, mass bands, and value-scaled ribbons.",summary:_,accessibleTable:W,enableHover:q,tooltipContent:!1===G?()=>null:$e,backgroundGraphics:Be,showParticles:Z,particleStyle:U,legend:Ie,legendPosition:w,onObservation:V,customClickBehavior:K?e=>{if(!e||!e.data)return;const t=e.data;Nr(t)&&K(t.data,{x:e.x,y:e.y})}:void 0,chartId:Q,colorScheme:Array.isArray(x)?x:void 0},J))});Wr.displayName="ProcessSankey";const Rr=t.forwardRef(function(n,o){const{nodes:r,edges:i,layout:a,layoutConfig:s,nodeIDAccessor:l="id",sourceAccessor:c="source",targetAccessor:d="target",margin:u,className:h,colorScheme:f,frameProps:g={}}=n,{frameRef:y,resolved:p,normalizedMargin:m}=function(e){const n=t.useRef(null);return Co(e.imperativeRef,{variant:e.imperativeVariant,frameRef:n}),{frameRef:n,resolved:Zo(e.mode,{width:e.width,height:e.height,showGrid:e.showGrid,enableHover:e.enableHover,showLegend:e.showLegend,title:e.title,xLabel:e.xLabel,yLabel:e.yLabel}),normalizedMargin:t.useMemo(()=>function(e){if(null==e)return;if("number"==typeof e)return{top:e,right:e,bottom:e,left:e};const t={};return"number"==typeof e.top&&(t.top=e.top),"number"==typeof e.right&&(t.right=e.right),"number"==typeof e.bottom&&(t.bottom=e.bottom),"number"==typeof e.left&&(t.left=e.left),t}(e.margin),[e.margin])}}({imperativeRef:o,imperativeVariant:"network",margin:u,width:n.width,height:n.height,enableHover:n.enableHover,title:n.title,mode:n.mode}),v=t.useMemo(()=>ho(null!=r?r:[]),[r]),b=t.useMemo(()=>ho(null!=i?i:[]),[i]),{width:x,height:k,enableHover:w,title:S,description:M,summary:A,accessibleTable:j}=p,L=Object.assign(Object.assign(Object.assign(Object.assign({chartType:"force"},null!=r&&{nodes:v}),null!=i&&{edges:b}),{customNetworkLayout:a,layoutConfig:s,nodeIDAccessor:l,sourceAccessor:c,targetAccessor:d,colorScheme:f,size:[x,k],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:m,className:h,title:S,description:M,summary:A,accessibleTable:j,enableHover:w}),g);return e.jsx(rr,{componentName:"NetworkCustomChart",width:x,height:k,children:e.jsx(Lo,Object.assign({ref:y},L))})});Rr.displayName="NetworkCustomChart",exports.ChordDiagram=yr,exports.CirclePack=vr,exports.ForceDirectedGraph=fr,exports.NetworkCustomChart=Rr,exports.OrbitDiagram=xr,exports.ProcessSankey=Wr,exports.SankeyDiagram=gr,exports.StreamNetworkFrame=Lo,exports.TreeDiagram=pr,exports.Treemap=mr,exports.formatProcessSankeyIssue=wr,exports.validateProcessSankey=kr;
2
+ "use strict";const e=require("react/jsx-runtime"),t=require("react"),n=require("d3-interpolate"),o=require("d3-array"),r=require("d3-force"),i=require("d3-scale"),a=require("d3-chord"),s=require("d3-shape"),l=require("d3-hierarchy"),c=require("d3-quadtree");function d(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const u=d(t);function h(e){return Array.isArray(e)?e[0]:e}function f(e,t,n,o){return Object.assign({data:h(e),x:t,y:n,__semioticHoverData:!0},o)}const g={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},y={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};function p(e){return[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)]}function m(e,t,n){const o=e=>e.toString(16).padStart(2,"0");return`#${o(e)}${o(t)}${o(n)}`}function v(e){const t=e.map(p),n=t.length-1;return e=>{if(0>=e){const[e,n,o]=t[0];return m(e,n,o)}if(e>=1){const[e,o,r]=t[n];return m(e,o,r)}const o=e*n,r=Math.floor(o),i=o-r,[a,s,l]=t[r],[c,d,u]=t[r+1];return m(Math.round(a+(c-a)*i),Math.round(s+(d-s)*i),Math.round(l+(u-l)*i))}}const b=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],x=v(["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]),k=v(["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]),w=v(["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]),S=v(["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]),M=v(["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]);v(["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]);const A=v(["#440154","#482878","#3e4989","#31688e","#26828e","#1f9e89","#35b779","#6ece58","#b5de2b","#fde725"]),j=v(["#0d0887","#41049d","#6a00a8","#8f0da4","#b12a90","#cb4679","#e16462","#f1844b","#fca636","#fcce25","#f0f921"]);v(["#000004","#160b39","#420a68","#6a176e","#932667","#bc3754","#dd513a","#f3771a","#fca50a","#f6d746","#fcffa4"]),v(["#000004","#140e36","#3b0f70","#641a80","#8c2981","#b73779","#de4968","#f7705c","#fe9f6d","#fecf92","#fcfdbf"]),v(["#00224e","#123570","#3b496c","#575d6d","#707173","#8a8678","#a59c74","#c3b369","#e1cc55","#fee838","#ffea46"]),v(["#23171b","#4a58dd","#3f9ee9","#46c7af","#7eed5a","#cdf134","#fbb91f","#f56918","#c52f06","#7a0403"]),v(["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]),v(["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]),v(["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]),v(["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]),v(["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]),v(["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]),v(["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]);class L{constructor(e){this.capacity=e,this.particles=Array(e),this._freeIndices=Array(e);for(let t=0;e>t;t++)this.particles[t]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices[t]=e-1-t}spawn(e){const t=this._freeIndices.pop();if(void 0===t)return null;const n=this.particles[t];return n.active=!0,n.t=0,n.offset=Math.random()-.5,n.edgeIndex=e,n.x=0,n.y=0,n}step(e,t,n,o){var r;for(let i=0;this.capacity>i;i++){const a=this.particles[i];if(!a.active)continue;const s=n[a.edgeIndex];if(!s||!s.bezier){a.active=!1,this._freeIndices.push(i);continue}const l=o&&null!==(r=o[a.edgeIndex])&&void 0!==r?r:1;a.t+=e*t*l*(s.bezier.circular?.3:1),1>a.t?C(s.bezier,a.t,a.offset,a):(a.active=!1,this._freeIndices.push(i))}}countForEdge(e){let t=0;for(let n=0;this.capacity>n;n++)this.particles[n].active&&this.particles[n].edgeIndex===e&&t++;return t}clear(){for(let e=0;this.capacity>e;e++)this.particles[e].active=!1;this._freeIndices.length=0;for(let e=this.capacity-1;e>=0;e--)this._freeIndices.push(e)}resize(e){if(this.capacity>=e)return;const t=this.particles;this.particles=Array(e);for(let n=0;e>n;n++)t.length>n?this.particles[n]=t[n]:(this.particles[n]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices.push(n));this.capacity=e}}function C(e,t,n,o){if(e.circular&&e.segments)return void function(e,t,n,o,r){const i=e.length,a=t*i,s=Math.min(Math.floor(a),i-1),l=a-s,[c,d,u,h]=e[s];E(c,d,u,h,l,r);const f=h.x-c.x,g=h.y-c.y,y=Math.sqrt(f*f+g*g);if(y>.001){const e=f/y;r.x+=-g/y*n*o*2,r.y+=e*n*o*2}}(e.segments,t,n,e.halfWidth,o);if(!e.points)return o.x=0,void(o.y=0);const[r,i,a,s]=e.points;E(r,i,a,s,t,o);const l=s.x-r.x,c=s.y-r.y,d=Math.sqrt(l*l+c*c);if(d>.001){const t=l/d;o.x+=-c/d*n*e.halfWidth*2,o.y+=t*n*e.halfWidth*2}}function E(e,t,n,o,r,i){const a=1-r,s=a*a,l=s*a,c=r*r,d=c*r;i.x=l*e.x+3*s*r*t.x+3*a*c*n.x+d*o.x,i.y=l*e.y+3*s*r*t.y+3*a*c*n.y+d*o.y}function D(e,t){var n=e.get(t);if(!n)throw Error("missing: "+t);return n}function O(e,t){var n,o=[],r=[],i=[],a={},s=[];function l(e){i[e]=!1,a.hasOwnProperty(e)&&Object.keys(a[e]).forEach(function(t){delete a[e][t],i[t]&&l(t)})}function c(e){var t,o,u=!1;for(r.push(e),i[e]=!0,t=0;s[e].length>t;t++)(o=s[e][t])===n?(d(n,r),u=!0):i[o]||(u=c(o));if(u)l(e);else for(t=0;s[e].length>t;t++){var h=a[o=s[e][t]];h||(a[o]=h={}),h[o]=!0}return r.pop(),u}function d(e,t){var n=[].concat(t).concat(e);o.push(n)}function u(t){!function(t){for(var n=0;e.length>n;n++)n>=t&&e[n]||(e[n]=[]),e[n]=e[n].filter(function(e){return e>=t})}(t);for(var n,o=function(e){for(var t=e.length,n=Array(t),o=Array(t),r=Array(t),i=Array(t),a=Array(t),s=Array(t),l=0;t>l;++l)n[l]=-1,o[l]=0,r[l]=!1,i[l]=0,a[l]=-1,s[l]=[];var c,d=0,u=[],h=[];function f(t){var l=[t],c=[t];for(n[t]=o[t]=d,r[t]=!0,d+=1;c.length>0;){var f=e[t=c[c.length-1]];if(f.length>i[t]){for(var g=i[t];f.length>g;++g){var y=f[g];if(0>n[y]){n[y]=o[y]=d,r[y]=!0,d+=1,l.push(y),c.push(y);break}r[y]&&(o[t]=0|Math.min(o[t],o[y])),0>a[y]||s[t].push(a[y])}i[t]=g}else{if(o[t]===n[t]){var p=[],m=[],v=0;for(g=l.length-1;g>=0;--g){var b=l[g];if(r[b]=!1,p.push(b),m.push(s[b]),v+=s[b].length,a[b]=u.length,b===t){l.length=g;break}}u.push(p);var x=Array(v);for(g=0;m.length>g;g++)for(var k=0;m[g].length>k;k++)x[--v]=m[g][k];h.push(x)}c.pop()}}}for(l=0;t>l;++l)0>n[l]&&f(l);for(l=0;h.length>l;l++){var g=h[l];if(0!==g.length){g.sort(function(e,t){return e-t}),c=[g[0]];for(var y=1;g.length>y;y++)g[y]!==g[y-1]&&c.push(g[y]);h[l]=c}}return{components:u,adjacencyList:h}}(e),r=o.components.filter(function(e){return e.length>1}),i=1/0,a=0;r.length>a;a++)for(var s=0;r[a].length>s;s++)i>r[a][s]&&(i=r[a][s],n=a);var l=r[n];if(!l)return!1;var c=e.map(function(e,t){return-1===l.indexOf(t)?[]:e.filter(function(e){return-1!==l.indexOf(e)})});return{leastVertex:i,adjList:c}}n=0;for(var h=e.length;h>n;){var f=u(n);if(n=f.leastVertex,s=f.adjList){for(var g=0;s.length>g;g++)for(var y=0;s[g].length>y;y++){var p=s[g][y];i[+p]=!1,a[p]={}}c(n),n+=1}else n=h}return o}function N(e){return e.y0-e.y1>0?"up":"down"}function P(e,t){return t(e.source)==t(e.target)}function _(e){var t=0;e.source.sourceLinks.forEach(function(e){t=e.circular?t+1:t});var n=0;return e.target.targetLinks.forEach(function(e){n=e.circular?n+1:n}),1>=t&&1>=n}function T(e){return e.target.x0-e.source.x1}function I(e,t){var n=W(e),o=T(t)/Math.tan(n);return"up"==N(e)?e.y1-o:e.y1+o}function R(e,t){var n=W(e),o=T(t)/Math.tan(n);return"up"==N(e)?e.y1+o:e.y1-o}function W(e){var t=Math.abs(e.y1-e.y0);return Math.atan(Math.abs(e.target.x0-e.source.x1)/t)}function $(e,t){return t(e)}function B(e){return H(e.source)}function z(e){return H(e.target)}function H(e){return(e.y0+e.y1)/2}function F(e){return e.virtual?0:e.value}function Y(e,t){var n=0;e.sourceLinks.forEach(function(e){n=e.circular&&!P(e,t)?n+1:n});var o=0;return e.targetLinks.forEach(function(e){o=e.circular&&!P(e,t)?o+1:o}),n+o}function X(e){return e.target.depth}function G(e,t){return e.sourceLinks.length?e.depth:t-1}function q(e,t){return e.y0-t.y0}function V(e,t){return t.y0-e.y0}function K(e,t){return e.y1-t.y1}function Q(e,t){return t.y1-e.y1}function Z(e,t){return J(e.source,t.source)||e.index-t.index}function U(e,t){return J(e.target,t.target)||e.index-t.index}function J(e,t){return e.partOfCycle===t.partOfCycle?e.y0-t.y0:"top"===e.circularLinkType||"bottom"===t.circularLinkType?-1:1}function ee(e,t){return te(e)==te(t)?"bottom"==e.circularLinkType?V(e,t):q(e,t):te(t)-te(e)}function te(e){return e.target.column-e.source.column}function ne(e,t){return oe(e)==oe(t)}function oe(e){return e.y0-e.y1>0?"up":"down"}function re(e,t,n,r,i){let a=e;var s=Math.max(8,.15*(a.y1-a.y0));a.links.forEach(function(e){e.circular&&(e._circularWidth=Math.min(e.width,s))});var l=o.min(a.links,function(e){return e.source.y0});a.links.forEach(function(e){e.circular&&(e.circularPathData={})});var c=a.links.filter(function(e){return e.circular});return c.sort(function(e,t){return t.value-e.value}),c.forEach(function(e,t){e._circularStub=t>=4}),ie(a.links.filter(function(e){return"top"==e.circularLinkType}),t,n),ie(a.links.filter(function(e){return"bottom"==e.circularLinkType}),t,n),a.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e._circularWidth+r,e.circularPathData.rightNodeBuffer=5,e.circularPathData.leftNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,P(e,t)&&_(e))e.circularPathData.rightSmallArcRadius=r+e._circularWidth/2,e.circularPathData.rightLargeArcRadius=r+e._circularWidth/2,e.circularPathData.leftSmallArcRadius=r+e._circularWidth/2,e.circularPathData.leftLargeArcRadius=r+e._circularWidth/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+i+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-i-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius);else{var o=e.source.column,s=e.circularLinkType,c=a.links.filter(function(e){return e.source.column==o&&e.circularLinkType==s});c.sort("bottom"==e.circularLinkType?V:q);var d=0;c.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=r+e._circularWidth/2+d,e.circularPathData.rightLargeArcRadius=r+e._circularWidth/2+o*n+d),d+=t._circularWidth||t.width}),o=e.target.column,(c=a.links.filter(function(e){return e.target.column==o&&e.circularLinkType==s})).sort("bottom"==e.circularLinkType?Q:K),d=0,c.forEach(function(t,o){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=r+e._circularWidth/2+d,e.circularPathData.leftLargeArcRadius=r+e._circularWidth/2+o*n+d),d+=t._circularWidth||t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a.y1,e.source.y1,e.target.y1)+i+e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius):(e.circularPathData.verticalFullExtent=l-i-e.circularPathData.verticalBuffer,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius)}e.circularPathData.rightInnerExtent=e.circularPathData.sourceX+e.circularPathData.rightNodeBuffer,e.circularPathData.leftInnerExtent=e.circularPathData.targetX-e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.sourceX+e.circularPathData.rightLargeArcRadius+e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.targetX-e.circularPathData.leftLargeArcRadius-e.circularPathData.leftNodeBuffer}e.path=e.circular?function(e){return"top"==e.circularLinkType?"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 0 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY-e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 0 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 0 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY-e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 0 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY:"M"+e.circularPathData.sourceX+" "+e.circularPathData.sourceY+" L"+e.circularPathData.rightInnerExtent+" "+e.circularPathData.sourceY+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightSmallArcRadius+" 0 0 1 "+e.circularPathData.rightFullExtent+" "+(e.circularPathData.sourceY+e.circularPathData.rightSmallArcRadius)+" L"+e.circularPathData.rightFullExtent+" "+e.circularPathData.verticalRightInnerExtent+" A"+e.circularPathData.rightLargeArcRadius+" "+e.circularPathData.rightLargeArcRadius+" 0 0 1 "+e.circularPathData.rightInnerExtent+" "+e.circularPathData.verticalFullExtent+" L"+e.circularPathData.leftInnerExtent+" "+e.circularPathData.verticalFullExtent+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftLargeArcRadius+" 0 0 1 "+e.circularPathData.leftFullExtent+" "+e.circularPathData.verticalLeftInnerExtent+" L"+e.circularPathData.leftFullExtent+" "+(e.circularPathData.targetY+e.circularPathData.leftSmallArcRadius)+" A"+e.circularPathData.leftLargeArcRadius+" "+e.circularPathData.leftSmallArcRadius+" 0 0 1 "+e.circularPathData.leftInnerExtent+" "+e.circularPathData.targetY+" L"+e.circularPathData.targetX+" "+e.circularPathData.targetY}(e):function(e){var t=e.source.x1,n=e.y0,o=e.target.x0,r=e.y1,i=(t+o)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+o+","+r}(e)}),a}function ie(e,t,n){e.sort(ee);var o=e.filter(function(e){return!e._circularStub});return e.forEach(function(e,r){var i=0;if(e._circularStub)e.circularPathData.verticalBuffer=0;else if(P(e,t)&&_(e))e.circularPathData.verticalBuffer=i+e._circularWidth/2;else{for(var a=0;o.length>a;a++){var s=o[a];if(s!==e&&s.circularPathData&&void 0!==s.circularPathData.verticalBuffer&&ae(e,s)){var l=s.circularPathData.verticalBuffer+(s._circularWidth||s.width)/2+n;i=l>i?l:i}}e.circularPathData.verticalBuffer=i+e._circularWidth/2}}),e}function ae(e,t){return e.source.column>=t.target.column&&t.source.column>=e.target.column}function se(e){return function(){return e}}function le(e){return e.index}function ce(e){return e.nodes}function de(e){return e.links}function ue(e,t,n){var r=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});r.forEach(function(o,i){var a=o.length;if(t)o.sort(t);else if(i>0){var s=new Map;o.forEach(function(e,t){var n,o,r,i=(o=0,r=0,(n=e).targetLinks.forEach(function(e){if(!e.circular){var t=e.value||1;r+=H(e.source)*t,o+=t}}),n.sourceLinks.forEach(function(e){if(!e.circular){var t=e.value||1;r+=H(e.target)*t,o+=t}}),o>0?r/o:NaN);s.set(e,{bc:i,idx:t})}),o.sort(function(e,t){var n=s.get(e),o=s.get(t),r=n.bc,i=o.bc;if(e.circularLinkType!==t.circularLinkType){if("top"==e.circularLinkType&&"bottom"==t.circularLinkType)return-1;if("bottom"==e.circularLinkType&&"top"==t.circularLinkType)return 1;if("top"==e.circularLinkType)return-1;if("top"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return-1}return isNaN(r)||isNaN(i)?isNaN(r)?isNaN(i)?n.idx-o.idx:1:-1:r-i})}else o.sort(function(e,t){return e.circularLinkType==t.circularLinkType?Y(t,n)-Y(e,n):"top"==e.circularLinkType&&"bottom"==t.circularLinkType||"top"==e.circularLinkType&&0==t.partOfCycle||0==e.partOfCycle&&"bottom"==t.circularLinkType?-1:0});o.forEach(function(t,o){t.depth==r.length-1&&1==a||0==t.depth&&1==a?(t.y0=e.y1/2-t.value*e.ky,t.y1=t.y0+t.value*e.ky):t.partOfCycle?0==Y(t,n)?(t.y0=e.y1/2+o,t.y1=t.y0+t.value*e.ky):"top"==t.circularLinkType?(t.y0=e.y0+o,t.y1=t.y0+t.value*e.ky):(t.y0=e.y1-t.value*e.ky-o,t.y1=t.y0+t.value*e.ky):0==e.y0||0==e.y1?(t.y0=(e.y1-e.y0)/a*o,t.y1=t.y0+t.value*e.ky):(t.y0=(e.y1-e.y0)/2-a/2+o,t.y1=t.y0+t.value*e.ky)})})}function he(e,t,n,r,i,a){var s=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});u();for(var l=1,c=a;c>0;--c)d(l*=.99,n),u();function d(t,n){var r=s.length;s.forEach(function(i){var a=i.length,s=i[0].depth;i.forEach(function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&Y(i,n)>0){var c=o.mean(i.sourceLinks,z),d=o.mean(i.targetLinks,B),u=c&&d?(c+d)/2:c||d;if(u){var h=(u-H(i))*t*.3;i.y0+=h,i.y1+=h}}else if(0==s&&1==a)i.y0=e.y1/2-(l=i.y1-i.y0)/2,i.y1=e.y1/2+l/2;else if(s==r-1&&1==a)i.y0=e.y1/2-(l=i.y1-i.y0)/2,i.y1=e.y1/2+l/2;else if(1==i.targetLinks.length&&1==i.targetLinks[0].source.sourceLinks.length)l=i.y1-i.y0,i.y0=i.targetLinks[0].source.y0,i.y1=i.y0+l;else{var f=o.mean(i.sourceLinks,z),g=o.mean(i.targetLinks,B),y=((f&&g?(f+g)/2:f||g)-H(i))*t;i.y0+=y,i.y1+=y}})})}function u(){s.forEach(function(n){var o,a,s,l=e.y0,c=n.length;for(n.sort(t||J),s=0;c>s;++s)(a=l-(o=n[s]).y0)>0&&(o.y0+=a,o.y1+=a),l=o.y1+r;if((a=l-r-e.y1)>0)for(l=o.y0-=a,o.y1-=a,s=c-2;s>=0;--s)(a=(o=n[s]).y1+i-l)>0&&(o.y0-=a,o.y1-=a),l=o.y0})}}function fe(e){e.nodes.forEach(function(e){e.sourceLinks.sort(U),e.targetLinks.sort(Z)}),e.nodes.forEach(function(e){var t=e.y0,n=t,o=e.y1,r=o;e.sourceLinks.forEach(function(e){e.circular?(e.y0=o-e.width/2,o-=e.width):(e.y0=t+e.width/2,t+=e.width)}),e.targetLinks.forEach(function(e){e.circular?(e.y1=r-e.width/2,r-=e.width):(e.y1=n+e.width/2,n+=e.width)})})}function ge(){var e=0,t=0,n=1,r=1,i=24,a=8,s=null,l=le,c=G,d=void 0,u=32,h=2,f=ce,g=de;function y(){var y={nodes:f.apply(null,arguments),links:g.apply(null,arguments)};return function(f){f.x0=e,f.y0=t,f.x1=n,f.y1=r,f.py=0,function(e,t){e.nodes.forEach(function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]});var n=function(e,t){var n=new Map;return o.group(e,t).forEach(function(e,t){n.set(t,e[0])}),n}(e.nodes,t);e.links.forEach(function(e,t){e.index=t;var o=e.source,r=e.target;"object"!=typeof o&&(o=e.source=D(n,o)),"object"!=typeof r&&(r=e.target=D(n,r)),o.sourceLinks.push(e),r.targetLinks.push(e)})}(f,l),function(e,t){var n=0;if(null==t){for(var o=[],r=0;e.links.length>r;r++){var i=e.links[r],a=i.source.index,s=i.target.index;o[a]||(o[a]=[]),o[s]||(o[s]=[]),-1===o[a].indexOf(s)&&o[a].push(s)}var l=O(o);l.sort(function(e,t){return e.length-t.length});var c={};for(r=0;l.length>r;r++){var d=l[r].slice(-2);c[d[0]]||(c[d[0]]={}),c[d[0]][d[1]]=!0}e.links.forEach(function(e){var t=e.target.index,o=e.source.index;t===o||c[o]&&c[o][t]?(e.circular=!0,e.circularLinkID=n++):e.circular=!1})}else e.links.forEach(function(e){t(e.source)<t(e.target)?e.circular=!1:(e.circular=!0,e.circularLinkID=n++)})}(f,d),function(e,t){var n=0,o=0;e.links.forEach(function(r){r.circular&&(r.circularLinkType=r.source.circularLinkType||r.target.circularLinkType?r.source.circularLinkType?r.source.circularLinkType:r.target.circularLinkType:o>n?"top":"bottom","top"==r.circularLinkType?n++:o++,e.nodes.forEach(function(e){$(e,t)!=$(r.source,t)&&$(e,t)!=$(r.target,t)||(e.circularLinkType=r.circularLinkType)}))}),e.links.forEach(function(e){e.circular&&(e.source.circularLinkType==e.target.circularLinkType&&(e.circularLinkType=e.source.circularLinkType),P(e,t)&&(e.circularLinkType=e.source.circularLinkType))})}(f,l),function(e){e.nodes.forEach(function(e){e.partOfCycle=!1,e.value=Math.max(o.sum(e.sourceLinks,F),o.sum(e.targetLinks,F)),e.sourceLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)}),e.targetLinks.forEach(function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)})})}(f),function(e,t,n){var o,r,i;if(null!=t){e.nodes.sort(function(e,n){return t(e)<t(n)?-1:1});var a=0,s=t(e.nodes[0]);e.nodes.forEach(function(e){a=t(e)==s?a:a+1,s=t(e)==s?s:t(e),e.column=a})}for(o=e.nodes,r=[],i=0;o.length;++i,o=r,r=[])o.forEach(function(e){e.depth=i,e.sourceLinks.forEach(function(e){0>r.indexOf(e.target)&&!e.circular&&r.push(e.target)})});for(o=e.nodes,r=[],i=0;o.length;++i,o=r,r=[])o.forEach(function(e){e.height=i,e.targetLinks.forEach(function(e){0>r.indexOf(e.source)&&!e.circular&&r.push(e.source)})});e.nodes.forEach(function(e){e.column=null==t?n(e,i):e.column})}(f,d,c);var g=a;if(null!==s){var y=o.groups(f.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]}),p=o.max(y,function(e){return e.length});p>1&&(g=Math.max(1,(r-t)*s/(p-1)))}(function(e,t,n){var r=o.groups(e.nodes,function(e){return e.column}).sort(function(e,t){return e[0]-t[0]}).map(function(e){return e[1]});e.py=t;var i=o.min(r,function(t){return(e.y1-e.y0-(t.length-1)*e.py)/o.sum(t,function(e){return e.value})});e.ky=i,e.links.forEach(function(t){t.width=t.value*e.ky});var a=o.max(e.nodes,function(e){return e.column});e.nodes.forEach(a>0?function(t){t.x0=e.x0+t.column*((e.x1-e.x0-n)/a),t.x1=t.x0+n}:function(t){t.x0=e.x0,t.x1=t.x0+n})})(f,g,i),ue(f,d,l),he(f,d,l,g,g,u),fe(f),re(f,l,h,10,8),ue(f,d,l),he(f,d,l,g,g,u),fe(f),re(f,l,h,10,8),function(e,t){let n=e;n.nodes.forEach(function(e){e.y+(e.y1-e.y0)>n.y1&&(e.y=e.y-(e.y+(e.y1-e.y0)-n.y1));var o=n.links.filter(function(n){return $(n.source,t)==$(e,t)}),r=o.length;r>1&&o.sort(function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!ne(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var n=I(t,e);return e.y1-n}if(t.target.column>e.target.column)return I(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;o.forEach(function(e){e.y0=i+e.width/2,i+=e.width}),o.forEach(function(t,n){if("bottom"==t.circularLinkType){for(var i=n+1,a=0;r>i;i++)a+=o[i].width;t.y0=e.y1-a-t.width/2}})})}(f,l),function(e,t){let n=e;n.nodes.forEach(function(e){var o=n.links.filter(function(n){return $(n.target,t)==$(e,t)}),r=o.length;r>1&&o.sort(function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!ne(e,t))return e.y0-t.y0;if(e.source.column>t.source.column){var n=R(t,e);return e.y0-n}if(t.source.column>e.source.column)return R(e,t)-t.y0}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:e.source.column-t.source.column:e.circularLinkType===t.circularLinkType&&"bottom"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:t.source.column-e.source.column:"top"==e.circularLinkType?-1:1:void 0});var i=e.y0;o.forEach(function(e){e.y1=i+e.width/2,i+=e.width}),o.forEach(function(t,n){if("bottom"==t.circularLinkType){for(var i=n+1,a=0;r>i;i++)a+=o[i].width;t.y1=e.y1-a-t.width/2}})})}(f,l),function(e){var t=e.nodes,n=e.links,r=!1,i=!1;if(n.forEach(function(e){"top"==e.circularLinkType?r=!0:"bottom"==e.circularLinkType&&(i=!0)}),0==r||0==i){var a=o.min(t,function(e){return e.y0}),s=o.max(t,function(e){return e.y1}),l=(e.y1-e.y0)/(s-a);function c(t){return(t-a)/(s-a)*(e.y1-e.y0)+e.y0}1>l?(t.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1)}),n.forEach(function(e){e.y0=c(e.y0),e.y1=c(e.y1),e.width=e.width*l})):t.forEach(function(e){var t=e.y1-e.y0,n=c(e.y0)-e.y0;e.y0=c(e.y0),e.y1=e.y0+t,e.sourceLinks.forEach(function(e){e.y0=e.y0+n}),e.targetLinks.forEach(function(e){e.y1=e.y1+n})})}}(f),re(f,l,h,10,8)}(y),y}return y.update=function(e){return fe(e),re(e,l,h,10,8),e},y.nodeWidth=function(e){return arguments.length?(i=+e,y):i},y.nodePadding=function(e){return arguments.length?(a=+e,y):a},y.nodePaddingRatio=function(e){return arguments.length?(s=+e,y):s},y.nodes=function(e){return arguments.length?(f="function"==typeof e?e:se(e),y):f},y.links=function(e){return arguments.length?(g="function"==typeof e?e:se(e),y):g},y.nodeId=function(e){return arguments.length?(l="function"==typeof e?e:se(e),y):l},y.nodeAlign=function(e){return arguments.length?(c="function"==typeof e?e:se(e),y):c},y.nodeSort=function(e){return arguments.length?(d=e,y):d},y.iterations=function(e){return arguments.length?(u=+e,y):u},y.circularLinkGap=function(e){return arguments.length?(h=+e,y):h},y.extent=function(o){return arguments.length?(e=+o[0][0],t=+o[0][1],n=+o[1][0],r=+o[1][1],y):[[e,t],[n,r]]},y.size=function(o){return arguments.length?(e=t=0,n=+o[0],r=+o[1],y):[n-e,r-t]},y}function ye(e){const{sx:t,sTop:n,sBot:o,tx:r,tTop:i,tBot:a,cp1X:s,cp2X:l}=e,c=(n+o)/2,d=(i+a)/2;return{pathD:[`M${t},${n}`,`C${s},${n} ${l},${i} ${r},${i}`,`L${r},${a}`,`C${l},${a} ${s},${o} ${t},${o}`,"Z"].join(" "),bezier:{circular:!1,points:[{x:t,y:c},{x:s,y:c},{x:l,y:d},{x:r,y:d}],halfWidth:(o-n)/2}}}const pe=e=>{let t,o,r,i,a,s,l,c,d;if("down"===e.direction)return t=e.y0-e.sankeyWidth/2,o=e.y1-e.sankeyWidth/2,r=e.y1+e.sankeyWidth/2,i=e.y0+e.sankeyWidth/2,a=e.source.x1,s=e.target.x0,l=n.interpolateNumber(a,s),c=l(.5),d=l(.5),`M${t},${a}C${t},${c} ${o},${d} ${o},${s}L${r},${s}C${r},${d} ${i},${c} ${i},${a}Z`;const u=e.sankeyWidth/2,h=n.interpolateNumber(e.source.x1,e.target.x0),{pathD:f}=ye({sx:e.source.x1,sTop:e.y0-u,sBot:e.y0+u,tx:e.target.x0,tTop:e.y1-u,tBot:e.y1+u,cp1X:h(.5),cp2X:h(.5)});return f};function me(e){var t;const n=e.sankeyWidth/2,o=(null!==(t=e._circularWidth)&&void 0!==t?t:e.sankeyWidth)/2,r=e.circularPathData;if(!r)return null;if("down"===e.direction)return null;if(e._circularStub){const t=r.sourceX,o=r.sourceY,i=r.targetX,a=r.targetY;if("object"!=typeof e.source||!e.source||"object"!=typeof e.target||!e.target)return null;const s=Math.max(15,Math.min(40,.33*(r.rightFullExtent-t))),l=Math.max(15,Math.min(40,.33*(i-r.leftFullExtent)));return`M${t},${o-n}L${t+s},${o-n}L${t+s},${o+n}L${t},${o+n}ZM${i},${a-n}L${i-l},${a-n}L${i-l},${a+n}L${i},${a+n}Z`}const i=r.sourceX,a=r.sourceY,s=r.targetX,l=r.targetY,c=r.rightFullExtent,d=r.leftFullExtent,u=r.verticalFullExtent,h="bottom"===e.circularLinkType?1:-1,f=Math.max(4,Math.min(o,15));return`M${i},${a-h*n}L${c},${a-h*n}L${c+o},${a-h*n+h*f}L${c+o},${u+h*o-h*f}L${c+o-f},${u+h*o}L${d-o+f},${u+h*o}L${d-o},${u+h*o-h*f}L${d-o},${l-h*n+h*f}L${d-o+f},${l-h*n}L${s},${l-h*n}L${s},${l+h*n}L${d+o},${l+h*n}L${d+o},${u-h*o}L${c-o},${u-h*o}L${c-o},${a+h*n}L${i},${a+h*n}Z`}const ve=new Set,be=new WeakMap;function xe(e,t){if("production"===process.env.NODE_ENV)return e;if(!e||!e.data||"object"!=typeof e.data)return e;let n=be.get(e);if(n){const e=n.get(t);if(e)return e}else n=new Map,be.set(e,n);const o=new Proxy(e,{get(e,n,o){if("string"==typeof n&&!(n in e)&&e.data&&n in e.data){const e=`${t}:${n}`;ve.has(e)||(ve.add(e),console.warn(`[Semiotic] "${t}" callback accessed "${n}" on the wrapper object, but it only exists on ".data". Use d.data.${n} (or d.data?.${n}) instead. Frame callbacks receive RealtimeNode/RealtimeEdge wrappers, not your raw data.`))}return Reflect.get(e,n,o)}});return n.set(t,o),o}const ke={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?Math.min.apply(Math,e.sourceLinks.map(X))-1:0},justify:G};function we(e){return"string"==typeof e?e:e.id}const Se={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,n,o){var r,i,a,s,l,c,d;if(0===e.length)return;const u="vertical"===n.orientation?"down":"right",h=n.nodeAlign||"justify",f=null!==(r=n.nodeWidth)&&void 0!==r?r:15,g=null!==(i=n.nodePaddingRatio)&&void 0!==i?i:.05,y=null!==(a=n.iterations)&&void 0!==a?a:100,p=e.map(e=>Object.assign({},e)),m=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id,value:Math.sqrt(Math.max(1,e.value||1))}));let v;v="down"===u?[[0,0],[o[1],o[0]]]:[[0,0],[o[0],o[1]]];const b=ge().extent(v).links(m).nodes(p).nodeAlign(ke[h]||G).nodeId(e=>e.id).nodeWidth(f).iterations(y);b.nodePaddingRatio&&b.nodePaddingRatio(g),b();{let e=1/0,t=-1/0,n=1/0,r=-1/0;for(const o of p)e>o.x0&&(e=o.x0),o.x1>t&&(t=o.x1),n>o.y0&&(n=o.y0),o.y1>r&&(r=o.y1);for(const o of m){if(!o.circular||!o.circularPathData)continue;const i=o.circularPathData,a=(null!==(l=null!==(s=o._circularWidth)&&void 0!==s?s:o.width)&&void 0!==l?l:0)/2;e>i.leftFullExtent-a&&(e=i.leftFullExtent-a),i.rightFullExtent+a>t&&(t=i.rightFullExtent+a),n>i.verticalFullExtent-a&&(n=i.verticalFullExtent-a),i.verticalFullExtent+a>r&&(r=i.verticalFullExtent+a)}const i=t-e,a=r-n,d=o[0],u=o[1];if(i>0&&a>0&&(0>e||0>n||t>d||r>u)){const t=Math.min(d/i,u/a),o=-e*t+(d-i*t)/2,r=-n*t+(u-a*t)/2;for(const e of p)e.x0=e.x0*t+o,e.x1=e.x1*t+o,e.y0=e.y0*t+r,e.y1=e.y1*t+r;for(const e of m)if(e.y0=e.y0*t+r,e.y1=e.y1*t+r,e.width=(null!==(c=e.width)&&void 0!==c?c:0)*t,e._circularWidth&&(e._circularWidth*=t),e.circular&&e.circularPathData){const n=e.circularPathData;n.sourceX=n.sourceX*t+o,n.targetX=n.targetX*t+o,n.sourceY=n.sourceY*t+r,n.targetY=n.targetY*t+r,n.rightFullExtent=n.rightFullExtent*t+o,n.leftFullExtent=n.leftFullExtent*t+o,n.verticalFullExtent=n.verticalFullExtent*t+r,n.rightInnerExtent=n.rightInnerExtent*t+o,n.leftInnerExtent=n.leftInnerExtent*t+o,n.verticalRightInnerExtent=n.verticalRightInnerExtent*t+r,n.verticalLeftInnerExtent=n.verticalLeftInnerExtent*t+r,n.rightSmallArcRadius*=t,n.rightLargeArcRadius*=t,n.leftSmallArcRadius*=t,n.leftLargeArcRadius*=t,n.sourceWidth*=t,n.rightNodeBuffer*=t,n.leftNodeBuffer*=t,n.arcRadius*=t}}}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of p){const t=x.get(e.id);t&&(t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.value=e.value,t.depth=e.depth,t.sourceLinks=e.sourceLinks,t.targetLinks=e.targetLinks,t.width=e.x1-e.x0,t.height=e.y1-e.y0,t.x=e.x0+(e.x1-e.x0)/2,t.y=e.y0+(e.y1-e.y0)/2)}const k=new Map;for(const e of t)k.set(e._edgeKey?e._edgeKey:`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const e of m){const t=we(e.source),n=we(e.target),o=k.get(e._edgeKey?e._edgeKey:`${t}\0${n}`);if(o){o.y0=e.y0,o.y1=e.y1,o.sankeyWidth=null!==(d=e.width)&&void 0!==d?d:0,o.circular=!!e.circular,o.circularPathData=e.circularPathData,o._circularWidth=e._circularWidth,o._circularStub=e._circularStub,o.path=e.path,o.circularLinkType=e.circularLinkType,o.direction=u;const r=x.get(t),i=x.get(n);r&&(o.source=r),i&&(o.target=i)}}},buildScene(e,t,n,o){var r,i,a,s,l,c;const d="vertical"===n.orientation?"down":"right",u=n.nodeStyle,h=n.edgeStyle,f=null!==(r=n.edgeOpacity)&&void 0!==r?r:.5,g=n.edgeColorBy||"source",y=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:b,p=new Map;e.forEach((e,t)=>{p.set(e.id,y[t%y.length])});const m=[],v=[],x=[],k=new Map;for(const t of e){const e=t.x1-t.x0,n=t.y1-t.y0;if(0>=e||0>=n)continue;const o=u?u(xe(t,"nodeStyle")):{},r={fill:o.fill||p.get(t.id)||"#4d430c",stroke:o.stroke,strokeWidth:o.strokeWidth,opacity:o.opacity};k.set(t.id,("string"==typeof r.fill?r.fill:null)||p.get(t.id)||"#4d430c"),m.push("down"===d?{type:"rect",x:t.y0,y:t.x0,w:n,h:e,style:r,datum:t,id:t.id,label:t.id}:{type:"rect",x:t.x0,y:t.y0,w:e,h:n,style:r,datum:t,id:t.id,label:t.id})}const w=[...t].sort((e,t)=>(t.sankeyWidth||0)-(e.sankeyWidth||0));for(const e of w){if(!e.sankeyWidth||0>=e.sankeyWidth)continue;const t="object"==typeof e.source?e.source:null,o="object"==typeof e.target?e.target:null;if(!t||!o)continue;let r=(null===(i=n.themeSemantic)||void 0===i?void 0:i.border)||(null===(a=n.themeSemantic)||void 0===a?void 0:a.secondary)||"#999";r="function"==typeof g?g(e)||r:"target"===g?k.get(o.id)||p.get(o.id)||r:k.get(t.id)||p.get(t.id)||r;const d=h?h(xe(e,"edgeStyle")):{};if(e._circularStub&&e.circular&&e.circularPathData){const t=e.circularPathData,n=e.sankeyWidth/2,o=Math.max(15,Math.min(40,.33*(t.rightFullExtent-t.sourceX))),i=Math.max(15,Math.min(40,.33*(t.targetX-t.leftFullExtent))),a=d.fill||r;v.push({type:"bezier",pathD:`M${t.sourceX},${t.sourceY-n}L${t.sourceX+o},${t.sourceY-n}L${t.sourceX+o},${t.sourceY+n}L${t.sourceX},${t.sourceY+n}Z`,style:{fill:a,fillOpacity:null!==(s=d.fillOpacity)&&void 0!==s?s:f,stroke:"none",opacity:d.opacity},datum:e,_gradient:{direction:"right",from:1,to:0,x0:t.sourceX,x1:t.sourceX+o}}),v.push({type:"bezier",pathD:`M${t.targetX},${t.targetY-n}L${t.targetX-i},${t.targetY-n}L${t.targetX-i},${t.targetY+n}L${t.targetX},${t.targetY+n}Z`,style:{fill:a,fillOpacity:null!==(l=d.fillOpacity)&&void 0!==l?l:f,stroke:"none",opacity:d.opacity},datum:e,_gradient:{direction:"left",from:0,to:1,x0:t.targetX-i,x1:t.targetX}});continue}let u;if(u=e.circular&&e.circularPathData?me(e):pe(e),!u)continue;const y={fill:d.fill||r,fillOpacity:null!==(c=d.fillOpacity)&&void 0!==c?c:f,stroke:d.stroke||"none",strokeWidth:d.strokeWidth,opacity:d.opacity};v.push({type:"bezier",pathD:u,bezierCache:e.bezier,style:y,datum:e})}if(!1!==n.showLabels){const t=(S=n.nodeLabel)?"function"==typeof S?S:e=>e[S]||e.id:null;for(const n of e){const e=n.x1-n.x0,r=n.y1-n.y0;if(0>=e||0>=r)continue;const i=t?t(n):n.id;if(!i)continue;let a,s,l;"down"===d?(a=n.y0+(n.y1-n.y0)/2,s=n.x1+14,l="start"):(o[0]/2>n.x0+e/2?(a=n.x0-6,l="end"):(a=n.x1+6,l="start"),s=n.y0+r/2),x.push({x:a,y:s,text:i+"",anchor:"down"===d?"middle":l,baseline:"middle",fontSize:11})}}var S;return{sceneNodes:m,sceneEdges:v,labels:x}}},Me={supportsStreaming:!0,hierarchical:!1,computeLayout(e,t,n,o){var i,a;if(0===e.length)return;const s=null!==(i=n.forceStrength)&&void 0!==i?i:.1,l=o[0]/2,c=o[1]/2,d=n.__previousPositions;let u=0;const h=[];for(const t of e){const e=null!=t.x&&null!=t.y&&(0!==t.x||0!==t.y),n=null==d?void 0:d.get(t.id);e?u++:n?(t.x=n.x,t.y=n.y,u++):h.push(t)}const f=u>0&&.3>=(e.length>0?h.length/e.length:1);if(f){const n=new Map;for(const t of e)n.set(t.id,t);for(const e of h){const o=Ae(e.id,t,n);if(o.length>0){let t=0,n=0;for(const e of o)t+=e.x,n+=e.y;const r=je(e.id),i=r%360*(Math.PI/180),a=10+r%20;e.x=t/o.length+a*Math.cos(i),e.y=n/o.length+a*Math.sin(i)}else{const t=je(e.id),n=t%360*(Math.PI/180),o=15+t%30;e.x=l+o*Math.cos(n),e.y=c+o*Math.sin(n)}}}else{const t=2.399963229728653;for(let n=0;e.length>n;n++){const o=e[n];if(null==o.x||null==o.y||0===o.x&&0===o.y){const e=10*Math.sqrt(n+.5),r=n*t;o.x=l+e*Math.cos(r),o.y=c+e*Math.sin(r)}}}const g=null!==(a=n.iterations)&&void 0!==a?a:Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),y=0===n.iterations?0:f?40:g,p=Le(n.nodeSize,n.nodeSizeRange,e),m=e=>p(e);if(y>0){const n=r.forceLink().strength(e=>{const t=e.weight;return Math.min(2.5,t?t*s:s)}).id(e=>e.id),o=r.forceSimulation().force("charge",r.forceManyBody().strength(e=>-25*m(e))).force("center",r.forceCenter(l,c).strength(.8)).force("x",r.forceX(l).strength(.15)).force("y",r.forceY(c).strength(.15));if(o.nodes(e),t.length>0){const e=t.map(e=>Object.assign(Object.assign({},e),{source:"string"==typeof e.source?e.source:e.source.id,target:"string"==typeof e.target?e.target:e.target.id}));n.links(e),o.force("link",n)}f?o.alpha(.3):.1>o.alpha()&&o.alpha(1),o.stop();for(let e=0;y>e;++e)o.tick()}for(const t of e){if(null==t.x||null==t.y)continue;const e=m(t);t.x=Math.max(e,Math.min(o[0]-e,t.x)),t.y=Math.max(e,Math.min(o[1]-e,t.y)),t.x0=0,t.x1=0,t.y0=0,t.y1=0}const v=new Map;for(const t of e)v.set(t.id,t);for(const e of t){if("string"==typeof e.source){const t=v.get(e.source);t&&(e.source=t)}if("string"==typeof e.target){const t=v.get(e.target);t&&(e.target=t)}}},buildScene(e,t,n,o){var r,i,a,s,l,c,d;const u=n.nodeStyle,h=n.edgeStyle,f=Le(n.nodeSize,n.nodeSizeRange,e),g=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:b,y=new Map;e.forEach((e,t)=>{y.set(e.id,g[t%g.length])});const p=[],m=[],v=[];for(const t of e){if(null==t.x||null==t.y)continue;const e=f(xe(t,"nodeSize")),o=u?u(xe(t,"nodeStyle")):{},s={fill:o.fill||y.get(t.id)||(null===(r=n.themeSemantic)||void 0===r?void 0:r.primary)||"#007bff",stroke:o.stroke||(null===(i=n.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=o.strokeWidth)&&void 0!==a?a:2,opacity:o.opacity};p.push({type:"circle",cx:t.x,cy:t.y,r:e,style:s,datum:t,id:t.id,label:t.id})}const x=new Map;for(const t of e)x.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:x.get(e.source),o="object"==typeof e.target?e.target:x.get(e.target);if(!t||!o)continue;if(null==t.x||null==t.y)continue;if(null==o.x||null==o.y)continue;const r=h?h(xe(e,"edgeStyle")):{},i={stroke:r.stroke||(null===(s=n.themeSemantic)||void 0===s?void 0:s.border)||(null===(l=n.themeSemantic)||void 0===l?void 0:l.secondary)||"#999",strokeWidth:null!==(c=r.strokeWidth)&&void 0!==c?c:1,opacity:null!==(d=r.opacity)&&void 0!==d?d:.6};m.push({type:"line",x1:t.x,y1:t.y,x2:o.x,y2:o.y,style:i,datum:e})}if(!1!==n.showLabels){const t=(k=n.nodeLabel)?"function"==typeof k?k:e=>e[k]||e.id:null;for(const n of e){if(null==n.x||null==n.y)continue;const e=t?t(n):n.id;if(!e)continue;const o=f(xe(n,"nodeSize"));v.push({x:n.x,y:n.y-o-4,text:e+"",anchor:"middle",baseline:"auto",fontSize:11})}}var k;return{sceneNodes:p,sceneEdges:m,labels:v}}};function Ae(e,t,n){const o=[];for(const r of t){const t="string"==typeof r.source?r.source:r.source.id,i="string"==typeof r.target?r.target:r.target.id;let a=null;if(t===e?a=i:i===e&&(a=t),a){const e=n.get(a);!e||0===e.x&&0===e.y||o.push({x:e.x,y:e.y})}}return o}function je(e){let t=0;for(let n=0;e.length>n;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}function Le(e,t,n){var r,a;if(null==e)return()=>8;if("number"==typeof e)return()=>e;if("function"==typeof e)return t=>e(t)||8;const s=t||[5,20],l=n.map(t=>{var n;return null===(n=t.data)||void 0===n?void 0:n[e]}).filter(e=>null!=e&&"number"==typeof e);if(0===l.length)return()=>s[0];const c=null!==(r=o.min(l))&&void 0!==r?r:0,d=null!==(a=o.max(l))&&void 0!==a?a:1;if(c===d)return()=>(s[0]+s[1])/2;const u=i.scaleLinear().domain([c,d]).range(s).clamp(!0);return t=>{var n;const o=null===(n=t.data)||void 0===n?void 0:n[e];return null==o||"number"!=typeof o?s[0]:u(o)}}const Ce=b,Ee={supportsStreaming:!1,hierarchical:!1,computeLayout(e,t,n,o){if(0===e.length)return;const{padAngle:r=.01,groupWidth:i=20,sortGroups:l}=n,c=Math.min(o[0],o[1])/2,d=c-i,u=o[0]/2,h=o[1]/2,f=(g=n.valueAccessor)?"function"==typeof g?g:e=>{var t;return null!==(t=e[g])&&void 0!==t?t:1}:e=>{var t;return null!==(t=e.value)&&void 0!==t?t:1};var g;const y=new Map;for(let t=0;e.length>t;t++)y.set(e[t].id,t);const p=e.length,m=Array.from({length:p},()=>Array.from({length:p},()=>0));for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,n=y.get("string"==typeof e.source?e.source:e.source.id),o=y.get(t);if(void 0===n||void 0===o)continue;const r=f(e);m[n][o]=r}const v=a.chord().padAngle(r);l&&v.sortGroups(l);const b=v(m),x=b.groups,k=s.arc().innerRadius(d).outerRadius(c);for(const t of x){const n=e[t.index],o=k.centroid({innerRadius:d,outerRadius:c,startAngle:t.startAngle,endAngle:t.endAngle});n.x=o[0]+u,n.y=o[1]+h,n.__arcData={startAngle:t.startAngle,endAngle:t.endAngle}}const w=new Map;for(const t of e)w.set(t.id,t);for(const e of t){const t="string"==typeof e.target?e.target:e.target.id,n=w.get("string"==typeof e.source?e.source:e.source.id),o=w.get(t);n&&(e.source=n),o&&(e.target=o)}const S=new Map;for(const e of t)S.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,e);for(const t of b){const n=e[t.source.index].id,o=e[t.target.index].id,r=S.get(`${n}\0${o}`)||S.get(`${o}\0${n}`);r&&(r.__chordData=t)}},buildScene(e,t,n,o){var r,i,s,l;const{groupWidth:c=20,edgeOpacity:d=.5}=n,u=Math.min(o[0],o[1])/2,h=u-c,f=o[0]/2,g=o[1]/2,y=n.nodeStyle,p=n.edgeStyle,m=n.edgeColorBy||"source",v=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:Ce,b=new Map;e.forEach((e,t)=>{b.set(e.id,v[t%v.length])});const x=a.ribbon().radius(h),k=[],w=[],S=[];for(let t=0;e.length>t;t++){const n=e[t],o=n.__arcData;if(!o)continue;let i;i=y?y(xe(n,"nodeStyle")).fill||b.get(n.id)||v[t%v.length]:b.get(n.id)||v[t%v.length];const a=y?y(xe(n,"nodeStyle")):{},s={fill:i,stroke:a.stroke||"black",strokeWidth:null!==(r=a.strokeWidth)&&void 0!==r?r:1,opacity:a.opacity};k.push({type:"arc",cx:f,cy:g,innerR:h,outerR:u,startAngle:o.startAngle-Math.PI/2,endAngle:o.endAngle-Math.PI/2,style:s,datum:n,id:n.id,label:n.id})}for(const e of t){const t=e.__chordData;if(!t)continue;const o=x(t);if(!o)continue;const r=De(o,f,g);let a=(null===(i=n.themeSemantic)||void 0===i?void 0:i.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";if(p)a=p(xe(e,"edgeStyle")).fill||a;else{const t="object"==typeof e.source?e.source:null,n="object"==typeof e.target?e.target:null;"target"===m&&n?a=b.get(n.id)||a:t&&(a=b.get(t.id)||a)}const c=p?p(xe(e,"edgeStyle")):{},u={fill:a,fillOpacity:null!==(l=c.fillOpacity)&&void 0!==l?l:d,stroke:c.stroke||"none",strokeWidth:c.strokeWidth,opacity:c.opacity};w.push({type:"ribbon",pathD:r,style:u,datum:e})}if(!1!==n.showLabels){const t=(M=n.nodeLabel)?"function"==typeof M?M:e=>e[M]||e.id:null,o=u+12;for(const n of e){const e=n.__arcData;if(!e)continue;const r=t?t(n):n.id;if(!r)continue;const i=(e.startAngle+e.endAngle)/2,a=i-Math.PI/2;S.push({x:f+Math.cos(a)*o,y:g+Math.sin(a)*o,text:r+"",anchor:i>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var M;return{sceneNodes:k,sceneEdges:w,labels:S}}};function De(e,t,n){const o=e.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!o)return e;const r=[];let i=0;for(;o.length>i;){const e=o[i];if("M"===e||"L"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("C"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)for(let e=0;3>e&&o.length>i&&!isNaN(Number(o[i]));e++)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("Q"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)for(let e=0;2>e&&o.length>i&&!isNaN(Number(o[i]));e++)r.push(Number(o[i])+t+""),i++,o.length>i&&!isNaN(Number(o[i]))&&(r.push(Number(o[i])+n+""),i++);else if("A"===e)for(r.push(e),i++;o.length>i&&!isNaN(Number(o[i]));)r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&r.push(o[i++]),o.length>i&&(r.push(Number(o[i])+t+""),i++),o.length>i&&(r.push(Number(o[i])+n+""),i++);else"Z"===e||"z"===e?(r.push(e),i++):(r.push(o[i]),i++)}return r.join(" ")}const Oe=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];function Ne(e){const[t,n,o]=function(e){if(e.startsWith("#")){let t=e.slice(1);if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6===t.length)return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}const t=e.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return t?[+t[1],+t[2],+t[3]]:[128,128,128]}(e);return.299*t+.587*n+.114*o>150?"#222":"#fff"}function Pe(e,t,n){const o=t.nodeIDAccessor;return"function"==typeof o?o(e.data)+"":"string"==typeof o&&void 0!==e.data[o]?e.data[o]+"":void 0!==e.data.name?e.data.name+"":void 0!==e.data.id?e.data.id+"":"node-"+n}function _e(e){return e?"function"==typeof e?e:t=>{var n;return(null===(n=t.data)||void 0===n?void 0:n[e])||t[e]||t.id}:null}function Te(e){return Array.isArray(e.colorScheme)?e.colorScheme:e.themeCategorical&&e.themeCategorical.length>0?e.themeCategorical:Oe}function Ie(e){var t;return Array.isArray(e.colorScheme)&&e.colorScheme.length>0?e.colorScheme[0]:(null===(t=e.themeSemantic)||void 0===t?void 0:t.primary)?e.themeSemantic.primary:e.themeCategorical&&e.themeCategorical.length>0?e.themeCategorical[0]:"#4d430c"}function Re(e,t,n,o,r){if("horizontal"===r){const r=(e+n)/2;return`M ${e},${t} C ${r},${t} ${r},${o} ${n},${o}`}if("radial"===r){const r=(e+n)/2;return`M ${e},${t} Q ${r},${t} ${r},${(t+o)/2} T ${n},${o}`}{const r=(t+o)/2;return`M ${e},${t} C ${e},${r} ${n},${r} ${n},${o}`}}const We={supportsStreaming:!1,hierarchical:!0,computeLayout(e,t,n,o){var r;const i=n.__hierarchyRoot;if(!i)return;const a=n.chartType,s=function(e){if(e)return"function"==typeof e?e:t=>t[e]}(n.childrenAccessor),c=n.hierarchySum,d="function"==typeof c?c:"string"==typeof c?e=>Number(e[c])||0:e=>Number(e.value)||0,u=l.hierarchy(i,s);u.sum(d),u.sort((e,t)=>{var n,o;return(null!==(n=t.value)&&void 0!==n?n:0)-(null!==(o=e.value)&&void 0!==o?o:0)});const[h,f]=o;switch(a){case"tree":!function(e,t,n,o){const r=t.treeOrientation||"vertical",i=l.tree();i.size("horizontal"===r?[o,n]:"radial"===r?[2*Math.PI,Math.min(n,o)/2*.8]:[n,o]),i(e)}(u,n,h,f);break;case"cluster":!function(e,t,n,o){const r=t.treeOrientation||"vertical",i=l.cluster();i.size("horizontal"===r?[o,n]:"radial"===r?[2*Math.PI,Math.min(n,o)/2*.8]:[n,o]),i(e)}(u,n,h,f);break;case"treemap":!function(e,t,n,o){var r,i;const a=null!==(r=t.padding)&&void 0!==r?r:4,s=null!==(i=t.paddingTop)&&void 0!==i?i:0,c=l.treemap().size([n,o]).tile(l.treemapBinary).padding(a);s>0&&c.paddingTop(s),c(e)}(u,n,h,f);break;case"circlepack":!function(e,t,n,o){var r;const i=null!==(r=t.padding)&&void 0!==r?r:4;l.pack().size([n,o]).padding(i)(e)}(u,n,h,f);break;case"partition":!function(e,t,n,o){var r;l.partition().size([n,o]).padding(null!==(r=t.padding)&&void 0!==r?r:1)(e)}(u,n,h,f)}const g=u.descendants();e.length=0,t.length=0;const y=new Map;for(let t=0;g.length>t;t++){const o=g[t],i={id:Pe(o,n,t),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(r=o.value)&&void 0!==r?r:0,depth:o.depth,data:o.data,createdByFrame:!0};"tree"===a||"cluster"===a?$e(i,o,n):"treemap"===a||"partition"===a?Be(i,o):"circlepack"===a&&ze(i,o),i.__hierarchyNode=o,e.push(i),y.set(o,i)}if("tree"===a||"cluster"===a)for(const e of g)if(e.parent){const n=y.get(e.parent),o=y.get(e);n&&o&&t.push({source:n,target:o,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:e.depth}})}},buildScene(e,t,n,o){const r=n.nodeStyle||(()=>({})),i=n.edgeStyle||(()=>({}));switch(n.chartType){case"tree":case"cluster":return function(e,t,n,o,r,i){var a,s,l,c,d,u,h,f;const g=[],y=[],p=[],m=n.treeOrientation||"vertical",v="radial"===m,b=o[0]/2,x=o[1]/2,k="number"==typeof(w=n.nodeSize)?w:5;var w;for(const t of e){let e=t.x,o=t.y;v&&(e+=b,o+=x);const i=r(xe(t,"nodeStyle"));let l=i.fill||Ie(n);if(n.colorByDepth&&void 0!==t.depth){const e=Te(n);l=e[t.depth%e.length]}const c={fill:l,stroke:i.stroke||(null===(a=n.themeSemantic)||void 0===a?void 0:a.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:1,opacity:i.opacity};g.push({type:"circle",cx:e,cy:o,r:k,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const S=null!==(l=n.edgeOpacity)&&void 0!==l?l:.5;for(const e of t){const t="object"==typeof e.source?e.source:null,o="object"==typeof e.target?e.target:null;if(!t||!o)continue;let r=t.x,a=t.y,s=o.x,l=o.y;v&&(r+=b,a+=x,s+=b,l+=x);const f=Re(r,a,s,l,m),g=i(xe(e,"edgeStyle")),p={fill:"none",stroke:g.stroke||(null===(c=n.themeSemantic)||void 0===c?void 0:c.border)||(null===(d=n.themeSemantic)||void 0===d?void 0:d.secondary)||"#999",strokeWidth:null!==(u=g.strokeWidth)&&void 0!==u?u:1.5,opacity:null!==(h=g.opacity)&&void 0!==h?h:S};y.push({type:"curved",pathD:f,style:p,datum:e})}if(!1!==n.showLabels){const t=_e(n.nodeLabel);for(const n of e){const e=t?t(n):n.id;if(!e)continue;let o,r,i,a=n.x,s=n.y;if(v&&(a+=b,s+=x),v){const e=a-b,t=s-x,n=Math.sqrt(e*e+t*t);n>0?(o=a+e/n*10,r=s+t/n*10,i=0>e?"end":"start"):(o=a,r=s-12,i="middle")}else"horizontal"===m?((null===(f=n.data)||void 0===f?void 0:f.children)&&0!==n.data.children.length?(o=a-k-6,i="end"):(o=a+k+6,i="start"),r=s):(o=a,r=s+k+14,i="middle");p.push({x:o,y:r,text:e+"",anchor:i,baseline:"middle",fontSize:11})}}return{sceneNodes:g,sceneEdges:y,labels:p}}(e,t,n,o,r,i);case"treemap":case"partition":return function(e,t,n,o){var r,i,a,s,l;const c=[],d=[];for(const n of e){const e=n.x1-n.x0,a=n.y1-n.y0;if(0>=e||0>=a)continue;const s=o(xe(n,"nodeStyle"));let l=s.fill||Ie(t);if(t.colorByDepth&&void 0!==n.depth){const e=Te(t);l=e[n.depth%e.length]}const d={fill:l,stroke:s.stroke||(null===(r=t.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(i=s.strokeWidth)&&void 0!==i?i:1,opacity:s.opacity};c.push({type:"rect",x:n.x0,y:n.y0,w:e,h:a,style:d,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==t.showLabels){const n=_e(t.nodeLabel),r=t.labelMode||"leaf",i="partition"===t.chartType;for(const c of e){const e=c.x1-c.x0,u=c.y1-c.y0;if(0>=e||0>=u)continue;const h=!((null===(a=c.data)||void 0===a?void 0:a.children)&&c.data.children.length>0);if(!i){if("leaf"===r&&!h)continue;if("parent"===r&&h)continue}const f=n?n(c):c.id;if(!f)continue;if((h?30:40)>e||(h?16:14)>u)continue;let g=o(xe(c,"nodeStyle")).fill||Ie(t);if(t.colorByDepth&&void 0!==c.depth){const e=Te(t);g=e[c.depth%e.length]}const y="string"==typeof g?Ne(g):null!==(l=null===(s=t.themeSemantic)||void 0===s?void 0:s.text)&&void 0!==l?l:"#000";d.push(h?{x:c.x0+e/2,y:c.y0+u/2,text:f+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(e,u)/6)),fill:y}:{x:c.x0+4,y:c.y0+12,text:f+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:y})}}return{sceneNodes:c,sceneEdges:[],labels:d}}(e,n,0,r);case"circlepack":return function(e,t,n,o){var r,i,a,s,l,c,d,u,h,f;const g=[],y=[];for(const n of e){const e=null!==(r=n.__radius)&&void 0!==r?r:5;if(0>=e)continue;const l=o(xe(n,"nodeStyle"));let c=l.fill||Ie(t);if(t.colorByDepth&&void 0!==n.depth){const e=Te(t);c=e[n.depth%e.length]}const d={fill:c,stroke:l.stroke||(null===(i=t.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=l.strokeWidth)&&void 0!==a?a:1,opacity:null!==(s=l.opacity)&&void 0!==s?s:.7};g.push({type:"circle",cx:n.x,cy:n.y,r:e,style:d,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==t.showLabels){const n=_e(t.nodeLabel);for(const r of e){const e=null!==(l=r.__radius)&&void 0!==l?l:5,i=n?n(r):r.id;if(!i)continue;if(15>e)continue;const a=!((null===(c=r.data)||void 0===c?void 0:c.children)&&r.data.children.length>0);let s=o(xe(r,"nodeStyle")).fill||Ie(t);if(t.colorByDepth&&void 0!==r.depth){const e=Te(t);s=e[r.depth%e.length]}if(a){const n="string"==typeof s?Ne(s):null!==(u=null===(d=t.themeSemantic)||void 0===d?void 0:d.text)&&void 0!==u?u:"#000";y.push({x:r.x,y:r.y,text:i+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,e/3)),fill:n})}else y.push({x:r.x,y:r.y-e+14,text:i+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,e/3)),fill:(null===(h=t.themeSemantic)||void 0===h?void 0:h.text)||"#000",stroke:(null===(f=t.themeSemantic)||void 0===f?void 0:f.surface)||"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:g,sceneEdges:[],labels:y}}(e,n,0,r);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function $e(e,t,n){const o=n.treeOrientation||"vertical";if("radial"===o){const n=t.x,o=t.y;e.x=o*Math.cos(n-Math.PI/2),e.y=o*Math.sin(n-Math.PI/2)}else"horizontal"===o?(e.x=t.y,e.y=t.x):(e.x=t.x,e.y=t.y);e.x0=e.x-5,e.x1=e.x+5,e.y0=e.y-5,e.y1=e.y+5,e.width=10,e.height=10}function Be(e,t){e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.x=(t.x0+t.x1)/2,e.y=(t.y0+t.y1)/2,e.width=t.x1-t.x0,e.height=t.y1-t.y0}function ze(e,t){var n;const o=null!==(n=t.r)&&void 0!==n?n:0;e.x=t.x,e.y=t.y,e.x0=t.x-o,e.x1=t.x+o,e.y0=t.y-o,e.y1=t.y+o,e.width=2*o,e.height=2*o,e.__radius=o}function He(e){let t=e.__orbitState;return t||(t={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()},e.__orbitState=t),t}const Fe={supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(e,t,n,o){const r=n.__hierarchyRoot;r&&function(e,t,n,o,r){var i,a;const l=function(e){if("function"==typeof e)return e;const t=e||"children";return e=>e[t]||null}(n.childrenAccessor),c=function(e){if("function"==typeof e)return e;const t=e||"name";return e=>{var n;return(null!==(n=e[t])&&void 0!==n?n:"")+""}}(n.nodeIDAccessor),d=function(e){if(Array.isArray(e))return e;switch(e){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(n.orbitMode),u=null!==(i=n.orbitSize)&&void 0!==i?i:2.95,h=null!==(a=n.orbitEccentricity)&&void 0!==a?a:1,f="number"==typeof u?()=>u:u,g="number"==typeof h?()=>h:h,y=He(n);y.metaMap.clear(),o.length=0,r.length=0;const p=new Map;function m(e){var t;const n=null!==(t=p.get(e))&&void 0!==t?t:0;return p.set(e,n+1),0===n?e:`${e}__${n}`}const v=t[0]/2,b=t[1]/2,x=Math.min(t[0],t[1])/2*.85,k=m(c(e));o.push({id:k,x:v,y:b,x0:v,x1:v,y0:b,y1:b,width:0,height:0,value:0,depth:0,data:e}),y.metaMap.set(k,{ring:x,angle:0,depth:0,parentId:null,eccentricity:1}),function e(t,n,i,a,u,h,p){const v=l(t);if(!(null==v?void 0:v.length))return;const b=v.length;let x=0,k=0,w=0;for(;b>k;)k+=d[Math.min(w,d.length-1)],w++,x++;let S=0;for(let b=0;x>b;b++){const k=d[Math.min(b,d.length-1)],w=v.slice(S,S+k);if(!w.length)break;const M=(b+1)/x,A={id:n,depth:h,data:t,parentId:n},j=p?u/f(A)*M:u*M,L=s.pie().value(e=>{var t;return(null===(t=l(e))||void 0===t?void 0:t.length)?4:1}).sort(null),C=L(w),E=g(A);for(let t=0;w.length>t;t++){const s=(C[t].startAngle+C[t].endAngle)/2,l=w[t],d=m(c(l)),u=i+j*Math.sin(s),f=a+j*Math.cos(s)*E;o.push({id:d,x:u,y:f,x0:u,x1:u,y0:f,y1:f,width:0,height:0,value:0,depth:h,data:l}),y.metaMap.set(d,{ring:j,angle:s,depth:h,parentId:n,eccentricity:E}),r.push({source:n,target:d,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:n,target:d}}),e(l,d,u,f,j,h+1,!0)}S+=k}}(e,k,v,b,x,1,!1)}(r,o,n,e,t)},buildScene(e,t,n,o){var r,i,a,s,l,c,d;const u=n.nodeStyle,h=n.nodeSize,f="number"==typeof h?()=>h:"function"==typeof h?h:()=>6,g=[],y=[],p=[];if(!1!==n.orbitShowRings){const t=He(n),o=new Map;for(const t of e)o.set(t.id,t);const r=new Map;for(const[,e]of t.metaMap){if(!e.parentId)continue;const t=o.get(e.parentId);if(!t)continue;const n=`${e.parentId}:${e.ring}`;r.has(n)||r.set(n,{parentX:t.x,parentY:t.y,ring:e.ring,ecc:e.eccentricity})}const i=48,a={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:e,parentY:t,ring:n,ecc:o}]of r)for(let r=0;i>r;r++){const s=r/i*Math.PI*2,l=(r+1)/i*Math.PI*2;y.push({type:"line",x1:e+n*Math.sin(s),y1:t+n*Math.cos(s)*o,x2:e+n*Math.sin(l),y2:t+n*Math.cos(l)*o,style:a,datum:null})}}for(const t of e){if(null==t.x||null==t.y)continue;const e=f(xe(t,"nodeSize")),o=u?u(xe(t,"nodeStyle")):{},c={fill:o.fill||(null===(r=n.themeSemantic)||void 0===r?void 0:r.primary)||"#6366f1",stroke:o.stroke||(null===(i=n.themeSemantic)||void 0===i?void 0:i.surface)||"#fff",strokeWidth:null!==(a=o.strokeWidth)&&void 0!==a?a:1,opacity:null!==(s=o.opacity)&&void 0!==s?s:0===(null!==(l=t.depth)&&void 0!==l?l:0)?1:.85};g.push({type:"circle",cx:t.x,cy:t.y,r:e,style:c,datum:t,id:t.id,label:t.id,depth:t.depth})}const m=new Map;for(const t of e)m.set(t.id,t);for(const e of t){const t="object"==typeof e.source?e.source:m.get(e.source),n="object"==typeof e.target?e.target:m.get(e.target);t&&n&&(null!=t.x&&null!=n.x&&y.push({type:"line",x1:t.x,y1:t.y,x2:n.x,y2:n.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:e}))}if(n.showLabels){const t=n.nodeLabel;for(const n of e){const e=f(xe(n,"nodeSize"));if(4>=e)continue;const o="function"==typeof t?t(n):t&&null!==(d=null===(c=n.data)||void 0===c?void 0:c[t])&&void 0!==d?d:n.id;p.push({x:n.x,y:n.y+e+12,text:o+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:g,sceneEdges:y,labels:p}},tick:(e,t,n,o,r)=>!1!==n.orbitAnimated&&(function(e,t){var n,o;const r=He(t),i=null!==(n=t.orbitSpeed)&&void 0!==n?n:.25,a=null!==(o=t.orbitRevolution)&&void 0!==o?o:function(e){switch(e){case"decay":return e=>{var t;return Math.pow(.6,null!==(t=e.depth)&&void 0!==t?t:0)};case"alternate":return e=>{var t;const n=null!==(t=e.depth)&&void 0!==t?t:0;return(n%2==0?1:-1)/(n+1)};default:return e=>{var t;return 1/((null!==(t=e.depth)&&void 0!==t?t:0)+1)}}}(t.orbitRevolutionStyle),s=(("undefined"!=typeof performance?performance.now():Date.now())-r.startTime)/1e3,l=i*(Math.PI/6),c=new Map;for(const t of e)c.set(t.id,t);for(const t of e){const e=r.metaMap.get(t.id);if(!e||!e.parentId)continue;const n=c.get(e.parentId);if(!n)continue;const o=e.angle+s*l*a({id:t.id,depth:e.depth,data:t.data,parentId:e.parentId});t.x=n.x+e.ring*Math.sin(o),t.y=n.y+e.ring*Math.cos(o)*e.eccentricity,t.x0=t.x,t.x1=t.x,t.y0=t.y,t.y1=t.y}}(e,n),!0)},Ye={sankey:Se,force:Me,chord:Ee,tree:We,cluster:We,treemap:We,circlepack:We,partition:We,orbit:Fe};function Xe(e){return Ye[e]}const Ge={category10:b,tableau10:["#4e79a7","#f28e2c","#e15759","#76b7b2","#59a14f","#edc949","#af7aa1","#ff9da7","#9c755f","#bab0ab"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],blues:x,reds:k,greens:w,oranges:S,purples:M,viridis:A,plasma:j},qe=b,Ve=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"],Ke=["#f0f0f0","#b5d4ea","#f4c2a1","#b8dab2","#d4b5e0","#f9e0a2","#a8d8d8"],Qe=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function Ze(e,t,n){if("function"==typeof t){const o=t(e);return n&&o&&"string"==typeof o&&!function(e){const t=e.toLowerCase();return t.startsWith("#")||t.startsWith("rgb")||t.startsWith("hsl")||Qe.has(t)}(o)?n(o):o}const o=(null==e?void 0:e[t])+"";return n?n(o):qe[Math.abs(function(e){let t=0;for(let n=0;e.length>n;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return Math.abs(t)}(o))%qe.length]}function Ue(e,t,n="category10"){const o=Array.from(new Set(e.map(e=>null==e?void 0:e[t]).filter(e=>null!=e).map(e=>e+""))),r=o.every(e=>!isNaN(Number(e)));if(Array.isArray(n))return i.scaleOrdinal().domain(o).range(n).unknown("#999");const a=Ge[n]||Ge.category10;if(r&&"function"==typeof a){let e=-1/0;for(const t of o){const n=Number(t);n>e&&(e=n)}return t=>a(Number(t)/e)}{const e=Array.isArray(a)?a:qe;return i.scaleOrdinal().domain(o).range(e).unknown("#999")}}function Je(e){return 0===e.length?()=>"#4e79a7":t=>{var n;let o=0;for(let e=0;t.length>e;e++)o=31*o+t.charCodeAt(e)|0;return null!==(n=e[Math.abs(o)%e.length])&&void 0!==n?n:"#4e79a7"}}function et(e,t,n){return e+(t-e)*n}function tt(e,t,n){var o,r,i;if(1>=n)return 1;const a=null!==(o=e.minOpacity)&&void 0!==o?o:.1,s=n-1-t;switch(e.type){case"linear":return a+(1-s/(n-1))*(1-a);case"exponential":{const t=null!==(r=e.halfLife)&&void 0!==r?r:n/2;return a+Math.pow(.5,s/t)*(1-a)}case"step":return(null!==(i=e.stepThreshold)&&void 0!==i?i:.5*n)>s?1:a;default:return 1}}class nt{constructor(e){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.customLayoutOverlays=null,this._nodeQuadtree=null,this._maxNodeRadius=0,this._sceneNodesRevision=0,this._nodeQuadtreeRevision=-1,this._nodesArrCache=null,this._edgesArrCache=null,this._arrCacheVersion=-1,this.particlePool=null,this.transition=null,this._hasRenderedOnce=!1,this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this._decayAgeMap=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=e,this.tensionConfig=Object.assign(Object.assign({},g),e.tensionConfig),e.showParticles&&("sankey"===e.chartType||e.customNetworkLayout)&&(this.particlePool=new L(2e3))}updateConfig(e){const t=this.config;t.__orbitState&&(e.__orbitState=t.__orbitState),t.__hierarchyRoot&&(e.__hierarchyRoot=t.__hierarchyRoot),this.config=e,this.tensionConfig=Object.assign(Object.assign({},g),e.tensionConfig),!e.showParticles||"sankey"!==e.chartType&&!e.customNetworkLayout||this.particlePool||(this.particlePool=new L(2e3))}ingestHierarchy(e,t){this._boundedPrevSnapshot=new Map;for(const[e,t]of this.nodes)0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1||this._boundedPrevSnapshot.set(e,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=e,this.runLayout(t),this._boundedPrevSnapshot=null}ingestBounded(e,t,n){const{nodeIDAccessor:o="id",sourceAccessor:r="source",targetAccessor:i="target",valueAccessor:a="value"}=this.config,s="function"==typeof o?o:e=>e[o],l="function"==typeof r?r:e=>e[r],c="function"==typeof i?i:e=>e[i],d="function"==typeof a?a:e=>{var t;return null!==(t=e[a])&&void 0!==t?t:1};this._boundedPrevSnapshot=new Map;for(const[e,t]of this.nodes)0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1||this._boundedPrevSnapshot.set(e,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1});this._boundedEdgeSnapshot=new Map;for(const[,e]of this.edges)e.sankeyWidth>0&&this._boundedEdgeSnapshot.set(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`,{y0:e.y0,y1:e.y1,sankeyWidth:e.sankeyWidth});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of e){const e=s(t)+"";this.nodes.set(e,Object.assign(Object.assign({},ot(e)),{data:t}))}for(let e=0;t.length>e;e++){const n=t[e],o=l(n)+"",r=c(n)+"",i=d(n),a=null==i?NaN:Number(i),s=Number.isFinite(a)?a:1;this.nodes.has(o)||this.nodes.set(o,Object.assign(Object.assign({},ot(o)),{data:n})),this.nodes.has(r)||this.nodes.set(r,Object.assign(Object.assign({},ot(r)),{data:n}));const u=`${o}\0${r}\0${e}`,h={source:o,target:r,value:s,y0:0,y1:0,sankeyWidth:0,data:n,_edgeKey:u};n&&"object"==typeof n&&rt(n.bezier)&&(h.bezier=n.bezier),this.edges.set(u,h)}this.runLayout(n)}edgeKey(e,t){return`${e}\0${t}`}ingestEdge(e){const{source:t,target:n,value:o}=e,r=0===this.nodes.size;let i=!1;const a="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=a,this._decaySortedNodes=null,this.nodes.has(t)||(this.nodes.set(t,ot(t)),this.nodeTimestamps.set(t,a),this.tension+=this.tensionConfig.newNode,i=!0),this.nodes.has(n)||(this.nodes.set(n,ot(n)),this.nodeTimestamps.set(n,a),this.tension+=this.tensionConfig.newNode,i=!0);const s=this.edgeKey(t,n),l=this.edges.get(s);let c=!1;return l?(l.value+=o,this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.weightChange,c=!0):(this.edges.set(s,{source:t,target:n,value:o,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(s,a),this.tension+=this.tensionConfig.newEdge,i=!0),r||i||c||this.tension>=this.tensionConfig.threshold}runLayout(e){var t,n,o,r,i,a,s,l;if(this.config.customNetworkLayout)return this.recordTopologyDiff(),void this.layoutVersion++;const c=Xe(this.config.chartType);if(!c)return;let d=Array.from(this.nodes.values());const u=Array.from(this.edges.values());if(0===d.length&&!c.hierarchical)return;if(this.prepareForRelayout(),c.supportsStreaming&&!c.hierarchical){const e=new Map;for(const s of d)if(void 0!==s._prevX0){const l=(null!==(t=s._prevX1)&&void 0!==t?t:0)-(null!==(n=s._prevX0)&&void 0!==n?n:0),c=(null!==(o=s._prevY1)&&void 0!==o?o:0)-(null!==(r=s._prevY0)&&void 0!==r?r:0);e.set(s.id,{x:(null!==(i=s._prevX0)&&void 0!==i?i:0)+l/2,y:(null!==(a=s._prevY0)&&void 0!==a?a:0)+c/2})}else 0===s.x&&0===s.y||e.set(s.id,{x:s.x,y:s.y});if(this._lastPositionSnapshot)for(const[t,n]of this._lastPositionSnapshot)e.has(t)||e.set(t,n);this.config.__previousPositions=e.size>0?e:void 0}if(c.computeLayout(d,u,this.config,e),this.config.__previousPositions=void 0,c.hierarchical&&d.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of d)this.nodes.set(e.id,e);for(let e=0;u.length>e;e++){const t=u[e],n=t._edgeKey||`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}\0${e}`;t._edgeKey=n,this.edges.set(n,t)}const e=this._boundedPrevSnapshot;if(e&&e.size>0)for(const t of this.nodes.values()){const n=e.get(t.id);n&&(t._prevX0=n.x0,t._prevX1=n.x1,t._prevY0=n.y0,t._prevY1=n.y1)}this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,d=Array.from(this.nodes.values())}this.finalizeLayout();const h=new Map;for(const e of this.nodes.values())0===e.x&&0===e.y||h.set(e.id,{x:e.x,y:e.y});this._lastPositionSnapshot=h,this.saveTargetPositions();const f=d.some(e=>void 0!==e._prevX0&&(0!==e._prevX0||0!==e._prevX1||0!==e._prevY0||0!==e._prevY1)),g=null!==(l=null===(s=this.config.transition)||void 0===s?void 0:s.duration)&&void 0!==l?l:this.tensionConfig.transitionDuration;if(!this._hasRenderedOnce&&this.config.introAnimation&&["sankey","tree","treemap","circlepack","partition"].includes(this.config.chartType)&&d.length>0&&g>0){const t=e[0]/2,n=e[1]/2;for(const e of this.nodes.values())e._prevX0=t,e._prevX1=t,e._prevY0=n,e._prevY1=n;for(const e of this.edges.values())e._prevY0=n,e._prevY1=n,e._prevSankeyWidth=0,e._introFromZero=!0;this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g}}else f&&g>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g});this._hasRenderedOnce=!0,this.recordTopologyDiff(),this.layoutVersion++}recordTopologyDiff(){const e=new Set(this.nodes.keys()),t=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const t of e)this.previousNodeIds.has(t)||this.addedNodes.add(t);for(const t of this.previousNodeIds)e.has(t)||this.removedNodes.add(t);for(const e of t)this.previousEdgeKeys.has(e)||this.addedEdges.add(e);for(const e of this.previousEdgeKeys)t.has(e)||this.removedEdges.add(e);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=e,this.previousEdgeKeys=t}buildScene(e){var t,n,o,r,i,a;if(this._sceneNodesRevision++,this.config.customNetworkLayout){const s=Array.from(this.nodes.values()),l=Array.from(this.edges.values()),c=function(e,t,n){if(Array.isArray(e)&&e.length>0)return e;if("string"==typeof e){const t=Ge[e];if(Array.isArray(t)&&t.length>0)return t}return t&&t.length>0?t:n}(this.config.colorScheme,this.config.themeCategorical,b),d={nodes:s,edges:l,dimensions:{width:e[0],height:e[1],plot:{x:0,y:0,width:e[0],height:e[1]}},theme:{semantic:null!==(t=this.config.themeSemantic)&&void 0!==t?t:{},categorical:[...c]},resolveColor:Je(c),config:null!==(n=this.config.layoutConfig)&&void 0!==n?n:{}};let u;try{u=this.config.customNetworkLayout(d)}catch(e){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customNetworkLayout threw:",e),this.sceneNodes=[],this.sceneEdges=[],this.labels=[],void(this.customLayoutOverlays=null)}return this.sceneNodes=null!==(o=u.sceneNodes)&&void 0!==o?o:[],this.sceneEdges=null!==(r=u.sceneEdges)&&void 0!==r?r:[],this.labels=null!==(i=u.labels)&&void 0!==i?i:[],void(this.customLayoutOverlays=null!==(a=u.overlays)&&void 0!==a?a:null)}this.customLayoutOverlays=null;const s=Xe(this.config.chartType);if(!s)return;const l=s.hierarchical?Array.from(this.nodes.values()):this.nodesArray,c=s.hierarchical?Array.from(this.edges.values()):this.edgesArray,{sceneNodes:d,sceneEdges:u,labels:h}=s.buildScene(l,c,this.config,e);this.sceneNodes=d,this.sceneEdges=u,this.labels=h}rebuildNodeQuadtree(){let e=0,t=0;for(const n of this.sceneNodes)"circle"===n.type&&(e++,n.r>t&&(t=n.r));if(this._maxNodeRadius=t,nt.QUADTREE_THRESHOLD>=e)return void(this._nodeQuadtree=null);const n=Array(e);let o=0;for(const e of this.sceneNodes)"circle"===e.type&&(n[o++]=e);this._nodeQuadtree=c.quadtree().x(e=>e.cx).y(e=>e.cy).addAll(n)}get nodeQuadtree(){return this._nodeQuadtreeRevision!==this._sceneNodesRevision&&(this.rebuildNodeQuadtree(),this._nodeQuadtreeRevision=this._sceneNodesRevision),this._nodeQuadtree}get maxNodeRadius(){return this._maxNodeRadius}_ensureArrays(){this._arrCacheVersion===this.layoutVersion&&this._nodesArrCache&&this._edgesArrCache||(this._nodesArrCache=Array.from(this.nodes.values()),this._edgesArrCache=Array.from(this.edges.values()),this._arrCacheVersion=this.layoutVersion)}get nodesArray(){return this._ensureArrays(),this._nodesArrCache}get edgesArray(){return this._ensureArrays(),this._edgesArrCache}get isAnimating(){const e=Xe(this.config.chartType);return!!(null==e?void 0:e.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(e,t){const n=Xe(this.config.chartType);if(!(null==n?void 0:n.tick))return!1;const o=n.hierarchical?Array.from(this.nodes.values()):this.nodesArray,r=n.hierarchical?Array.from(this.edges.values()):this.edgesArray;return n.tick(o,r,this.config,e,t)}cancelIntroAnimation(){this.transition=null;for(const e of this.nodes.values())e._prevX0=void 0,e._prevX1=void 0,e._prevY0=void 0,e._prevY1=void 0;for(const e of this.edges.values())e._prevY0=void 0,e._prevY1=void 0,e._prevSankeyWidth=void 0,e._introFromZero=!1}advanceTransition(e){if(!this.transition)return!1;const t=function(e,t){return Math.min((e-t.startTime)/t.duration,1)}(e,this.transition),n=function(e,t="ease-out-cubic"){return"linear"===t?e:1-Math.pow(1-e,3)}(t);for(const e of this.nodes.values())void 0===e._targetX0||void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=et(e._prevX0,e._targetX0,n),e.x1=et(e._prevX1,e._targetX1,n),e.y0=et(e._prevY0,e._targetY0,n),e.y1=et(e._prevY1,e._targetY1,n));for(const e of this.edges.values())void 0!==e._targetY0&&void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&(e._prevSankeyWidth>0||e._introFromZero)&&(e.y0=et(e._prevY0,e._targetY0,n),e.y1=et(e._prevY1,e._targetY1,n),e.sankeyWidth=et(e._prevSankeyWidth,e._targetSankeyWidth,n));return this.rebuildAllBeziers(),1>t||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){const e=this._boundedPrevSnapshot;for(const t of this.nodes.values()){const n=null==e?void 0:e.get(t.id);n&&0===t.x0&&0===t.x1&&0===t.y0&&0===t.y1?(t._prevX0=n.x0,t._prevX1=n.x1,t._prevY0=n.y0,t._prevY1=n.y1):(t._prevX0=t.x0,t._prevX1=t.x1,t._prevY0=t.y0,t._prevY1=t.y1)}const t=this._boundedEdgeSnapshot;for(const e of this.edges.values()){if(t&&0===e.sankeyWidth){const n=t.get(`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}`);if(n){e._prevY0=n.y0,e._prevY1=n.y1,e._prevSankeyWidth=n.sankeyWidth;continue}}e._prevY0=e.y0,e._prevY1=e.y1,e._prevSankeyWidth=e.sankeyWidth}this.nodes.size>0&&(this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null)}finalizeLayout(){const e="vertical"===this.config.orientation?"down":"right";for(const e of this.nodes.values())if(0!==e.x0||0!==e.x1||0!==e.y0||0!==e.y1)e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;else{const t=5;e.x0=e.x-t,e.x1=e.x+t,e.y0=e.y-t,e.y1=e.y+t,e.width=2*t,e.height=2*t}for(const t of this.edges.values())t.direction=e,this.updateEdgeBezier(t);this.tension=0}saveTargetPositions(){for(const e of this.nodes.values())e._targetX0=e.x0,e._targetX1=e.x1,e._targetY0=e.y0,e._targetY1=e.y1;for(const e of this.edges.values())e._targetY0=e.y0,e._targetY1=e.y1,e._targetSankeyWidth=e.sankeyWidth}restorePreviousPositions(){for(const e of this.nodes.values())void 0===e._prevX0||0===e._prevX0&&0===e._prevX1||(e.x0=e._prevX0,e.x1=e._prevX1,e.y0=e._prevY0,e.y1=e._prevY1);for(const e of this.edges.values())void 0!==e._prevY0&&void 0!==e._prevSankeyWidth&&e._prevSankeyWidth>0&&(e.y0=e._prevY0,e.y1=e._prevY1,e.sankeyWidth=e._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const e of this.nodes.values())void 0!==e._targetX0&&(e.x0=e._targetX0,e.x1=e._targetX1,e.y0=e._targetY0,e.y1=e._targetY1);for(const e of this.edges.values())void 0!==e._targetY0&&(e.y0=e._targetY0,e.y1=e._targetY1,e.sankeyWidth=e._targetSankeyWidth),e._introFromZero=void 0;this.rebuildAllBeziers()}updateEdgeBezier(e){const t="string"==typeof e.source?this.nodes.get(e.source):e.source,n="string"==typeof e.target?this.nodes.get(e.target):e.target;t&&n&&(e.bezier=e.circular&&e.circularPathData?this.buildCircularBezier(e):this.buildStandardBezier(e,t,n))}buildStandardBezier(e,t,o){const r=(e.sankeyWidth||1)/2;if("down"===e.direction){const i=t.x1,a=o.x0,s=n.interpolateNumber(i,a);return{circular:!1,points:[{x:e.y0,y:i},{x:e.y0,y:s(.5)},{x:e.y1,y:s(.5)},{x:e.y1,y:a}],halfWidth:r}}const i=t.x1,a=o.x0,s=n.interpolateNumber(i,a);return{circular:!1,points:[{x:i,y:e.y0},{x:s(.5),y:e.y0},{x:s(.5),y:e.y1},{x:a,y:e.y1}],halfWidth:r}}buildCircularBezier(e){const t=(e._circularWidth||e.sankeyWidth||1)/2,n=e.circularPathData;if(!n)throw Error("buildCircularBezier requires circularPathData");if(e._circularStub){const e=Math.max(15,Math.min(40,.33*(n.rightFullExtent-n.sourceX))),o=Math.max(15,Math.min(40,.33*(n.targetX-n.leftFullExtent)));return{circular:!0,segments:[[{x:n.sourceX,y:n.sourceY},{x:n.sourceX+.33*e,y:n.sourceY},{x:n.sourceX+.66*e,y:n.sourceY},{x:n.sourceX+e,y:n.sourceY}],[{x:n.targetX-o,y:n.targetY},{x:n.targetX-.66*o,y:n.targetY},{x:n.targetX-.33*o,y:n.targetY},{x:n.targetX,y:n.targetY}]],halfWidth:t}}let o;o="down"===e.direction?[{x:n.sourceY,y:n.sourceX},{x:n.sourceY,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.leftFullExtent},{x:n.targetY,y:n.leftFullExtent},{x:n.targetY,y:n.targetX}]:[{x:n.sourceX,y:n.sourceY},{x:n.rightFullExtent,y:n.sourceY},{x:n.rightFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.targetY},{x:n.targetX,y:n.targetY}];const r=[];for(let e=0;o.length-1>e;e++){const t=o[e],n=o[e+1],i=n.x-t.x,a=n.y-t.y;r.push([t,{x:t.x+i/3,y:t.y+a/3},{x:t.x+2*i/3,y:t.y+2*a/3},n])}return{circular:!0,segments:r,halfWidth:t}}rebuildAllBeziers(){for(const e of this.nodes.values())e.width=e.x1-e.x0,e.height=e.y1-e.y0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2;for(const e of this.edges.values())this.updateEdgeBezier(e)}applyPulse(e){var t,n,o,r,i;const a=this.config.pulse;if(!a)return;const s=null!==(t=a.duration)&&void 0!==t?t:500,l=null!==(n=a.color)&&void 0!==n?n:"rgba(255,255,255,0.6)",c=null!==(o=a.glowRadius)&&void 0!==o?o:4;for(const t of this.sceneNodes){const n=t.id;if(!n)continue;const o=this.nodeTimestamps.get(n);if(!o)continue;const r=e-o;s>r&&(t._pulseIntensity=1-r/s,t._pulseColor=l,t._pulseGlowRadius=c)}for(const t of this.sceneEdges){const n=t.datum;if(!n)continue;const o="object"==typeof n.source?null===(r=n.source)||void 0===r?void 0:r.id:n.source,a="object"==typeof n.target?null===(i=n.target)||void 0===i?void 0:i.id:n.target;if(!o||!a)continue;const c=this.edgeTimestamps.get(`${o}\0${a}`);if(!c)continue;const d=e-c;s>d&&(t._pulseIntensity=1-d/s,t._pulseColor=l)}}applyDecay(){var e,t;const n=this.config.decay;if(!n)return;const o=this.nodeTimestamps.size;if(1>=o)return;if(!this._decaySortedNodes){this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((e,t)=>e[1]-t[1]);const e=new Map;for(let t=0;this._decaySortedNodes.length>t;t++)e.set(this._decaySortedNodes[t][0],t);this._decayAgeMap=e}const r=this._decayAgeMap;for(const i of this.sceneNodes){const a=i.id;if(!a)continue;const s=r.get(a);if(void 0===s)continue;const l=tt(n,s,o),c=null!==(t=null===(e=i.style)||void 0===e?void 0:e.opacity)&&void 0!==t?t:1;i.style=Object.assign(Object.assign({},i.style),{opacity:c*l})}}applyTopologyDiff(e){var t;if(0===this.addedNodes.size)return;const n=e-this.lastTopologyChangeTime;if(n>=2e3)return;const o=1-n/2e3;for(const e of this.sceneNodes){const n=e.id;n&&this.addedNodes.has(n)&&(e._pulseIntensity=Math.max(null!==(t=e._pulseIntensity)&&void 0!==t?t:0,o),e._pulseColor="rgba(34, 197, 94, 0.7)",e._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(e){var t,n;const o=this.config.thresholds;if(!o)return;const r=null!==(t=o.warningColor)&&void 0!==t?t:"#f59e0b",i=null!==(n=o.criticalColor)&&void 0!==n?n:"#ef4444",a=!1!==o.pulse;for(const t of this.sceneNodes){const n=t.id;if(!n)continue;const s=this.nodes.get(n);if(!s)continue;const l=o.metric(s);let c=null;void 0===o.critical||o.critical>l?void 0===o.warning||o.warning>l||(c=r):c=i,c&&(t.style=Object.assign(Object.assign({},t.style),{fill:c}),a&&(t._pulseIntensity=.6+.4*Math.sin(e/300),t._pulseColor=c,t._pulseGlowRadius=6))}}get hasActiveThresholds(){const e=this.config.thresholds;if(!e)return!1;for(const t of this.nodes.values()){const n=e.metric(t);if(void 0!==e.warning&&n>=e.warning||void 0!==e.critical&&n>=e.critical)return!0}return!1}get hasActivePulses(){var e;const t=this.config.pulse;if(!t||0===this.lastIngestTime)return!1;const n="undefined"!=typeof performance?performance.now():Date.now();return(null!==(e=t.duration)&&void 0!==e?e:500)>n-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}updateNode(e,t){var n;const o=this.nodes.get(e);if(!o)return null;const r=o.data?Object.assign({},o.data):{};return o.data=t(null!==(n=o.data)&&void 0!==n?n:{}),this.layoutVersion++,r}updateEdge(e,t,n){var o;const r=this.config.valueAccessor,i="function"==typeof r?r:r?e=>e[r]:e=>e.value,a=[];for(const[,r]of this.edges)if(("string"==typeof r.source?r.source:r.source.id)===e&&("string"==typeof r.target?r.target:r.target.id)===t){a.push(r.data?Object.assign({},r.data):{}),r.data=n(null!==(o=r.data)&&void 0!==o?o:{});const e=i(r.data);null!=e&&(r.value=Number(e))}return a.length>0&&this.layoutVersion++,a}removeNode(e){if(!this.nodes.has(e))return!1;this.nodes.delete(e),this.nodeTimestamps.delete(e);for(const[t,n]of this.edges)("string"==typeof n.source?n.source:n.source.id)!==e&&("string"==typeof n.target?n.target:n.target.id)!==e||(this.edges.delete(t),this.edgeTimestamps.delete(t));return this.layoutVersion++,!0}removeEdge(e,t){const n=[];if(void 0===t){const t=this.config.edgeIdAccessor;if(!t)throw Error("removeEdge(edgeId) requires edgeIdAccessor to be configured. Use removeEdge(sourceId, targetId) instead.");const o="function"==typeof t?t:e=>null==e?void 0:e[t];for(const[t,r]of this.edges)r.data&&o(r.data)===e&&n.push(t)}else for(const[o,r]of this.edges)("string"==typeof r.source?r.source:r.source.id)===e&&("string"==typeof r.target?r.target:r.target.id)===t&&n.push(o);for(const e of n)this.edges.delete(e),this.edgeTimestamps.delete(e);return n.length>0&&this.layoutVersion++,n.length>0}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this._decayAgeMap=null,this._nodeQuadtree=null,this._nodesArrCache=null,this._edgesArrCache=null,this._sceneNodesRevision++,this.tension=0,this.layoutVersion++,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this._hasRenderedOnce=!1,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,this.particlePool&&this.particlePool.clear()}}function ot(e){return{id:e,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function rt(e){if(!e||"object"!=typeof e)return!1;const t=e;if("boolean"!=typeof t.circular)return!1;if("number"!=typeof t.halfWidth||!Number.isFinite(t.halfWidth))return!1;if(t.circular){if(!Array.isArray(t.segments)||0===t.segments.length)return!1;for(const e of t.segments)if(!it(e))return!1;return!0}return it(t.points)}function it(e){if(!Array.isArray(e)||4!==e.length)return!1;for(const t of e){if(!t||"object"!=typeof t)return!1;const e=t;if("number"!=typeof e.x||!Number.isFinite(e.x))return!1;if("number"!=typeof e.y||!Number.isFinite(e.y))return!1}return!0}function at(...e){const t=e.filter(e=>null!=e);return 0===t.length?null:1===t.length?t[0]:u.createElement(u.Fragment,null,...t)}function st(e,t=30){return Math.max((null!=e?e:4)+5,12,t)}function lt(e){let t=e%(2*Math.PI);return 0>t&&(t+=2*Math.PI),t}function ct(e,t,n,o,r=30,i,a=0){let s=null,l=r,c=1/0;if(i){const e=function(e,t,n,o,r,i=e=>e.x,a=e=>e.y,s=e=>e.r){const l=Math.max(o,r+5,12),c=t-l,d=t+l,u=n-l,h=n+l;let f=null,g=1/0;return e.visit((e,r,l,y,p)=>{if(r>d||c>y||l>h||u>p)return!0;if(!e.length){let r=e;do{const e=r.data,l=i(e)-t,c=a(e)-n,d=Math.sqrt(l*l+c*c);st(s(e),o)>=d&&g>d&&(f=e,g=d),r=r.next}while(r)}return!1}),f?{node:f,distance:g}:null}(i,n,o,r,a,e=>e.cx,e=>e.cy,e=>e.r);e&&(s={type:"node",datum:e.node.datum,x:e.node.cx,y:e.node.cy,distance:e.distance},l=e.distance)}for(const t of e){if(i&&"circle"===t.type)continue;const e=dt(t,n,o,r);if(e)if("rect"===t.type){const n=t.w*t.h;c>n&&(s=e,c=n)}else l>e.distance&&(s=e,l=e.distance)}if(s)return s;for(const e of t){if(!1===e.interactive)continue;const t=yt(e,n,o);t&&l>t.distance&&(s=t,l=t.distance)}return s}function dt(e,t,n,o=30){switch(e.type){case"circle":return function(e,t,n,o=30){const r=t-e.cx,i=n-e.cy,a=Math.sqrt(r*r+i*i);return a>st(e.r,o)?null:{type:"node",datum:e.datum,x:e.cx,y:e.cy,distance:a}}(e,t,n,o);case"rect":return function(e,t,n){const o=function(e,t,n){return n.x>e||e>n.x+n.w||n.y>t||t>n.y+n.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:n.x+n.w/2,cy:n.y+n.h/2}}(t,n,e);return o.hit?{type:"node",datum:e.datum,x:o.cx,y:o.cy,distance:0}:null}(e,t,n);case"arc":return function(e,t,n){const o=t-e.cx,r=n-e.cy,i=Math.sqrt(o*o+r*r);if(e.innerR-2>i||i>e.outerR+2)return null;const a=lt(Math.atan2(r,o)),s=lt(e.startAngle),l=lt(e.endAngle);if(s>l?a>=s||l>=a:a>=s&&l>=a){const t=(e.startAngle+e.endAngle)/2,n=(e.innerR+e.outerR)/2;return{type:"node",datum:e.datum,x:e.cx+n*Math.cos(t),y:e.cy+n*Math.sin(t),distance:0}}return null}(e,t,n);default:return null}}nt.QUADTREE_THRESHOLD=500;let ut=null,ht=null;function ft(){return ht||(ut=document.createElement("canvas"),ut.width=1,ut.height=1,ht=ut.getContext("2d")),ht}function gt(e){if(e._cachedPath2D&&e._cachedPath2DSource===e.pathD)return e._cachedPath2D;try{return e._cachedPath2D=new Path2D(e.pathD),e._cachedPath2DSource=e.pathD,e._cachedPath2D}catch(e){return null}}function yt(e,t,n){switch(e.type){case"bezier":return function(e,t,n){if(!e.pathD)return null;const o=gt(e),r=ft();if(!o||!r)return null;try{if(r.isPointInPath(o,t,n))return{type:"edge",datum:e.datum,x:t,y:n,distance:0};const i=r.lineWidth;r.lineWidth=10;const a=r.isPointInStroke(o,t,n);if(r.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:n,distance:4}}catch(e){}return null}(e,t,n);case"line":return function(e,t,n){const o=e.x2-e.x1,r=e.y2-e.y1,i=o*o+r*r;if(0===i)return null;let a=((t-e.x1)*o+(n-e.y1)*r)/i;a=Math.max(0,Math.min(1,a));const s=e.x1+a*o,l=e.y1+a*r,c=Math.sqrt(Math.pow(t-s,2)+Math.pow(n-l,2));return c>5?null:{type:"edge",datum:e.datum,x:s,y:l,distance:c}}(e,t,n);case"ribbon":case"curved":return function(e,t,n){if(!e.pathD)return null;const o=gt(e),r=ft();if(!o||!r)return null;try{if(r.isPointInPath(o,t,n))return{type:"edge",datum:e.datum,x:t,y:n,distance:0};const i=r.lineWidth;r.lineWidth=10;const a=r.isPointInStroke(o,t,n);if(r.lineWidth=i,a)return{type:"edge",datum:e.datum,x:t,y:n,distance:4}}catch(e){}return null}(e,t,n);default:return null}}function pt(e,t,n){const{group:o,indexInGroup:r}=t,i=n.byGroup.get(o);switch(e){case"ArrowRight":return i.length-1>r?i[r+1]._flatIndex:t.flatIndex;case"ArrowLeft":return r>0?i[r-1]._flatIndex:t.flatIndex;case"ArrowDown":{const e=n.groups.indexOf(o);return n.groups.length-1>e?mt(n,n.groups[e+1],i[r]):t.flatIndex}case"ArrowUp":{const e=n.groups.indexOf(o);return e>0?mt(n,n.groups[e-1],i[r]):t.flatIndex}case"PageDown":return Math.min(t.flatIndex+Math.max(1,Math.floor(.1*n.flat.length)),n.flat.length-1);case"PageUp":return Math.max(t.flatIndex-Math.max(1,Math.floor(.1*n.flat.length)),0);case"Home":return 0;case"End":return n.flat.length-1;case"Escape":return-1;default:return null}}function mt(e,t,n){const o=e.byGroup.get(t);let r=0,i=Math.abs(o[0].x-n.x);for(let e=1;o.length>e;e++){const t=Math.abs(o[e].x-n.x);i>t&&(i=t,r=e)}return o[r]._flatIndex}function vt(e){return"object"==typeof e&&null!==e&&"id"in e?e.id:e}const bt="var(--semiotic-focus, #005fcc)";function xt({active:t,hoverPoint:n,margin:o,size:r,shape:i="circle",width:a,height:s}){if(!t||!n)return null;const l=n.x+o.left,c=n.y+o.top;let d;if("rect"===i&&null!=a&&null!=s){const t=Math.max(a,4),n=Math.max(s,4);d=e.jsx("rect",{x:l-t/2-3,y:c-n/2-3,width:t+6,height:n+6,rx:3,fill:"none",stroke:bt,strokeWidth:2,strokeDasharray:"4,2"})}else d=e.jsx("circle","wedge"===i?{cx:l,cy:c,r:12,fill:"none",stroke:bt,strokeWidth:2.5,strokeDasharray:"6,3"}:{cx:l,cy:c,r:8,fill:"none",stroke:bt,strokeWidth:2,strokeDasharray:"4,2"});return e.jsx("svg",{style:{position:"absolute",left:0,top:0,width:r[0],height:r[1],pointerEvents:"none",zIndex:2},"aria-hidden":"true",children:d})}const kt={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, white)",padding:"8px 12px",borderRadius:"var(--semiotic-tooltip-radius, 6px)",fontSize:"var(--semiotic-tooltip-font-size, 14px)",fontFamily:"var(--semiotic-font-family, inherit)",lineHeight:"1.5",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.15))",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function wt(e,t){return"function"==typeof t?t(e):e[t]}function St(e,t){if(t)return t(e);if(null==e)return"";if("number"==typeof e){if(!Number.isFinite(e))return e+"";const t=Number.isInteger(e)?e:parseFloat(e.toPrecision(6));return Math.abs(t)>9999?t.toLocaleString():t+""}return e instanceof Date?e.toLocaleDateString():"object"==typeof e&&null!==e?void 0!==e.id?e.id+"":void 0!==e.name?e.name+"":JSON.stringify(e):e+""}function Mt(t={}){const{fields:n,title:o,format:r,style:i={},className:a=""}=t;return t=>{if(!t||"object"!=typeof t)return null;let s;const l=[];if(o){const e=wt(t,o);s=St(e,r)}if(n&&n.length>0)n.forEach(e=>{let n,o,i;"string"==typeof e?(n=e,o=e,i=r):(n=e.label,o=e.accessor||e.key||"",i=e.format||r);const a=wt(t,o);l.push({label:n,value:St(a,i)})});else if(!o){const e=["value","y","name","id","label"];for(const n of e)if(void 0!==t[n]){s=St(t[n],r);break}if(!s){const e=Object.keys(t).filter(e=>!e.startsWith("_"));e.length>0&&(s=St(t[e[0]],r))}}const c=Object.assign(Object.assign({},kt),i);return e.jsxs("div",{className:("semiotic-tooltip "+a).trim(),style:c,children:[s&&e.jsx("div",{style:{fontWeight:l.length>0?"bold":"normal"},children:s}),l.map((t,n)=>e.jsxs("div",{style:{marginTop:0===n&&s?"4px":0},children:[t.label&&e.jsxs("span",{children:[t.label,": "]}),t.value]},n))]})}}function At(t){if(!0!==t){if("function"==typeof t){const n=t;return t=>{var o;const r=h(!0===(null==t?void 0:t.__semioticHoverData)||t&&void 0!==t.data&&"number"==typeof t.x&&"number"==typeof t.y&&t&&("node"===t.type||"edge"===t.type||void 0!==t.nodeOrEdge||void 0!==t.allSeries||void 0!==t.stats||void 0!==t.__chartType)?null!==(o=t.data)&&void 0!==o?o:{}:t),i=n(r);return null==i?null:e.jsx("div",{className:"semiotic-tooltip",style:kt,children:i})}}return!1!==t&&void 0!==t&&("object"==typeof t&&null!==t&&("fields"in t||"title"in t)?Mt(t):Mt())}}function jt({x:t,y:n,containerWidth:o,containerHeight:r,margin:i,children:a,className:s="stream-frame-tooltip",zIndex:l=1}){const c=Number.isFinite(t)&&Number.isFinite(n),d=u.useRef(null),[h,f]=u.useState(null);u.useLayoutEffect(()=>{const e=d.current;if(!e)return;const t=e.getBoundingClientRect();f(e=>e&&e.width===t.width&&e.height===t.height?e:{width:t.width,height:t.height})},[a,s,o,r]);let g;g=h?`translate(${h.width+12>o-t?"calc(-100% - 12px)":"12px"}, ${h.height+12>r-n?"calc(-100% - 4px)":"4px"})`:`translate(${t>.7*o?"calc(-100% - 12px)":"12px"}, ${.3*r>n?"4px":"calc(-100% - 4px)"})`;const y=function(e){if(!u.isValidElement(e))return!1;const t=e.type;if("string"!=typeof t&&t&&!0===t.ownsChrome)return!0;const n=e.props;if("string"==typeof n.className&&n.className.trim().length>0)return!0;const o=n.style;if(o&&"object"==typeof o){if(null!=o.background&&""!==o.background)return!0;if(null!=o.backgroundColor&&""!==o.backgroundColor)return!0}return!1}(a),p=y?null:kt;return c?e.jsx("div",{ref:d,className:y?s:(s+" semiotic-tooltip").trim(),style:Object.assign(Object.assign({},p||{}),{position:"absolute",left:i.left+t,top:i.top+n,transform:g,pointerEvents:"none",zIndex:l,width:"max-content"}),children:a}):null}function Lt(n){let o=null;const r=()=>(o||(o=t.createContext(null)),o),i=Ct(n);return[function({children:o,initialState:i}){const a=t.useRef(i),s=t.useMemo(()=>Ct(n,a.current),[]),l=r();return e.jsx(l.Provider,{value:s,children:o})},e=>{var n;const o=r(),a=null!==(n=t.useContext(o))&&void 0!==n?n:i,s=t.useRef(e);s.current=e;const l=t.useCallback(()=>s.current(a.getState()),[a]),c=t.useCallback(()=>s.current(a.getState()),[a]);return t.useSyncExternalStore(a.subscribe,l,c)}]}function Ct(e,t){const n=new EventTarget;let o=Object.assign(Object.assign({},e(function(e){o=Object.assign(Object.assign({},o),e(o)),n.dispatchEvent(new Event("update"))})),null!=t?t:{});return{getState:()=>o,subscribe:function(e){return n.addEventListener("update",e),()=>n.removeEventListener("update",e)}}}function Et(e){if(!(null==e?void 0:e.colors))return;const t=e.colors;return{primary:t.primary,secondary:t.secondary||t.primary,surface:t.surface||t.background,success:t.success,danger:t.danger,warning:t.warning,error:t.error,info:t.info,text:t.text,textSecondary:t.textSecondary,border:t.border,grid:t.grid}}function Dt(e){if(!e.accessibility)return e;let t=e;if(e.accessibility.colorBlindSafe&&(t=Object.assign(Object.assign({},t),{colors:Object.assign(Object.assign({},t.colors),{categorical:Ot})})),e.accessibility.highContrast){const e="dark"===t.mode;t=Object.assign(Object.assign({},t),{colors:Object.assign(Object.assign({},t.colors),{text:e?"#ffffff":"#000000",textSecondary:e?"#cccccc":"#333333",grid:e?"#666666":"#999999",border:e?"#888888":"#000000"})})}return t}const Ot=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],Nt={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},Pt={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},_t={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:Ot,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function Tt(e,t){if("light"===t)return Nt;if("dark"===t)return Pt;if("high-contrast"===t)return _t;if("string"==typeof t)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${t}". Keeping current theme.`),e;if(t.mode&&"auto"!==t.mode){const e="dark"===t.mode?Pt:Nt;return Dt(Object.assign(Object.assign(Object.assign({},e),t),{colors:Object.assign(Object.assign({},e.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.typography),t.typography||{})}))}return Dt(Object.assign(Object.assign(Object.assign({},e),t),{colors:Object.assign(Object.assign({},e.colors),t.colors||{}),typography:Object.assign(Object.assign({},e.typography),t.typography||{})}))}const[It,Rt]=Lt(e=>({theme:Nt,setTheme(t){e(e=>({theme:Tt(e.theme,t)}))}}));const Wt=/^var\(\s*(--[^,)]+)(?:\s*,\s*([^)]+))?\s*\)$/,$t=new WeakMap;let Bt=0,zt=!1,Ht=null,Ft=null,Yt=null;function Xt(e,t){var n,o;if(!t)return t;const r=Wt.exec(t);if(!r)return t;const i=e.canvas;if(!i)return(null===(n=r[2])||void 0===n?void 0:n.trim())||t;!function(){if(zt)return;if("undefined"==typeof window||"undefined"==typeof document)return;zt=!0;const e=()=>{Bt++};if("undefined"!=typeof MutationObserver&&document.documentElement&&(Ht=new MutationObserver(e),Ht.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme","data-semiotic-theme"]})),"function"==typeof window.matchMedia)try{Ft=window.matchMedia("(prefers-color-scheme: dark)"),Yt=e,"function"==typeof Ft.addEventListener?Ft.addEventListener("change",Yt):"function"==typeof Ft.addListener&&Ft.addListener(Yt)}catch(e){}}();let a=$t.get(i);a&&a.version===Bt||(a={version:Bt,map:new Map},$t.set(i,a));const s=a.map.get(t);if(void 0!==s)return s;const l=getComputedStyle(i).getPropertyValue(r[1]).trim()||(null===(o=r[2])||void 0===o?void 0:o.trim())||t;return a.map.set(t,l),l}const Gt="undefined"==typeof window?t.useEffect:t.useLayoutEffect;function qt(e,t,n){return"function"==typeof e?e({size:t,margin:n}):e}function Vt(e){const n=function(){const[e,n]=t.useState(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return t.useEffect(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");return n(e.matches),function(e,t){if("function"==typeof e.addEventListener)return e.addEventListener("change",t),()=>e.removeEventListener("change",t);const n=e;return n.addListener(t),()=>n.removeListener(t)}(e,e=>n(e.matches))},[]),e}(),o=t.useRef(n);o.current=n;const[r,i]=function(e,n,o){const r=t.useRef(null),[i,a]=t.useState(null);return t.useEffect(()=>{if(!n&&!o)return;const e=r.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:n}=t.contentRect;a(t=>t&&t.w===e&&t.h===n?t:{w:e,h:n})}});return t.observe(e),()=>t.disconnect()},[n,o]),[r,[n&&i?i.w:e[0],o&&i?i.h:e[1]]]}(e.sizeProp,e.responsiveWidth,e.responsiveHeight),a=t.useMemo(()=>Object.assign(Object.assign({},e.marginDefault),e.userMargin),[e.marginDefault,e.userMargin]),s=i[0]-a.left-a.right,l=i[1]-a.top-a.bottom,c=qt(e.foregroundGraphics,i,a),d=qt(e.backgroundGraphics,i,a),h=Rt(e=>e.theme),{transition:f,introEnabled:g}=function(e,t){var n,o;if(!1===e)return{transition:void 0,introEnabled:!1};const r="undefined"!=typeof window&&(null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(prefers-reduced-motion: reduce)").matches);return{transition:e?!0===e?{duration:300}:{duration:null!==(o=e.duration)&&void 0!==o?o:300,easing:"linear"===e.easing?"linear":"ease-out"}:t,introEnabled:!(r||!e||!0!==e&&!1===e.intro)}}(e.animate,e.transitionProp),y="semiotic-table-"+u.useId(),p=t.useRef(0),m=t.useRef(()=>{}),v=t.useCallback(()=>{p.current||(p.current=requestAnimationFrame(()=>m.current()))},[]);t.useEffect(()=>()=>{p.current&&(cancelAnimationFrame(p.current),p.current=0)},[]);const b=t.useRef(()=>{}),x=t.useRef(()=>{}),k=t.useRef(null),w=t.useRef(0),S=t.useCallback(()=>{w.current=0;const e=k.current;k.current=null,e&&b.current(e)},[]),M=t.useCallback(e=>{k.current={clientX:e.clientX,clientY:e.clientY},0===w.current&&(w.current=requestAnimationFrame(S))},[S]),A=t.useCallback(()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0),x.current()},[]);t.useEffect(()=>()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0)},[]);const j=e.themeDirtyRef;return Gt(()=>{j&&(Bt++,j.current=!0,v())},[h,v,j]),{reducedMotion:n,reducedMotionRef:o,responsiveRef:r,size:i,margin:a,adjustedWidth:s,adjustedHeight:l,resolvedForeground:c,resolvedBackground:d,currentTheme:h,transition:f,introEnabled:g,tableId:y,rafRef:p,renderFnRef:m,scheduleRender:v,hoverHandlerRef:b,hoverLeaveRef:x,onPointerMove:M,onPointerLeave:A}}function Kt({isStale:t,position:n}){return e.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===n?{top:4,left:4}:"bottom-left"===n?{bottom:4,left:4}:"bottom-right"===n?{bottom:4,right:4}:{top:4,right:4}),{padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:600,pointerEvents:"none",zIndex:3,background:t?"#dc3545":"#28a745",color:"white"}),children:t?"STALE":"LIVE"})}const Qt={fill:(t,n)=>e.jsx("rect",{style:t,width:n,height:n}),line:(t,n)=>e.jsx("line",{style:t,x1:0,y1:0,x2:n,y2:n})};function Zt(e,t,n,o,r){let i;return i="function"==typeof n?n(e):(0,Qt[n])(o(e,t),r),i}function Ut({swatchSize:t}){return e.jsx("path",{d:`M${.25*t},${.55*t} L${.45*t},${.75*t} L${.8*t},${.3*t}`,fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function Jt(e,t,n){return n&&n.size>0?n.has(e.label)?1:.3:null!=t?e.label===t?1:.3:1}const en=(t,n,o,r,i,a,s,l,c,d,u)=>{const{type:h="fill",styleFn:f,items:g}=t,y=[];let p=0;const m=!(!n&&!o),v="isolate"===d||void 0===d&&null!=i,{swatchSize:b,labelGap:x,rowHeight:k}=u;return g.forEach((t,d)=>{const u=Zt(t,d,h,f,b),w=Jt(t,r,i),S=i&&i.size>0&&i.has(t.label);y.push(e.jsxs("g",{transform:`translate(0,${p})`,onClick:n?()=>n(t):void 0,onMouseEnter:o?()=>o(t):void 0,onMouseLeave:o?()=>o(null):void 0,tabIndex:m?l===a&&d===s?0:-1:void 0,role:m?"option":void 0,"aria-selected":m&&v?S||!1:void 0,"aria-current":m&&!v&&null!=r&&t.label===r||void 0,"aria-label":t.label,onKeyDown:m?e=>{var o;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n&&n(t)),"ArrowDown"===e.key||"ArrowUp"===e.key){e.preventDefault();const t=(d+("ArrowDown"===e.key?1:-1)+g.length)%g.length;c(l,t);const n=null===(o=e.currentTarget.parentElement)||void 0===o?void 0:o.children[t];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:m?e=>{c(l,d),o&&o(t);const n=e.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:m?e=>{o&&o(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:m?"pointer":"default",opacity:w,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[m&&e.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:b+x+2+7*t.label.length,height:b+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),u,S&&e.jsx(Ut,{swatchSize:b}),e.jsx("text",{y:b/2,x:b+x,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label})]},"legend-item-"+d)),p+=k}),y};function tn({config:t,orientation:n="vertical",width:o=100}){const{colorFn:r,domain:i,label:a,format:s}=t,l=s||(e=>Math.round(100*e)/100+""),c="grad-legend-"+u.useId();if("horizontal"===n){const t=12,n=Math.min(o,200),s=Math.max(0,(o-n)/2),d=[];for(let t=0;64>=t;t++){const n=t/64;d.push(e.jsx("stop",{offset:100*n+"%",stopColor:r(i[0]+n*(i[1]-i[0]))},t))}return e.jsxs("g",{"aria-label":a||"Gradient legend",children:[e.jsx("defs",{children:e.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:d})}),a&&e.jsx("text",{x:s+n/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:a}),e.jsx("rect",{x:s,y:0,width:n,height:t,fill:`url(#${c})`,rx:2}),e.jsx("text",{x:s,y:t+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[0])}),e.jsx("text",{x:s+n,y:t+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[1])})]})}const d=[];for(let t=0;64>=t;t++){const n=t/64;d.push(e.jsx("stop",{offset:100*n+"%",stopColor:r(i[1]-n*(i[1]-i[0]))},t))}return e.jsxs("g",{"aria-label":a||"Gradient legend",children:[a&&e.jsx("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:a}),e.jsx("defs",{children:e.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:d})}),e.jsx("rect",{x:0,y:0,width:14,height:100,fill:`url(#${c})`,rx:2}),e.jsx("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[1])}),e.jsx("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:l(i[0])})]})}function nn(t){const{legendGroups:n,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,legendInteraction:s,title:l="Legend",width:c=100,height:d=20,orientation:h="vertical",legendLayout:f}=t,g=function(e){var t,n,o,r,i;const a=Math.max(1,null!==(t=null==e?void 0:e.swatchSize)&&void 0!==t?t:16),s=Math.max(a,null!==(n=null==e?void 0:e.rowHeight)&&void 0!==n?n:22);return{swatchSize:a,labelGap:Math.max(0,null!==(o=null==e?void 0:e.labelGap)&&void 0!==o?o:6),itemGap:Math.max(0,null!==(r=null==e?void 0:e.itemGap)&&void 0!==r?r:10),rowHeight:s,align:"left"===(null==e?void 0:e.align)?"start":"right"===(null==e?void 0:e.align)?"end":null!==(i=null==e?void 0:e.align)&&void 0!==i?i:"start",maxWidth:null==e?void 0:e.maxWidth}}(f),[y,p]=u.useState(0),[m,v]=u.useState(0),b=u.useCallback((e,t)=>{p(e),v(t)},[]),x="vertical"===h?(({legendGroups:t,width:n,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:s,focusedItemIndex:l,onFocusedIndexChange:c,legendInteraction:d,metrics:u})=>{let h=24;const f=[];return t.forEach((t,g)=>{h+=5,f.push(e.jsx("line",{stroke:"gray",x1:0,y1:h,x2:n,y2:h},"legend-top-line legend-symbol-"+g)),h+=8,t.label&&(h+=16,f.push(e.jsx("text",{y:h,className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label},"legend-text-"+g)),h+=8),f.push(e.jsx("g",{className:"legend-item",transform:`translate(0,${h})`,children:en(t,o,r,i,a,s,l,g,c,d,u)},"legend-group-"+g)),h+=t.items.length*u.rowHeight+8}),f})({legendGroups:n||[],width:c,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:y,focusedItemIndex:m,onFocusedIndexChange:b,legendInteraction:s,metrics:g}):(({legendGroups:t,height:n,width:o,customClickBehavior:r,customHoverBehavior:i,highlightedCategory:a,isolatedCategories:s,focusedGroupIndex:l,focusedItemIndex:c,onFocusedIndexChange:d,legendInteraction:u,metrics:h})=>{var f;let g=0;const y=[];t.forEach((t,n)=>{var f;let p=0;t.label&&(p+=16);const m=((t,n,o,r,i,a,s,l,c,d,u,h)=>{const{type:f="fill",styleFn:g,items:y}=t,p=[],{swatchSize:m,labelGap:v,itemGap:b,rowHeight:x,align:k}=u,w=!(!n&&!o),S="isolate"===d||void 0===d&&null!=i,M=y.map(e=>m+v+7*e.label.length),A=[];let j=0,L=0;M.forEach((e,t)=>{const n=0===L?e:L+b+e;h&&h>0&&L>0&&n>h?(A.push({start:j,end:t,width:L}),j=t,L=e):L=n}),y.length>0&&A.push({start:j,end:y.length,width:L}),A.forEach((t,d)=>{let u="center"===k?Math.max(0,((null!=h?h:t.width)-t.width)/2):"end"===k?Math.max(0,(null!=h?h:t.width)-t.width):0;for(let h=t.start;t.end>h;h++){const t=y[h],k=Zt(t,h,f,g,m),A=Jt(t,r,i),j=i&&i.size>0&&i.has(t.label);p.push(e.jsxs("g",{transform:`translate(${u},${d*x})`,onClick:n?()=>n(t):void 0,onMouseEnter:o?()=>o(t):void 0,onMouseLeave:o?()=>o(null):void 0,tabIndex:w?l===a&&h===s?0:-1:void 0,role:w?"option":void 0,"aria-selected":w&&S?j||!1:void 0,"aria-current":w&&!S&&null!=r&&t.label===r||void 0,"aria-label":t.label,onKeyDown:w?e=>{var o;if("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n&&n(t)),"ArrowRight"===e.key||"ArrowLeft"===e.key){e.preventDefault();const t=(h+("ArrowRight"===e.key?1:-1)+y.length)%y.length;c(l,t);const n=null===(o=e.currentTarget.parentElement)||void 0===o?void 0:o.children[t];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:w?e=>{c(l,h),o&&o(t);const n=e.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:w?e=>{o&&o(null);const t=e.currentTarget.querySelector(".semiotic-legend-focus-ring");t&&t.setAttribute("visibility","hidden")}:void 0,style:{cursor:w?"pointer":"default",opacity:A,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[w&&e.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:m+v+2+7*t.label.length,height:m+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),k,j&&e.jsx(Ut,{swatchSize:m}),e.jsx("text",{y:m/2,x:m+v,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:t.label})]},"legend-item-"+h)),u+=M[h]+b}});const C=Math.max(0,...A.map(e=>e.width)),E=A.length;return{items:p,offset:C,totalRows:E,totalHeight:E*x}})(t,r,i,a,s,l,c,n,d,u,h,null!==(f=h.maxWidth)&&void 0!==f?f:o);p+=m.offset+5,y.push(Object.assign(Object.assign({label:t.label},m),{offset:p,totalRows:m.totalRows,totalHeight:m.totalHeight})),g+=p+12});const p=null!==(f=h.maxWidth)&&void 0!==f?f:o;let m=g>p?0:"center"===h.align?Math.max(0,(p-g)/2):"end"===h.align?Math.max(0,p-g):0;const v=[];return y.forEach((o,r)=>{const i=t[r];i.label&&(v.push(e.jsx("text",{transform:`translate(${m},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:i.label},"legend-text-"+r)),m+=16),v.push(e.jsx("g",{className:"legend-item",transform:`translate(${m},0)`,children:o.items},"legend-group-"+r)),m+=o.offset+5,t[r+1]&&v.push(e.jsx("line",{stroke:"gray",x1:m,y1:-8,x2:m,y2:(o.totalHeight||n)+0+8},"legend-top-line legend-symbol-"+r)),m+=12}),e.jsx("g",{children:v})})({legendGroups:n||[],title:l,height:d,width:c,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:i,isolatedCategories:a,focusedGroupIndex:y,focusedItemIndex:m,onFocusedIndexChange:b,legendInteraction:s,metrics:g}),k=!(!o&&!r);return e.jsxs("g",{role:k?"listbox":void 0,"aria-multiselectable":!(!k||"isolate"!==s&&(void 0!==s||null==a))||void 0,"aria-label":"Chart legend",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[void 0!==l&&""!==l&&"vertical"===h&&e.jsx("text",{className:"legend-title",y:16,x:c/2,textAnchor:"middle",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:l}),x]})}function on(e){return"object"==typeof e&&null!==e&&"legendGroups"in e}function rn(e){return"object"==typeof e&&null!==e&&"gradient"in e}function an(t){var n;const{legend:o,totalWidth:r,totalHeight:i,margin:a,legendPosition:s="right",legendLayout:l,title:c,legendHoverBehavior:d,legendClickBehavior:u,legendHighlightedCategory:h,legendIsolatedCategories:f,legendInteraction:g}=t;if(!o)return null;const y="top"===s||"bottom"===s,p=!!c,m=Math.max(1,y?null!==(n=null==l?void 0:l.maxWidth)&&void 0!==n?n:Math.max(0,r-a.left-a.right):100);let v,b;return"left"===s?(v=Math.max(4,a.left-m-10),b=a.top):"top"===s?(v=a.left,b=p?32:8):"bottom"===s?(v=a.left,b=i-a.bottom+38):(v=r-a.right+10,b=a.top),e.jsx("g",{transform:`translate(${v}, ${b})`,children:rn(o)?e.jsx(tn,{config:o.gradient,orientation:y?"horizontal":"vertical",width:m}):on(o)?e.jsx(nn,{legendGroups:o.legendGroups,title:"",width:m,orientation:y?"horizontal":"vertical",legendLayout:l,customHoverBehavior:d,customClickBehavior:u,highlightedCategory:h,isolatedCategories:f,legendInteraction:g}):o})}const sn={secondary:0,primary:3},ln=".annotation-deferred{opacity:0;pointer-events:none;transition:opacity .12s ease}.stream-xy-frame:hover .annotation-deferred,.stream-ordinal-frame:hover .annotation-deferred,.stream-network-frame:hover .annotation-deferred,.stream-geo-frame:hover .annotation-deferred,.stream-xy-frame:focus-within .annotation-deferred,.stream-ordinal-frame:focus-within .annotation-deferred,.stream-network-frame:focus-within .annotation-deferred,.stream-geo-frame:focus-within .annotation-deferred{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.annotation-deferred{transition:none}}";function cn(e){return!0===(null==e?void 0:e._annotationDeferred)}function dn(e){return"blended"===(null==e?void 0:e.cohesion)||"layer"===(null==e?void 0:e.cohesion)?e.cohesion:null}function un(e){var t;const n=null===(t=null==e?void 0:e.provenance)||void 0===t?void 0:t.confidence;return"number"==typeof n&&Number.isFinite(n)?Math.max(0,Math.min(1,n)):null}function hn(e){return Math.max(.72,.95-.06*e)}function fn(e,t){var n,o,r;const i=null!==(o=null===(n=t.scales)||void 0===n?void 0:n.x)&&void 0!==o?o:null===(r=t.scales)||void 0===r?void 0:r.time;return i?null!=e.x?i(e.x):t.xAccessor&&null!=e[t.xAccessor]?i(e[t.xAccessor]):null:null}function gn(e,t){var n,o,r;const i=null!==(o=null===(n=t.scales)||void 0===n?void 0:n.y)&&void 0!==o?o:null===(r=t.scales)||void 0===r?void 0:r.value;return i?null!=e.y?i(e.y):t.yAccessor&&null!=e[t.yAccessor]?i(e[t.yAccessor]):null:null}function yn(e){return null==e?null:e+""}function pn(e,t,n){var o;return null===(o=t.stickyPositionCache)||void 0===o||o.set(e,n),n}const mn=new Set(["label","callout","callout-circle","callout-rect","text","widget"]);function vn(e){return!!e&&"object"==typeof e&&mn.has(function(e){return"string"==typeof(null==e?void 0:e.type)?e.type:""}(e))}function bn(e){return"primary"===(null==e?void 0:e.emphasis)||!0===(null==e?void 0:e.defensive)}function xn(e,t,n={}){return"number"==typeof n.maxAnnotations&&Number.isFinite(n.maxAnnotations)?Math.max(0,Math.floor(n.maxAnnotations)):e>0&&t>0?Math.max(1,Math.round(e*t/(n.areaPerAnnotation&&n.areaPerAnnotation>0?n.areaPerAnnotation:2e4))):1/0}function kn(e){var t,n;let o;const r=null==e?void 0:e.emphasis;o="primary"===r?100:"secondary"===r?10:50;const i=null===(t=null==e?void 0:e.provenance)||void 0===t?void 0:t.confidence;switch("number"==typeof i&&Number.isFinite(i)&&(o+=15*function(e){return Math.max(0,Math.min(1,e))}(i)),null===(n=null==e?void 0:e.lifecycle)||void 0===n?void 0:n.freshness){case"fresh":o+=8;break;case"aging":o+=4;break;case"stale":o+=1;break;case"expired":o-=200}return o}new Set(["label","callout","callout-circle","callout-rect"]);const wn=32,Sn=6,Mn=4,An=8,jn=72;const Ln={ai:"AI",agent:"agent",watcher:"watcher",system:"system",import:"imported",computed:"computed",user:"you"};function Cn(e){return vn(e)}function En(e,t){if(!e)return[];const n=Math.max(1,Math.floor(t/7)),o=e.split(/\s+/).filter(Boolean),r=[];let i="";for(const e of o)i&&i.length+e.length+1>n?(r.push(i),i=e):i=i?`${i} ${e}`:e;return i&&r.push(i),r}function Dn(e,t,n,o,r){const i=e+n,a=t+o;return Math.abs(n)>Math.abs(o)?{x:0>n?i-r.width-4:i+4,y:0>o?a-r.height:a,width:r.width,height:r.height}:{x:0>n?i-r.width:i,y:0>o?a-r.height-4:a+4,width:r.width,height:r.height}}function On(e,t){return{x:e.x-t,y:e.y-t,width:e.width+2*t,height:e.height+2*t}}function Nn(e,t){return Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}function Pn(e,t,n,o,r,i,a,s){const l=On(e,a);let c=.4*Math.hypot(t.dx,t.dy)+80*function(e,t,n,o){const r=Math.max(0,o-e.x),i=Math.max(0,o-e.y);return(r+Math.max(0,e.x+e.width-(t-o)))*e.height+(i+Math.max(0,e.y+e.height-(n-o)))*e.width}(l,r,i,s);for(const e of n)c+=12*Nn(l,e);for(const e of o)c+=4*Nn(l,e);return c}function _n(e,t,n){var o,r;if("widget"===e.type&&"number"==typeof e.px&&"number"==typeof e.py)return{x:e.px,y:e.py};const i=null!==(o=e.pointId)&&void 0!==o?o:e.nodeId;if(null!=i&&n.pointNodes){const e=n.pointNodes.find(e=>e.pointId===i);if(e)return{x:e.x,y:e.y}}const a=e.coordinates,s=null===(r=n.scales)||void 0===r?void 0:r.geoProjection;if(Array.isArray(a)&&a.length>=2&&s){const e=a[0],t=a[1];if("number"==typeof e&&"number"==typeof t){const n=s([e,t]);if(n&&"number"==typeof n[0]&&"number"==typeof n[1])return{x:n[0],y:n[1]}}}return n.scales||"number"!=typeof e.x||"number"!=typeof e.y?function(e,t,n){var o,r;const i=e.anchor||(null===(o=e.lifecycle)||void 0===o?void 0:o.anchor)||"fixed";if("latest"===i){if(null!=e.pointId&&n.pointNodes&&n.pointNodes.length>0)for(let o=n.pointNodes.length-1;o>=0;o--){const r=n.pointNodes[o];if(r.pointId===e.pointId)return pn(t,n,{x:r.x,y:r.y})}const o=function(e){var t,n,o,r,i,a;const s=e.data;if(!s||0===s.length)return null;const l=s[s.length-1],c=null!==(n=null===(t=e.scales)||void 0===t?void 0:t.x)&&void 0!==n?n:null===(o=e.scales)||void 0===o?void 0:o.time,d=null!==(i=null===(r=e.scales)||void 0===r?void 0:r.y)&&void 0!==i?i:null===(a=e.scales)||void 0===a?void 0:a.value;if(!c||!d)return null;const u=l[e.xAccessor||"x"],h=l[e.yAccessor||"y"];return null==u||null==h?null:{x:c(u),y:d(h)}}(n);return o?pn(t,n,o):null}if("semantic"===i){const o=function(e,t,n){var o,r;const i=function(e){var t,n;return yn(null!==(n=null===(t=e.provenance)||void 0===t?void 0:t.stableId)&&void 0!==n?n:e.stableId)}(e);if(!i)return null;const a=null===(o=n.pointNodes)||void 0===o?void 0:o.find(e=>yn(e.pointId)===i);if(a)return pn(t,n,{x:a.x,y:a.y});const s=null===(r=n.data)||void 0===r?void 0:r.find(e=>function(e){var t,n,o;return yn(null!==(n=null!==(t=e.stableId)&&void 0!==t?t:e.id)&&void 0!==n?n:null===(o=e.provenance)||void 0===o?void 0:o.stableId)}(e)===i);if(!s)return null;const l=fn(s,n),c=gn(s,n);return null==l||null==c?null:pn(t,n,{x:l,y:c})}(e,t,n);if(o)return o}let a=null,s=null;if(null!=e.pointId&&n.pointNodes){const t=n.pointNodes.find(t=>t.pointId===e.pointId);t&&(a=t.x,s=t.y)}if(null!=a&&null!=s||(a=fn(e,n),s=gn(e,n)),null!=a&&null!=s)return pn(t,n,{x:a,y:s});if("sticky"===i){const e=null===(r=n.stickyPositionCache)||void 0===r?void 0:r.get(t);if(e)return e}return null}(e,t,n):{x:e.x,y:e.y}}function Tn(e){var t;const{annotations:n,context:o,defaultOffset:r=wn,notePadding:i=Sn,markPadding:a=Mn,edgePadding:s=An,preserveManualOffsets:l=!0,routeLongConnectors:c=!0,connectorThreshold:d=jn,density:u,progressiveDisclosure:h=!1,redundantCues:f=!1,responsive:g,cohesion:y,audience:p}=e,m=o.width||0,v=o.height||0;if(0===n.length||0>=m||0>=v)return n.slice();const b=[],x=function(e,t){return(e.pointNodes||[]).map(e=>{const n=Math.max(1,e.r||1)+t;return{x:e.x-n,y:e.y-n,width:2*n,height:2*n}})}(o,a);let k=!1;const w=n.map((e,t)=>{if(!Cn(e))return e;const n=_n(e,t,o);if(!n)return e;const a=function(e){if("widget"===e.type)return{width:"number"==typeof e.width?e.width:32,height:"number"==typeof e.height?e.height:32};const t="number"==typeof e.wrap?e.wrap:120,n=[...En("string"==typeof e.title?e.title:void 0,t),...En("string"==typeof e.label?e.label:void 0,t)],o=n.reduce((e,t)=>Math.max(e,t.length),0);return{width:Math.max(24,Math.min(t,7*o)+10),height:Math.max(18,16*n.length+6)}}(e);if(l&&("number"==typeof(u=e).dx||"number"==typeof u.dy)){const t=function(e){return"text"===e.type||"widget"===e.type?{dx:0,dy:0}:{dx:30,dy:-30}}(e);return b.push(On(Dn(n.x,n.y,"number"==typeof e.dx?e.dx:t.dx,"number"==typeof e.dy?e.dy:t.dy,a),i)),e}var u;let h=null,f=1/0;for(const e of function(e){const t=1.6*e;return[{dx:e,dy:-e},{dx:-e,dy:-e},{dx:e,dy:e},{dx:-e,dy:e},{dx:e,dy:0},{dx:-e,dy:0},{dx:0,dy:-e},{dx:0,dy:e},{dx:t,dy:-t},{dx:-t,dy:-t},{dx:t,dy:t},{dx:-t,dy:t}]}(r)){const t=Pn(Dn(n.x,n.y,e.dx,e.dy,a),e,b,x,m,v,i,s);f>t&&(h=e,f=t)}if(!h)return e;const g=On(Dn(n.x,n.y,h.dx,h.dy,a),i);b.push(g);const y=Math.hypot(h.dx,h.dy),p=c&&y>=d&&"text"!==e.type&&"widget"!==e.type?Object.assign(Object.assign({},e.connector||{end:"arrow"}),{type:"curve"}):e.connector;return k=!0,Object.assign(Object.assign(Object.assign({},e),{dx:h.dx,dy:h.dy}),p?{connector:p}:{})}),S=k?w:n.slice();let M=S;if(f){let e=!1;const t=S.map(t=>{const n=function(e){return"text"!==e.type||"string"!=typeof e.color||8>Math.hypot("number"==typeof e.dx?e.dx:0,"number"==typeof e.dy?e.dy:0)?e:Object.assign(Object.assign({},e),{_redundantConnector:!0})}(t);return n!==t&&(e=!0),n});M=e?t:S}{let e=!1;const t=M.map(t=>{if(!0!==(null==t?void 0:t.defensive))return t;const n=function(e){var t;const n=null==e?void 0:e.provenance;if(!n||"object"!=typeof n)return e;const o="string"==typeof n.source?null!==(t=Ln[n.source])&&void 0!==t?t:n.source:null,r="number"==typeof n.confidence&&Number.isFinite(n.confidence)?Math.round(100*Math.max(0,Math.min(1,n.confidence)))+"%":null;if(!o&&!r)return e;if(null!=e.label&&"string"!=typeof e.label)return e;const i=[o,r].filter(Boolean).join(" · "),a="string"==typeof e.label?e.label:"";return a.includes(`(${i})`)?e:Object.assign(Object.assign({},e),{label:a?`${a} (${i})`:`(${i})`})}(t);return n!==t&&(e=!0),n});M=e?t:M}const A=new Set;if(u){const e="object"==typeof u?u:{},n=function(e){if(!e)return 1;const t=function(e){const t=null==e?void 0:e.familiarity;if(!t)return 3;const n=Object.values(t).filter(e=>"number"==typeof e&&Number.isFinite(e));return 0===n.length?3:n.reduce((e,t)=>e+t,0)/n.length}(e);return t>2?4>t?1:.6:1.5}(p),o=1===n?e:Object.assign(Object.assign({},e),{maxAnnotations:Math.max(0,Math.round((null!==(t=e.maxAnnotations)&&void 0!==t?t:xn(m,v,e))*n))}),{deferred:r}=function(e){var t;const{annotations:n,width:o,height:r}=e,i=Math.max(0,null!==(t=e.minVisible)&&void 0!==t?t:1),a=xn(o,r,e),s=n.map((e,t)=>{return{annotation:e,index:t,note:(n=e,vn(n))};var n}),l=s.filter(e=>e.note);if(0===l.length||a>=l.length)return{visible:n.slice(),deferred:[],budget:a};const c=l.filter(e=>bn(e.annotation)),d=l.filter(e=>!bn(e.annotation)).sort((e,t)=>kn(t.annotation)-kn(e.annotation)||e.index-t.index),u=Math.min(d.length,Math.max(Math.max(0,a-c.length),Math.max(0,i-c.length))),h=new Set([...c.map(e=>e.index),...d.slice(0,u).map(e=>e.index)]),f=[],g=[];for(const{annotation:e,index:t,note:n}of s)!n||h.has(t)?f.push(e):g.push(e);return{visible:f,deferred:g,budget:a}}(Object.assign({annotations:M,width:m,height:v},o));for(const e of r)A.add(e)}if(g&&("object"==typeof g&&"number"==typeof g.minWidth?g.minWidth:480)>=m)for(const e of M)Cn(e)&&"secondary"===e.emphasis&&A.add(e);if(A.size>0)for(const e of M)!0===(null==e?void 0:e.defensive)&&A.delete(e);let j;return j=0===A.size?M:h?M.map(e=>A.has(e)?Object.assign(Object.assign({},e),{_annotationDeferred:!0}):e):M.filter(e=>!A.has(e)),y?function(e,t){let n=!1;const o=e.map(e=>Cn(e)?"blended"===e.cohesion||"layer"===e.cohesion?e:(n=!0,Object.assign(Object.assign({},e),{cohesion:t})):e);return n?o:e}(j,y):j}function In(t){const{width:n,height:o,totalWidth:r,totalHeight:i,margin:a,labels:s,title:l,legend:c,legendHoverBehavior:d,legendClickBehavior:h,legendHighlightedCategory:f,legendIsolatedCategories:g,legendPosition:y="right",legendLayout:p,foregroundGraphics:m,sceneNodes:v,annotations:b,autoPlaceAnnotations:x,svgAnnotationRules:k}=t,w=u.useMemo(()=>{const e=(v||[]).flatMap(e=>{const t=function(e){var t,n,o,r;const i=null!==(t=e.cx)&&void 0!==t?t:null!=e.x&&null!=e.w?e.x+e.w/2:e.x,a=null!==(n=e.cy)&&void 0!==n?n:null!=e.y&&null!=e.h?e.y+e.h/2:e.y;return"number"!=typeof i||"number"!=typeof a?null:{x:i,y:a,r:"number"==typeof e.r?Math.max(1,e.r):"number"==typeof e.outerR?Math.max(1,e.outerR):Math.max(1,null!==(o=e.w)&&void 0!==o?o:0,null!==(r=e.h)&&void 0!==r?r:0)/2}}(e),n=function(e){var t,n,o,r,i,a,s,l;const c=null!==(a=null!==(o=null!==(t=e.id)&&void 0!==t?t:null===(n=e.datum)||void 0===n?void 0:n.id)&&void 0!==o?o:null===(i=null===(r=e.datum)||void 0===r?void 0:r.data)||void 0===i?void 0:i.id)&&void 0!==a?a:null===(l=null===(s=e.datum)||void 0===s?void 0:s.data)||void 0===l?void 0:l.name;return null==c?void 0:c+""}(e);return t?[Object.assign({pointId:n},t)]:[]});return{scales:null,width:n,height:o,frameType:"network",pointNodes:e,sceneNodes:v}},[o,v,n]),S=u.useMemo(()=>b&&x?Tn(Object.assign({annotations:b,context:w},"object"==typeof x?x:{})):b,[b,x,w]),M=S?function(t){const n=t.map((e,t)=>{return{p:e,i:t,emphasis:(n=e.annotation,"primary"===(null==n?void 0:n.emphasis)||"secondary"===(null==n?void 0:n.emphasis)?n.emphasis:null),confidence:un(e.annotation),readingOrder:null,rank:1};var n}),o=n.some(e=>null!=e.emphasis||null!=e.confidence),r=t.some(e=>cn(e.annotation)),i=t.some(e=>null!=dn(e.annotation)),a=t.some(e=>"layer"===dn(e.annotation));if(!o&&!r&&!i)return t.map(e=>e.node);const s=n.filter(e=>null==e.emphasis&&null!=e.confidence).slice().sort((e,t)=>{var n,o;return(null!==(n=t.confidence)&&void 0!==n?n:0)-(null!==(o=e.confidence)&&void 0!==o?o:0)||e.i-t.i});s.forEach((e,t)=>{e.readingOrder=t,e.rank=2-t/Math.max(1,s.length)});for(const e of n)e.emphasis&&(e.rank=sn[e.emphasis]);const l=n.sort((e,t)=>e.rank-t.rank||e.i-t.i).map(t=>{const{p:n,i:o,emphasis:r,readingOrder:i}=t,a=cn(n.annotation);let s=n.node;if("primary"===r||"secondary"===r||null!=i){const t=null==r&&null!=i;s=e.jsx("g",Object.assign({className:t?"annotation-emphasis annotation-emphasis--inferred":"annotation-emphasis annotation-emphasis--"+r},"secondary"===r?{opacity:.6,fontSize:"0.88em"}:{},t?{opacity:hn(i),"data-annotation-reading-order":i}:{},{children:n.node}),"annotation-emphasis-"+o)}const l=dn(n.annotation);return l&&(s=e.jsx("g",{className:"annotation-cohesion--"+l,children:s},"annotation-cohesion-"+o)),a&&(s=e.jsx("g",{className:"annotation-deferred","data-annotation-disclosure":"deferred",children:s},"annotation-deferred-"+o)),s});return r&&l.unshift(e.jsx("style",{children:ln},"annotation-disclosure-style")),a&&l.unshift(e.jsx("style",{children:".annotation-cohesion--layer text,.annotation-cohesion--layer tspan{fill:var(--semiotic-annotation-color,var(--semiotic-text-secondary,#666));font-style:italic}"},"annotation-cohesion-style")),l}(S.reduce((t,n,o)=>{if("widget"===n.type||!k)return t;const r=k(n,o,w);return r&&t.push({node:e.jsx(u.Fragment,{children:r},"annotation-"+o),annotation:n}),t},[])):null,A=!0===(null==S?void 0:S.some(e=>"widget"===e.type&&!0===e._annotationDeferred));return e.jsxs(e.Fragment,{children:[A&&e.jsx("style",{children:ln},"annotation-widget-disclosure-style"),e.jsxs("svg",{role:"img",width:r,height:i,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[e.jsx("title",{children:"string"==typeof l?l:"Network Chart"}),e.jsx("desc",{children:"string"==typeof l?l+" — network data visualization":"Network data visualization"}),e.jsxs("g",{transform:`translate(${a.left},${a.top})`,children:[s.map((t,n)=>e.jsx("text",{x:t.x,y:t.y,textAnchor:t.anchor||"start",dominantBaseline:t.baseline||"middle",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"currentColor",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,style:{pointerEvents:"none"},children:t.text},"label-"+n)),M,m]}),l&&"string"==typeof l?e.jsx("text",{x:r/2,y:16,textAnchor:"middle",fontWeight:600,fill:"currentColor",className:"semiotic-chart-title",style:{fontSize:"var(--semiotic-title-font-size, 14px)"},children:l}):l?e.jsx("foreignObject",{x:0,y:0,width:r,height:a.top,children:l}):null,an({legend:c,totalWidth:r,totalHeight:i,margin:a,legendPosition:y,title:l,legendLayout:p,legendHoverBehavior:d,legendClickBehavior:h,legendHighlightedCategory:f,legendIsolatedCategories:g})]}),null==S?void 0:S.filter(e=>"widget"===e.type&&e.nodeId&&v).map((t,n)=>{var o,r,i,s,l,c,d,u,h;const f=!0===t._annotationDeferred,g=v.find(e=>{var n,o,r,i,a;return e.id===t.nodeId||(null===(n=e.datum)||void 0===n?void 0:n.id)===t.nodeId||(null===(r=null===(o=e.datum)||void 0===o?void 0:o.data)||void 0===r?void 0:r.id)===t.nodeId||(null===(a=null===(i=e.datum)||void 0===i?void 0:i.data)||void 0===a?void 0:a.name)===t.nodeId});if(!g)return null;const y=a.left+(null!==(o=g.cx)&&void 0!==o?o:null!=g.x&&null!=g.w?g.x+g.w/2:null!==(r=g.x)&&void 0!==r?r:0),p=a.top+(null!==(i=g.cy)&&void 0!==i?i:null!=g.y&&null!=g.h?g.y+g.h/2:null!==(s=g.y)&&void 0!==s?s:0),m=null!==(l=t.dx)&&void 0!==l?l:0,b=null!==(c=t.dy)&&void 0!==c?c:-16,x=null!==(d=t.width)&&void 0!==d?d:32,k=null!==(u=t.height)&&void 0!==u?u:32,w=null!==(h=t.content)&&void 0!==h?h:e.jsx("span",{style:{fontSize:18,cursor:"default"},children:"ℹ️"});return e.jsx("div",{className:f?"annotation-deferred":void 0,"data-annotation-disclosure":f?"deferred":void 0,style:{position:"absolute",left:y+m-x/2,top:p+b-k/2,width:x,height:k,display:"flex",alignItems:"center",justifyContent:"center",zIndex:5},children:w},"widget-"+n)})]})}In.displayName="NetworkSVGOverlay";const Rn={innerRadius:0,outerRadius:0,startAngle:0,endAngle:0};function Wn(e,t="#4e79a7"){return e&&"string"==typeof e?e:t}const $n="undefined"==typeof window||"undefined"==typeof document,Bn="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,zn=()=>()=>{},Hn=()=>!1,Fn=()=>!0;function Yn(e){const n=t.useRef(e);return function(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return Gn(e,t);if(!qn(e)||!qn(t))return!1;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return!1;const n=e[o],r=t[o];if(!Object.is(n,r))if(Array.isArray(n)&&Array.isArray(r)){if(!Gn(n,r))return!1}else{if(!qn(n)||!qn(r))return!1;if(!Xn(n,r))return!1}}return!0}(n.current,e)||(n.current=e),n.current}function Xn(e,t){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return!1;if(!Object.is(e[o],t[o]))return!1}return!0}function Gn(e,t){if(e.length!==t.length)return!1;for(let n=0;e.length>n;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function qn(e){if(null===e||"object"!=typeof e)return!1;if(Array.isArray(e))return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}const Vn=u.createContext(null),Kn={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function Qn(e,t,n){const o=[];return e>0&&o.push(e+" nodes"),t>0&&o.push(t+" edges"),0===o.length?n+", empty":`${n}, ${o.join(", ")}`}const Zn=e=>{if(null==e)return"";const t=Math.round(100*e)/100;return Number.isNaN(t)?"":t+""},Un="semiotic-accessible-data-table",Jn=Un+" semiotic-accessible-data-table-hidden",eo=Un+" semiotic-accessible-data-table-visible semiotic-accessible-data-table-network",to={position:"absolute",top:0,left:0,right:0,zIndex:"var(--semiotic-data-table-z-index, var(--semiotic-overlay-z-index, 20))",padding:"14px 16px 12px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontFamily:"var(--semiotic-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)",fontSize:13,lineHeight:1.5,color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",borderRadius:"var(--semiotic-border-radius, 0px) var(--semiotic-border-radius, 0px) 0 0"},no={marginBottom:8,paddingRight:28,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:12,letterSpacing:"0.01em"},oo={position:"absolute",top:10,right:10,width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",cursor:"pointer",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:13,lineHeight:1,padding:0,borderRadius:"var(--semiotic-border-radius, 4px)"},ro={width:"100%",borderCollapse:"collapse",fontSize:12,marginTop:4,fontVariantNumeric:"tabular-nums"},io={textAlign:"left",padding:"5px 10px",borderBottom:"2px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))"},ao={padding:"4px 10px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))"},so={textAlign:"left",fontSize:11,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",marginBottom:4,fontStyle:"italic"},lo={marginTop:8,padding:"4px 10px",fontSize:12,cursor:"pointer",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",borderRadius:"var(--semiotic-border-radius, 4px)",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",fontFamily:"inherit"};function co({nodes:t,edges:n,chartType:o,tableId:r,chartTitle:i}){var a,s,l,c,d,h,f,g,y,p,m,v,b,x;const[k,w]=u.useState(!1),[S,M]=u.useState(5),A=u.useContext(Vn),j=null!==(a=null==A?void 0:A.visible)&&void 0!==a&&a,L=k||j,C=i?"Data summary for "+i:r?`Data summary for ${o} ${r}`:"Data summary for "+o,E=u.useRef(null);u.useEffect(()=>{L||M(5)},[L]);const D=u.useCallback(e=>{e.target===e.currentTarget&&(k||j||w(!0))},[k,j]),O=u.useCallback(e=>{var t;j||(null===(t=E.current)||void 0===t?void 0:t.contains(e.relatedTarget))||w(!1)},[j]);if(!t||0===t.length)return r?e.jsx("span",{id:r,tabIndex:-1,style:Kn}):null;if(!L)return e.jsx("div",{id:r,className:Jn,tabIndex:-1,onFocus:D,style:Kn,role:"region","aria-label":C,children:e.jsxs("button",{type:"button",onClick:()=>w(!0),children:["View data summary (",t.length," nodes, ",n.length," edges)"]})});const N=Array.isArray(t)?t:[],P=Array.isArray(n)?n:[],_=new Map,T=new Map,I=new Map,R=new Map;for(const e of P){if(!e||"object"!=typeof e)continue;const t=null!==(s=e.datum)&&void 0!==s?s:e,n="object"==typeof t.source?null===(l=t.source)||void 0===l?void 0:l.id:t.source,o="object"==typeof t.target?null===(c=t.target)||void 0===c?void 0:c.id:t.target,r="number"==typeof t.value&&Number.isFinite(t.value)?t.value:0;if(null!=n&&""!==n){const e=n+"";T.set(e,(null!==(d=T.get(e))&&void 0!==d?d:0)+1),R.set(e,(null!==(h=R.get(e))&&void 0!==h?h:0)+r)}if(null!=o&&""!==o){const e=o+"";_.set(e,(null!==(f=_.get(e))&&void 0!==f?f:0)+1),I.set(e,(null!==(g=I.get(e))&&void 0!==g?g:0)+r)}}const W=[];for(let e=0;N.length>e;e++){const t=N[e];if(!t||"object"!=typeof t)continue;const n=null!==(p=null===(y=t.datum)||void 0===y?void 0:y.id)&&void 0!==p?p:t.id,o=null!=n?n+"":"node-"+e,r=null!==(m=_.get(o))&&void 0!==m?m:0,i=null!==(v=T.get(o))&&void 0!==v?v:0,a=null!==(b=I.get(o))&&void 0!==b?b:0,s=null!==(x=R.get(o))&&void 0!==x?x:0;W.push({id:o,degree:r+i,inDeg:r,outDeg:i,wDegree:a+s,wInDeg:a,wOutDeg:s})}W.sort((e,t)=>t.degree-e.degree);let $=0,B=0;if(W.length>0){let e=0;for(const t of W)e+=t.degree,t.degree>B&&(B=t.degree);$=e/W.length}const z=P.some(e=>{var t;const n=null!==(t=null==e?void 0:e.datum)&&void 0!==t?t:e;return"number"==typeof(null==n?void 0:n.value)&&Number.isFinite(n.value)}),H=[`${W.length} nodes, ${P.length} edges.`];W.length>0&&H.push(`Mean degree: ${Zn($)}, max degree: ${B}.`);const F=Math.min(S,W.length),Y=W.slice(0,F),X=W.length-F;return e.jsxs("div",{ref:E,id:r,className:eo,tabIndex:-1,onBlur:O,style:to,role:"region","aria-label":C,children:[e.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{j&&A&&A.setVisible(!1),w(!1)},"aria-label":"Close data summary",style:oo,children:"×"}),e.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:no,children:H.join(" ")}),e.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Node degree summary for "+o,style:ro,children:[e.jsx("caption",{className:"semiotic-accessible-data-table-caption",style:so,children:X>0?`Top ${F} of ${W.length} nodes by degree`:`All ${W.length} nodes by degree`}),e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:io,children:"id"}),e.jsx("th",{style:io,children:"degree"}),e.jsx("th",{style:io,children:"in"}),e.jsx("th",{style:io,children:"out"}),z&&e.jsx("th",{style:io,children:"w. degree"}),z&&e.jsx("th",{style:io,children:"w. in"}),z&&e.jsx("th",{style:io,children:"w. out"})]})}),e.jsx("tbody",{children:Y.map((t,n)=>e.jsxs("tr",{children:[e.jsx("td",{style:ao,children:t.id}),e.jsx("td",{style:ao,children:t.degree}),e.jsx("td",{style:ao,children:t.inDeg}),e.jsx("td",{style:ao,children:t.outDeg}),z&&e.jsx("td",{style:ao,children:Zn(t.wDegree)}),z&&e.jsx("td",{style:ao,children:Zn(t.wInDeg)}),z&&e.jsx("td",{style:ao,children:Zn(t.wOutDeg)})]},n))})]}),X>0&&e.jsxs("button",{type:"button",className:"semiotic-accessible-data-table-show-more",onClick:()=>M(e=>e+25),style:lo,children:["Show ",Math.min(25,X)," more"," ",1===X?"node":"nodes"," (",X," remaining)"]})]})}function uo({summary:t}){return t?e.jsx("div",{role:"note",style:Kn,children:t}):null}function ho({tableId:t}){return e.jsx("a",{href:"#"+t,style:Kn,onClick:e=>{e.preventDefault();const n=document.getElementById(t);n&&requestAnimationFrame(()=>n.focus())},onFocus:e=>{Object.assign(e.currentTarget.style,{position:"absolute",width:"auto",height:"auto",overflow:"visible",clip:"auto",whiteSpace:"normal",padding:"4px 8px",background:"var(--semiotic-bg, #fff)",color:"var(--semiotic-text, #000)",border:"2px solid var(--semiotic-focus, #005fcc)",borderRadius:"4px",zIndex:"10",fontSize:"12px",top:"4px",left:"4px"})},onBlur:e=>{const t=e.currentTarget;t.removeAttribute("style"),Object.assign(t.style,Kn)},children:"Skip to data table"})}function fo({hoverPoint:t}){let n="";if(t){const e=t.data||t;n="object"==typeof e?"Data point: "+Object.entries(e).filter(([,e])=>"object"!=typeof e&&"function"!=typeof e).map(([e,t])=>`${e}: ${t}`).join(", "):"Data point: "+e}return e.jsx("div",{"aria-live":"polite","aria-atomic":"true",style:Kn,children:n})}const go=Object.freeze([]);function yo(e){if(!e)return go;let t=!1;for(let n=0;e.length>n;n++){const o=e[n];if(null==o||"object"!=typeof o){t=!0;break}}if(!t)return e;const n=[];for(const t of e)null!=t&&"object"==typeof t&&n.push(t);return n}function po(e){return!(!e._pulseIntensity||0>=e._pulseIntensity)}function mo(e,t,n=.3){po(t)&&(e.globalAlpha=t._pulseIntensity*n,e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.fillRect(t.x,t.y,t.w,t.h))}function vo(e,t,n=.6){var o,r,i,a,s;if(!po(t))return;const l=null!==(o=t._pulseGlowRadius)&&void 0!==o?o:4,c=t.r+l*t._pulseIntensity,d=null!==(i=null!==(r=t.cx)&&void 0!==r?r:t.x)&&void 0!==i?i:0,u=null!==(s=null!==(a=t.cy)&&void 0!==a?a:t.y)&&void 0!==s?s:0;e.beginPath(),e.arc(d,u,c,0,2*Math.PI),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=2*t._pulseIntensity,e.globalAlpha=t._pulseIntensity*n,e.stroke()}function bo(e){return e._cachedPath2D&&e._cachedPath2DSource===e.pathD||(e._cachedPath2D=new Path2D(e.pathD),e._cachedPath2DSource=e.pathD),e._cachedPath2D}function xo(e,t){var n,o,r,i,a,s;if(!t.pathD)return;e.save();const l=bo(t);if(t.style.fill&&"none"!==t.style.fill){const a=t._gradient;if(a){const r=e.createLinearGradient(a.x0,0,a.x1,0),i=null!==(o=null!==(n=t.style.fillOpacity)&&void 0!==n?n:t.style.opacity)&&void 0!==o?o:.5,s="string"==typeof t.style.fill?t.style.fill:"#999",l=Xt(e,s)||s;r.addColorStop(0,1===a.from?l:"transparent"),r.addColorStop(1,1===a.to?l:"transparent"),e.fillStyle=r,e.globalAlpha=i}else e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(i=null!==(r=t.style.fillOpacity)&&void 0!==r?r:t.style.opacity)&&void 0!==i?i:.5;e.fill(l)}t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Xt(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(a=t.style.strokeWidth)&&void 0!==a?a:.5,e.globalAlpha=.5*(null!==(s=t.style.opacity)&&void 0!==s?s:1),e.stroke(l)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.2*t._pulseIntensity,e.fill(l)),e.restore()}function ko(e,t){var n,o;e.save();const r=t.style.stroke||"#999";e.strokeStyle=Xt(e,r)||r,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.strokeDasharray&&e.setLineDash(t.style.strokeDasharray.split(/[\s,]+/).map(Number)),e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke(),t._pulseIntensity&&t._pulseIntensity>0&&(e.setLineDash([]),e.strokeStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.lineWidth=(null!==(o=t.style.strokeWidth)&&void 0!==o?o:1)+3*t._pulseIntensity,e.globalAlpha=.4*t._pulseIntensity,e.beginPath(),e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2),e.stroke()),e.restore()}function wo(e,t){var n,o,r,i;if(!t.pathD)return;e.save();const a=bo(t);t.style.fill&&"none"!==t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(o=null!==(n=t.style.fillOpacity)&&void 0!==n?n:t.style.opacity)&&void 0!==o?o:.5,e.fill(a)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Xt(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(r=t.style.strokeWidth)&&void 0!==r?r:.5,e.globalAlpha=.3*(null!==(i=t.style.opacity)&&void 0!==i?i:1),e.stroke(a)),t._pulseIntensity&&t._pulseIntensity>0&&(e.fillStyle=t._pulseColor||"rgba(255,255,255,0.6)",e.globalAlpha=.25*t._pulseIntensity,e.fill(a)),e.restore()}function So(e,t){var n,o;if(!t.pathD)return;e.save();const r=bo(t),i=t.style.stroke||"#999";e.strokeStyle=Xt(e,i)||i,e.lineWidth=null!==(n=t.style.strokeWidth)&&void 0!==n?n:1,void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.stroke(r),t.style.fill&&"none"!==t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,e.globalAlpha=null!==(o=t.style.fillOpacity)&&void 0!==o?o:.1,e.fill(r)),e.restore()}const Mo={top:20,right:80,bottom:20,left:80},Ao={top:40,right:40,bottom:40,left:40},jo=new Set(["chord","force","circlepack","orbit"]),Lo=[800,600],Co={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function Eo({data:t}){var n,o,r,i,a,s;if("edge"===t.nodeOrEdge){const n=t.data;return n?e.jsxs("div",{className:"semiotic-tooltip",style:Co,children:[e.jsxs("div",{style:{fontWeight:600},children:["object"==typeof n.source?n.source.id:n.source," → ","object"==typeof n.target?n.target.id:n.target]}),null!=n.value&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Value:"," ","number"==typeof n.value?n.value.toLocaleString():n.value+""]})]}):null}const l=t.data;if(!l)return null;const c=l.__hierarchyNode;if(c){const t=[];let a=c;for(;a;){const e=null!==(i=null!==(o=null===(n=a.data)||void 0===n?void 0:n.name)&&void 0!==o?o:null===(r=a.data)||void 0===r?void 0:r.id)&&void 0!==i?i:l.id;null!=e&&t.unshift(e+""),a=a.parent}t.length>1&&t.shift();const s=t.length-1;return e.jsxs("div",{className:"semiotic-tooltip",style:Co,children:[e.jsx("div",{children:t.map((t,n)=>e.jsxs("span",{children:[n>0&&e.jsx("span",{style:{margin:"0 3px",opacity:.5},children:" → "}),n===s?e.jsx("strong",{children:t}):e.jsx("span",{style:{opacity:.7},children:t})]},n))}),null!=l.value&&l.value>0&&e.jsx("div",{style:{marginTop:4,opacity:.8},children:"number"==typeof l.value?l.value.toLocaleString():l.value+""})]})}const d=((null===(a=l.sourceLinks)||void 0===a?void 0:a.length)||0)+((null===(s=l.targetLinks)||void 0===s?void 0:s.length)||0),u=(l.sourceLinks||[]).reduce((e,t)=>e+(t.value||0),0)+(l.targetLinks||[]).reduce((e,t)=>e+(t.value||0),0);return e.jsxs("div",{className:"semiotic-tooltip",style:Co,children:[e.jsx("div",{style:{fontWeight:600},children:l.id}),null!=l.value&&l.value>0&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Total:"," ","number"==typeof l.value?l.value.toLocaleString():l.value+""]}),d>0&&e.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Connections: ",d,u!==d&&` (weighted: ${u.toLocaleString()})`]})]})}Eo.ownsChrome=!0;const Do=t.forwardRef(function(n,o){var r,i,a,l,c,d,u,h,p,m,v,b,x,k,w,S,M,A;const{chartType:j,nodes:L,edges:C,data:E,initialEdges:D,nodeIDAccessor:O="id",sourceAccessor:N="source",targetAccessor:P="target",valueAccessor:_="value",edgeIdAccessor:T,childrenAccessor:I,hierarchySum:R,orientation:W="horizontal",nodeAlign:$="justify",nodePaddingRatio:B=.05,nodeWidth:z=15,iterations:H=300,forceStrength:F=.1,padAngle:Y=.01,groupWidth:X=20,sortGroups:G,edgeSort:q,treeOrientation:V="vertical",edgeType:K="curve",padding:Q,paddingTop:Z,tensionConfig:U,showParticles:J=!1,particleStyle:ee,nodeStyle:te,edgeStyle:ne,colorBy:oe,colorScheme:re="category10",edgeColorBy:ie="source",edgeOpacity:ae=.5,colorByDepth:se=!1,nodeSize:le=8,nodeSizeRange:ce=[5,20],nodeLabel:de,showLabels:ue=!0,labelMode:he,size:fe=Lo,responsiveWidth:ge,responsiveHeight:ye,margin:pe,className:me,background:ve,enableHover:be=!0,tooltipContent:xe,customHoverBehavior:ke,customClickBehavior:we,onObservation:Se,chartId:Me,onTopologyChange:Ae,annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Ne,legendClickBehavior:Pe,legendHighlightedCategory:_e,legendIsolatedCategories:Te,title:Ie,foregroundGraphics:Re,backgroundGraphics:We,decay:$e,pulse:Be,transition:ze,animate:He,staleness:Fe,thresholds:Ye,accessibleTable:Xe=!0,description:Ge,summary:Ve,orbitMode:Ke,orbitSize:Qe,orbitSpeed:Ze,orbitRevolution:Ue,orbitRevolutionStyle:Je,orbitEccentricity:et,orbitShowRings:tt,orbitAnimated:ot,customNetworkLayout:rt,layoutConfig:it}=n,st=jo.has(j)?Ao:Mo,lt=t.useRef(!0),dt=Vt({sizeProp:fe,responsiveWidth:ge,responsiveHeight:ye,userMargin:pe,marginDefault:st,foregroundGraphics:Re,backgroundGraphics:We,animate:He,transitionProp:ze,themeDirtyRef:lt}),{reducedMotionRef:ut,responsiveRef:ht,size:ft,margin:gt,adjustedWidth:yt,adjustedHeight:mt,resolvedForeground:bt,resolvedBackground:kt,transition:wt,introEnabled:St,tableId:Mt,rafRef:At,renderFnRef:Lt,scheduleRender:Ct,currentTheme:Dt}=dt,Ot=function(){const[e,n]=t.useState(!1);return Bn(()=>{n(!0)},[]),e}(),Nt=function(){const e=t.useSyncExternalStore(zn,Hn,Fn);return t.useRef(e).current}(),Pt=t.useMemo(()=>yo(L),[L]),_t=t.useMemo(()=>Array.isArray(C)?yo(C):C,[C]),Tt=t.useMemo(()=>Object.assign(Object.assign({},g),U),[U]),It=t.useMemo(()=>Object.assign(Object.assign({},y),ee),[ee]),Rt=t.useMemo(()=>{var e;return{chartType:j,nodeIDAccessor:O,sourceAccessor:N,targetAccessor:P,valueAccessor:_,edgeIdAccessor:T,childrenAccessor:I,hierarchySum:R,orientation:W,nodeAlign:$,nodePaddingRatio:B,nodeWidth:z,iterations:H,forceStrength:F,padAngle:Y,groupWidth:X,sortGroups:G,edgeSort:q,treeOrientation:V,edgeType:K,padding:Q,paddingTop:Z,tensionConfig:Tt,showParticles:J,particleStyle:It,nodeStyle:te,edgeStyle:ne,nodeLabel:de,showLabels:ue,labelMode:he,colorBy:oe,colorScheme:re,themeCategorical:null===(e=null==Dt?void 0:Dt.colors)||void 0===e?void 0:e.categorical,themeSemantic:Et(Dt),edgeColorBy:ie,edgeOpacity:ae,colorByDepth:se,nodeSize:le,nodeSizeRange:ce,decay:$e,pulse:Be,transition:wt,introAnimation:St,staleness:Fe,thresholds:Ye,orbitMode:Ke,orbitSize:Qe,orbitSpeed:Ze,orbitRevolution:Ue,orbitRevolutionStyle:Je,orbitEccentricity:et,orbitShowRings:tt,orbitAnimated:ot,customNetworkLayout:rt,layoutConfig:it}},[j,O,N,P,_,I,R,W,$,B,z,H,F,Y,X,G,q,V,K,Q,Z,Tt,J,It,te,ne,de,ue,he,oe,re,ie,ae,se,le,ce,$e,Be,null==wt?void 0:wt.duration,null==wt?void 0:wt.easing,St,Fe,Ye,Ke,Qe,Ze,Ue,Je,et,tt,ot,Dt,rt,it]),Wt=Yn(Rt),$t=Yn({chartType:j,nodeIDAccessor:O,sourceAccessor:N,targetAccessor:P,valueAccessor:_,childrenAccessor:I,hierarchySum:R,orientation:W,nodeAlign:$,nodePaddingRatio:B,nodeWidth:z,iterations:H,forceStrength:F,padAngle:Y,groupWidth:X,sortGroups:G,edgeSort:q,treeOrientation:V,edgeType:K,padding:Q,paddingTop:Z,tensionConfig:Tt,orbitMode:Ke,orbitSize:Qe,orbitEccentricity:et,customNetworkLayout:rt,layoutConfig:it}),Bt=t.useRef(null),zt=t.useRef(0),Ht=t.useRef(0),Ft=t.useRef(!1),Yt=t.useRef(null);Yt.current||(Yt.current=new nt(Wt));const[Gt,qt]=t.useState(null),[Qt,Zt]=t.useState(0),[Ut,Jt]=t.useState(0),[en,tn]=t.useState(!1),[nn,on]=t.useState(null),rn=t.useRef(null),an=t.useRef(new Map),sn=t.useRef(0),ln=t.useCallback(e=>{if("function"==typeof oe)return oe(e)+"";if("string"==typeof oe&&e.data){const t=e.data[oe];if(void 0!==t){if(!an.current.has(t+"")){const e=Array.isArray(re)?re:qe;an.current.set(t+"",e[sn.current++%e.length])}return an.current.get(t+"")}}if(an.current.has(e.id))return an.current.get(e.id);const t=Array.isArray(re)?re:qe,n=oe?t[sn.current++%t.length]:t[0];return an.current.set(e.id,n),n},[oe,re]),cn=(null===(r=null==Dt?void 0:Dt.colors)||void 0===r?void 0:r.border)||(null===(i=null==Dt?void 0:Dt.colors)||void 0===i?void 0:i.secondary)||(null===(a=null==Dt?void 0:Dt.colors)||void 0===a?void 0:a.primary)||"#999",dn=t.useCallback(e=>{var t,n;return e?"object"==typeof e?e:null!==(n=null===(t=Yt.current)||void 0===t?void 0:t.nodes.get(e))&&void 0!==n?n:null:null},[]),un=t.useCallback(e=>{if("function"==typeof ie)return ie(e);const t=dn(e.source),n=dn(e.target);return"target"===ie&&n?ln(n):t?ln(t):cn},[ie,ln,cn,dn]),hn=t.useCallback(e=>{if("function"==typeof It.color){const t=dn(e.source);return t?It.color(e,t):cn}if(!(null==ee?void 0:ee.colorBy))return un(e);const t=It.colorBy,n=dn(e.source),o=dn(e.target);return"target"===t&&o?ln(o):n?ln(n):cn},[null==ee?void 0:ee.colorBy,It.color,It.colorBy,ln,un,cn,dn]),fn=("sankey"===j||!!rt)&&J||!!Be||null!==(c=null===(l=Yt.current)||void 0===l?void 0:l.isAnimating)&&void 0!==c&&c;t.useEffect(()=>{var e;null===(e=Yt.current)||void 0===e||e.updateConfig(Wt),lt.current=!0,Ct()},[Wt,Ct]);const gn=t.useCallback(()=>{var e,t;on(null!==(t=null===(e=Yt.current)||void 0===e?void 0:e.customLayoutOverlays)&&void 0!==t?t:null)},[]);t.useEffect(()=>{var e;const t=Yt.current;if(t){t.buildScene([yt,mt]),gn();for(const n of t.sceneNodes)n.id&&"string"==typeof(null===(e=n.style)||void 0===e?void 0:e.fill)&&an.current.set(n.id,n.style.fill);lt.current=!0,Ct()}},[Dt,yt,mt,Ct,gn]);const yn=t.useCallback(()=>{var e;const t=Yt.current;if(!t)return;t.runLayout([yt,mt]),t.buildScene([yt,mt]),gn(),lt.current=!0;for(const n of t.sceneNodes)n.id&&"string"==typeof(null===(e=n.style)||void 0===e?void 0:e.fill)&&an.current.set(n.id,n.style.fill);const n=Array.isArray(re)?re:qe,o=Array.from(t.nodes.values());for(let e=0;o.length>e;e++){const t=o[e];an.current.has(t.id)||an.current.set(t.id,n[e%n.length])}if(sn.current=o.length,Zt(t.layoutVersion),Ae){const{nodes:e,edges:n}=t.getLayoutData();Ae(e,n)}},[yt,mt,Ae,re,gn]),pn=t.useCallback(e=>{if(null==e||"object"!=typeof e)return;const t=Yt.current;t&&(t.ingestEdge(e)&&yn(),Ct())},[yn,Ct]),mn=t.useCallback(e=>{const t=Yt.current;if(!t)return;let n=!1;for(const o of e)null!=o&&"object"==typeof o&&t.ingestEdge(o)&&(n=!0);n&&yn(),Ct()},[yn,Ct]),vn=t.useCallback(()=>{var e,t,n;null===(e=Yt.current)||void 0===e||e.clear(),an.current.clear(),sn.current=0,Zt(null!==(n=null===(t=Yt.current)||void 0===t?void 0:t.layoutVersion)&&void 0!==n?n:0),qt(null),rn.current=null,lt.current=!0,Ct()},[Ct]),bn=t.useCallback(()=>{const e=Yt.current;e&&(e.tension+=999,yn(),Ct())},[yn,Ct]);t.useImperativeHandle(o,()=>({push:pn,pushMany:mn,removeNode:e=>{var t,n,o;const r=null!==(n=null===(t=Yt.current)||void 0===t?void 0:t.removeNode(e))&&void 0!==n&&n;if(r){const t=(null===(o=rn.current)||void 0===o?void 0:o.data)?"function"==typeof O?O(rn.current.data):rn.current.data[O]:void 0;rn.current&&"node"===rn.current.nodeOrEdge&&t===e&&(rn.current=null,qt(null)),an.current.delete(e),yn(),lt.current=!0,Ct()}return r},removeEdge:(e,t)=>{var n,o;const r=null!==(o=null===(n=Yt.current)||void 0===n?void 0:n.removeEdge(e,t))&&void 0!==o&&o;if(r){if(rn.current&&"edge"===rn.current.nodeOrEdge){const n=rn.current.data;let o;o=void 0!==t?("object"==typeof(null==n?void 0:n.source)?n.source.id:null==n?void 0:n.source)===e&&("object"==typeof(null==n?void 0:n.target)?n.target.id:null==n?void 0:n.target)===t:!T||!n||("function"==typeof T?T:e=>null==e?void 0:e[T])(n)===e,o&&(rn.current=null,qt(null))}yn(),lt.current=!0,Ct()}return r},updateNode:(e,t)=>{var n,o;const r=null!==(o=null===(n=Yt.current)||void 0===n?void 0:n.updateNode(e,t))&&void 0!==o?o:null;return r&&(lt.current=!0,Ct()),r},updateEdge:(e,t,n)=>{var o,r;const i=null!==(r=null===(o=Yt.current)||void 0===o?void 0:o.updateEdge(e,t,n))&&void 0!==r?r:[];return i.length>0&&(yn(),lt.current=!0,Ct()),i},clear:vn,getTopology:()=>{var e,t;return null!==(t=null===(e=Yt.current)||void 0===e?void 0:e.getLayoutData())&&void 0!==t?t:{nodes:[],edges:[]}},getTopologyDiff:()=>{const e=Yt.current;return e?{addedNodes:Array.from(e.addedNodes),removedNodes:Array.from(e.removedNodes),addedEdges:Array.from(e.addedEdges),removedEdges:Array.from(e.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:bn,getTension:()=>{var e,t;return null!==(t=null===(e=Yt.current)||void 0===e?void 0:e.tension)&&void 0!==t?t:0}}),[pn,mn,vn,bn,yn,Ct]);const xn=["tree","cluster","treemap","circlepack","partition","orbit"].includes(j),kn=xn?E||(Array.isArray(C)?void 0:C):void 0;t.useEffect(()=>{var e;const t=Yt.current;if(t)if(xn&&kn)t.ingestHierarchy(kn,[yt,mt]),t.buildScene([yt,mt]),gn(),lt.current=!0,Ct();else{const n=Pt,o=Array.isArray(_t)?_t:[];if(0===n.length&&0===o.length)return;t.ingestBounded(n,o,[yt,mt]),t.buildScene([yt,mt]),gn();for(const n of t.sceneNodes)n.id&&(null===(e=n.style)||void 0===e?void 0:e.fill)&&an.current.set(n.id,n.style.fill+"");const r=Array.isArray(re)?re:qe,i=Array.from(t.nodes.values());for(let e=0;i.length>e;e++){const t=i[e];an.current.has(t.id)||an.current.set(t.id,r[e%r.length])}sn.current=i.length,lt.current=!0,Ct()}},[Pt,_t,E,kn,xn,yt,mt,$t,Ct,re,gn]),t.useEffect(()=>{D&&D.length>0&&mn(D)},[]);const wn=t.useCallback(e=>{if(ke&&ke(e),Se){const t=Date.now();Se(e?{type:"hover",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:Me}:{type:"hover-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:Me})}},[ke,Se,Me]),Sn=t.useCallback(e=>{if(we&&we(e),Se){const t=Date.now();Se(e?{type:"click",datum:e.data||{},x:e.x,y:e.y,timestamp:t,chartType:"StreamNetworkFrame",chartId:Me}:{type:"click-end",timestamp:t,chartType:"StreamNetworkFrame",chartId:Me})}},[we,Se,Me]),{hoverHandlerRef:Mn,hoverLeaveRef:An,onPointerMove:jn,onPointerLeave:Ln}=dt;Mn.current=e=>{if(!be)return;const t=Bt.current;if(!t)return;const n=t.getBoundingClientRect(),o=e.clientX-n.left-gt.left,r=e.clientY-n.top-gt.top;if(0>o||o>yt||0>r||r>mt)return void(rn.current&&(rn.current=null,qt(null),wn&&(wn(null),lt.current=!0),Ct()));const i=Yt.current;if(!i)return;const a=ct(i.sceneNodes,i.sceneEdges,o,r,30,i.nodeQuadtree,i.maxNodeRadius);if(!a)return void(rn.current&&(rn.current=null,qt(null),wn&&(wn(null),lt.current=!0),Ct()));const s=f(a.datum||{},a.x,a.y,{nodeOrEdge:a.type});rn.current=s,qt(s),wn&&(wn(s),lt.current=!0),Ct()},An.current=()=>{rn.current&&(rn.current=null,qt(null),wn&&(wn(null),lt.current=!0),Ct())};const Cn=t.useRef(()=>{});Cn.current=e=>{if(!we&&!Se)return;const t=Bt.current;if(!t)return;const n=t.getBoundingClientRect(),o=e.clientX-n.left-gt.left,r=e.clientY-n.top-gt.top;if(0>o||o>yt||0>r||r>mt)return;const i=Yt.current;if(!i)return;const a=ct(i.sceneNodes,i.sceneEdges,o,r,30,i.nodeQuadtree,i.maxNodeRadius);Sn(a?f(a.datum||{},a.x,a.y,{nodeOrEdge:a.type}):null)};const En=t.useCallback(e=>Cn.current(e),[]),Dn=t.useRef(-1),On=t.useRef(null),Nn=t.useRef(-1),Pn=t.useCallback(e=>{var t;const n=Yt.current;if(!n)return;const o=function(e){var t,n,o,r,i,a;const s=[];for(const l of e)if("circle"===l.type&&null!=l.cx){if(0>=l.r)continue;s.push({x:l.cx,y:l.cy,datum:l.datum,shape:"circle",group:null!==(n=null===(t=l.datum)||void 0===t?void 0:t.id)&&void 0!==n?n:"_default"})}else if("rect"===l.type&&null!=l.x){if(0>=l.w||0>=l.h)continue;s.push({x:l.x+l.w/2,y:l.y+l.h/2,datum:l.datum,shape:"rect",w:l.w,h:l.h,group:null!==(r=null===(o=l.datum)||void 0===o?void 0:o.id)&&void 0!==r?r:"_default"})}else"arc"===l.type&&null!=l.cx&&s.push({x:l.cx,y:l.cy,datum:l.datum,shape:"circle",group:null!==(a=null===(i=l.datum)||void 0===i?void 0:i.id)&&void 0!==a?a:"_default"});return s.sort((e,t)=>e.x-t.x||e.y-t.y),s}(n.sceneNodes);if(0===o.length)return;const r=function(e){var t,n;const o=new Map;for(const n of e){const e=null!==(t=n.group)&&void 0!==t?t:"_default";let r=o.get(e);r||(r=[],o.set(e,r)),r.push(n)}for(const e of o.values()){e.sort((e,t)=>e.x-t.x||e.y-t.y);for(let t=0;e.length>t;t++)e[t]._groupIndex=t}const r=Array.from(o.keys()).sort((e,t)=>{const n=o.get(e),r=o.get(t);return(n.length>0?n[0].y:0)-(r.length>0?r[0].y:0)}),i=Array.from(o.values()).flat();i.sort((e,t)=>e.x-t.x||e.y-t.y);const a=new Map;for(let e=0;i.length>e;e++){i[e]._flatIndex=e;const t=null===(n=i[e].datum)||void 0===n?void 0:n.id;null!=t&&a.set(t+"",e)}return{flat:i,groups:r,byGroup:o,idToIdx:a}}(o),i=Dn.current;if(0>i){if("Escape"===e.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","Enter"].includes(e.key))return;e.preventDefault(),Dn.current=0,Nn.current=-1;const t=r.flat[0];On.current={shape:t.shape,w:t.w,h:t.h};const n=f(t.datum||{},t.x,t.y,{nodeOrEdge:"node"});return rn.current=n,qt(n),wn&&(wn(n),lt.current=!0),void Ct()}const a=function(e,t){var n,o;if(0===e.flat.length)return{flatIndex:-1,group:"_default",indexInGroup:-1};const r=Math.max(0,Math.min(t,e.flat.length-1)),i=e.flat[r];return{flatIndex:r,group:null!==(n=i.group)&&void 0!==n?n:"_default",indexInGroup:null!==(o=i._groupIndex)&&void 0!==o?o:0}}(r,i),s=function(e,t,n,o,r){var i,a,s;const l=n.flat[t.flatIndex];if(!l)return pt(e,t,n);const c=null===(i=l.datum)||void 0===i?void 0:i.id;switch(e){case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{const o=null!==(a=function(e,t,n){let o=null,r=1/0;for(let i=0;e.flat.length>i;i++){const a=e.flat[i];if(a===t)continue;const s=a.x-t.x,l=a.y-t.y;let c=!1;switch(n){case"right":c=s>0&&Math.abs(s)>=Math.abs(l);break;case"left":c=0>s&&Math.abs(s)>=Math.abs(l);break;case"down":c=l>0&&Math.abs(l)>=Math.abs(s);break;case"up":c=0>l&&Math.abs(l)>=Math.abs(s)}if(!c)continue;const d=s*s+l*l;r>d&&(r=d,o=i)}return o}(n,l,"ArrowRight"===e?"right":"ArrowLeft"===e?"left":"ArrowDown"===e?"down":"up"))&&void 0!==a?a:t.flatIndex;return o!==t.flatIndex&&(r.current=-1),o}case"Enter":{if(null==c)return t.flatIndex;const e=function(e,t){var n;const o=e+"",r=[];for(const e of t){const t=null!==(n=e.datum)&&void 0!==n?n:e,i=vt(t.source),a=vt(t.target),s=null!=i,l=null!=a;s&&i+""===o&&l?r.push(a+""):l&&a+""===o&&s&&r.push(i+"")}return r}(c,o);if(0===e.length)return t.flatIndex;const i=null!==(s=n.idToIdx.get(e[(r.current+1)%e.length]))&&void 0!==s?s:-1;return 0>i?t.flatIndex:(r.current=-1,i)}default:{const o=pt(e,t,n);return null!==o&&o!==t.flatIndex&&(r.current=-1),o}}}(e.key,a,r,null!==(t=n.sceneEdges)&&void 0!==t?t:[],Nn);if(null===s)return;if(e.preventDefault(),0>s)return Dn.current=-1,On.current=null,Nn.current=-1,rn.current=null,qt(null),wn&&(wn(null),lt.current=!0),void Ct();Dn.current=s;const l=r.flat[s];On.current={shape:l.shape,w:l.w,h:l.h};const c={data:l.datum||{},x:l.x,y:l.y,__semioticHoverData:!0,nodeOrEdge:"node"};rn.current=c,qt(c),wn&&(wn(c),lt.current=!0),Ct()},[wn,Ct]),_n=t.useCallback(e=>{Dn.current=-1,On.current=null,jn(e)},[jn]);Lt.current=()=>{var e,t,n,o,r,i,a;At.current=0;const s=Bt.current;if(!s)return;const l=s.getContext("2d");if(!l)return;const c=Yt.current;if(!c)return;const d=performance.now(),u=zt.current?Math.min((d-zt.current)/1e3,.1):.016;zt.current=d;const h=c.advanceTransition(ut.current?d+1e6:d),f=!ut.current&&h,g=!ut.current&&c.tickAnimation([yt,mt],u);(h||lt.current||g)&&c.buildScene([yt,mt]);const p="undefined"!=typeof window&&window.devicePixelRatio||1;if(!function(e,t,n,o){const r=e.getContext("2d");if(!r)return null;const i=t[0]*o,a=t[1]*o,s=t[0]+"px",l=t[1]+"px";return e.style.width!==s&&(e.style.width=s),e.style.height!==l&&(e.style.height=l),e.width===i&&e.height===a||(e.width=i,e.height=a),r.setTransform(o,0,0,o,0,0),r.translate(n.left,n.top),r}(s,ft,gt,p))return;if(l.clearRect(-gt.left,-gt.top,ft[0],ft[1]),ve){const e=Xt(l,ve);e&&(l.fillStyle=e,l.fillRect(0,0,yt,mt))}$e&&c.applyDecay(),Be&&c.applyPulse(d),Ye&&c.applyThresholds(d),c.applyTopologyDiff(d);const m=null!==(e=null==Fe?void 0:Fe.threshold)&&void 0!==e?e:5e3,v=Fe&&c.lastIngestTime>0&&d-c.lastIngestTime>m;if(v&&(l.globalAlpha=null!==(t=null==Fe?void 0:Fe.dimOpacity)&&void 0!==t?t:.5),function(e,t){for(const n of t)switch(n.type){case"bezier":xo(e,n);break;case"line":ko(e,n);break;case"ribbon":wo(e,n);break;case"curved":So(e,n)}}(l,c.sceneEdges),function(e,t){var n,o,r;for(const i of t){if("rect"!==i.type)continue;const t=i;t.w>0&&t.h>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fillRect(t.x,t.y,t.w,t.h)),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Xt(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.strokeRect(t.x,t.y,t.w,t.h)),mo(e,t),e.restore())}}(l,c.sceneNodes),function(e,t){var n,o,r;for(const i of t){if("circle"!==i.type)continue;const t=i;t.r>0&&(e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.r,0,2*Math.PI),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Xt(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.stroke()),vo(e,t),e.restore())}}(l,c.sceneNodes),function(e,t){var n,o,r;for(const i of t){if("arc"!==i.type)continue;const t=i;e.save(),void 0!==t.style.opacity&&(e.globalAlpha=t.style.opacity),e.beginPath(),e.arc(t.cx,t.cy,t.outerR,t.startAngle,t.endAngle),e.arc(t.cx,t.cy,t.innerR,t.endAngle,t.startAngle,!0),e.closePath(),t.style.fill&&(e.fillStyle="string"==typeof t.style.fill&&Xt(e,t.style.fill)||t.style.fill,void 0!==t.style.fillOpacity&&(e.globalAlpha=(null!==(n=t.style.opacity)&&void 0!==n?n:1)*t.style.fillOpacity),e.fill()),t.style.stroke&&"none"!==t.style.stroke&&(e.strokeStyle=Xt(e,t.style.stroke)||t.style.stroke,e.lineWidth=null!==(o=t.style.strokeWidth)&&void 0!==o?o:1,e.globalAlpha=null!==(r=t.style.opacity)&&void 0!==r?r:1,e.stroke()),e.restore()}}(l,c.sceneNodes),J&&c.particlePool&&!v){const e=c.edgesArray;if(e.length>0){!function(e,t,n,o){var r,i;const a=null!==(r=o.spawnRate)&&void 0!==r?r:y.spawnRate,s=null!==(i=o.maxPerEdge)&&void 0!==i?i:y.maxPerEdge;for(let o=0;t.length>o;o++){const r=t[o];if(!r.bezier)continue;if(e.countForEdge(o)>=s)continue;const i=r.value*a*n*(r.bezier.circular?.3:1),l=Math.floor(i),c=i-l;let d=l;Math.random()<c&&d++;for(let t=0;d>t&&e.countForEdge(o)<s;t++)e.spawn(o)}}(c.particlePool,e,u,It);const t=.5*(null!==(n=It.speedMultiplier)&&void 0!==n?n:1);let o;if(It.proportionalSpeed){const t=e.reduce((e,t)=>Math.max(e,t.value||1),1);o=e.map(e=>.3+(e.value||1)/t*1.7)}c.particlePool.step(u,t,e,o),function(e,t,n,o,r){var i,a;const s=null!==(i=o.radius)&&void 0!==i?i:y.radius,l=null!==(a=o.opacity)&&void 0!==a?a:y.opacity;e.globalAlpha=l;for(let i=0;t.particles.length>i;i++){const a=t.particles[i];if(!a.active)continue;const l=n[a.edgeIndex];if(!l)continue;let c;c="string"==typeof o.color&&"inherit"!==o.color?o.color:r(l),e.fillStyle=Xt(e,c)||c,e.beginPath(),e.arc(a.x,a.y,s,0,2*Math.PI),e.fill()}e.globalAlpha=1}(l,c.particlePool,e,It,hn)}}v&&(l.globalAlpha=1);const b=lt.current;if(lt.current=!1,b||f||g){const e=Bt.current;e&&e.setAttribute("aria-label",Qn(null!==(r=null===(o=c.sceneNodes)||void 0===o?void 0:o.length)&&void 0!==r?r:0,null!==(a=null===(i=c.sceneEdges)||void 0===i?void 0:i.length)&&void 0!==a?a:0,"Network chart"))}const x=b||f||g||Ft.current;x&&d-Ht.current>=33?(Jt(e=>e+1),Ht.current=d,Ft.current=!1):Ft.current=!!x,(fn||f||null!=c.transition||g||c.hasActivePulses||c.hasActiveThresholds||c.hasActiveTopologyDiff||Ft.current)&&(At.current=requestAnimationFrame(()=>Lt.current()))},function(e){const{hydrated:n,wasHydratingFromSSR:o,storeRef:r,dirtyRef:i,renderFnRef:a,cleanup:s}=e;Bn(()=>{var e,t;n&&o&&(null===(t=null===(e=r.current)||void 0===e?void 0:e.cancelIntroAnimation)||void 0===t||t.call(e)),i.current=!0,a.current()},[n,o]);const l=t.useRef(s);l.current=s,t.useEffect(()=>()=>{var e;return null===(e=l.current)||void 0===e?void 0:e.call(l)},[])}({hydrated:Ot,wasHydratingFromSSR:Nt,storeRef:Yt,dirtyRef:lt,renderFnRef:Lt}),t.useEffect(()=>{lt.current=!0,Ct()},[j,yt,mt,ve,Ct]),function(e,n,o,r,i,a){t.useEffect(()=>{if(!e)return;const t=setInterval(()=>{var t;const s=n.current;if(!s||0===s.lastIngestTime)return;const l="undefined"!=typeof performance?performance.now():Date.now(),c=null!==(t=e.threshold)&&void 0!==t?t:5e3,d=l-s.lastIngestTime>c;d!==i&&(a(d),o.current=!0,r())},1e3);return()=>clearInterval(t)},[e,i,r])}(Fe,Yt,lt,Ct,en,tn);const Tn=be&&Gt?e.jsx(jt,{x:Gt.x,y:Gt.y,containerWidth:yt,containerHeight:mt,margin:gt,className:"stream-network-tooltip",zIndex:2,children:xe?xe(Gt):e.jsx(Eo,{data:Gt})}):null;if($n||!Ot&&Nt){const t=Yt.current;if(t){const e=["tree","cluster","treemap","circlepack","partition","orbit"].includes(j),n=e?E||(Array.isArray(C)?void 0:C):void 0;if(e&&n)t.ingestHierarchy(n,[yt,mt]),t.buildScene([yt,mt]);else{const e=Pt,n=Array.isArray(_t)?_t:[];(e.length>0||n.length>0)&&(t.ingestBounded(e,n,[yt,mt]),t.buildScene([yt,mt]))}}const n=null!==(d=null==t?void 0:t.sceneNodes)&&void 0!==d?d:[],o=null!==(u=null==t?void 0:t.sceneEdges)&&void 0!==u?u:[],r=null!==(h=null==t?void 0:t.labels)&&void 0!==h?h:[];return e.jsxs("div",{ref:ht,className:"stream-network-frame"+(me?" "+me:""),role:"img","aria-label":Ge||("string"==typeof Ie?Ie:"Network chart"),style:{position:"relative",width:ge?"100%":ft[0],height:ye?"100%":ft[1]},children:[e.jsx(uo,{summary:Ve}),e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:ft[0],height:ft[1],style:{position:"absolute",left:0,top:0},children:[kt&&e.jsx("g",{transform:`translate(${gt.left},${gt.top})`,children:kt}),e.jsxs("g",{transform:`translate(${gt.left},${gt.top})`,children:[ve&&e.jsx("rect",{x:0,y:0,width:yt,height:mt,fill:ve}),o.map((t,n)=>function(t,n){switch(t.type){case"line":return e.jsx("line",{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,stroke:t.style.stroke||"#999",strokeWidth:t.style.strokeWidth||1,opacity:t.style.opacity},"net-edge-"+n);case"bezier":{const o=t;return e.jsx("path",{d:o.pathD,fill:Wn(o.style.fill,"#999"),fillOpacity:o.style.fillOpacity,stroke:o.style.stroke||"none",strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-edge-"+n)}case"ribbon":{const o=t;return e.jsx("path",{d:o.pathD,fill:Wn(o.style.fill,"#999"),fillOpacity:o.style.fillOpacity,stroke:o.style.stroke||"none",strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-edge-"+n)}case"curved":{const o=t;return e.jsx("path",{d:o.pathD,fill:Wn(o.style.fill,"none"),stroke:o.style.stroke||"#999",strokeWidth:o.style.strokeWidth||1,opacity:o.style.opacity},"net-edge-"+n)}default:return null}}(t,n)).filter(Boolean),n.map((t,n)=>function(t,n){switch(t.type){case"circle":{const o=t;return e.jsx("circle",{cx:o.cx,cy:o.cy,r:o.r,fill:Wn(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-circle-"+n)}case"rect":{const o=t;return e.jsx("rect",{x:o.x,y:o.y,width:o.w,height:o.h,fill:Wn(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-rect-"+n)}case"arc":{const o=t,r=s.arc().innerRadius(o.innerR).outerRadius(o.outerR).startAngle(o.startAngle+Math.PI/2).endAngle(o.endAngle+Math.PI/2)(Rn)||"";return e.jsx("path",{d:r,transform:`translate(${o.cx},${o.cy})`,fill:Wn(o.style.fill),stroke:o.style.stroke,strokeWidth:o.style.strokeWidth,opacity:o.style.opacity},"net-arc-"+n)}default:return null}}(t,n)).filter(Boolean),r.map((t,n)=>function(t,n){return e.jsx("text",{x:t.x,y:t.y,textAnchor:t.anchor||"middle",dominantBaseline:t.baseline||"auto",fontSize:t.fontSize||11,fontWeight:t.fontWeight,fill:t.fill||"#333",stroke:t.stroke,strokeWidth:t.strokeWidth,paintOrder:t.paintOrder,children:t.text},"net-label-"+n)}(t,n)).filter(Boolean)]})]}),e.jsx(In,{width:yt,height:mt,totalWidth:ft[0],totalHeight:ft[1],margin:gt,labels:r,sceneNodes:n,title:Ie,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Ne,legendClickBehavior:Pe,legendHighlightedCategory:_e,legendIsolatedCategories:Te,foregroundGraphics:at(bt,null===(p=Yt.current)||void 0===p?void 0:p.customLayoutOverlays),annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,annotationFrame:0})]})}const Xn=Yt.current;return e.jsxs("div",{ref:ht,className:"stream-network-frame"+(me?" "+me:""),role:"group","aria-label":Ge||("string"==typeof Ie?Ie:"Network chart"),tabIndex:0,style:{position:"relative",width:ge?"100%":ft[0],height:ye?"100%":ft[1],overflow:"visible"},onKeyDown:Pn,children:[Xe&&e.jsx(ho,{tableId:Mt}),Xe&&e.jsx(co,{nodes:null!==(m=null==Xn?void 0:Xn.sceneNodes)&&void 0!==m?m:[],edges:null!==(v=null==Xn?void 0:Xn.sceneEdges)&&void 0!==v?v:[],chartType:"Network chart",tableId:Mt,chartTitle:"string"==typeof Ie?Ie:void 0}),e.jsx(uo,{summary:Ve}),e.jsx(fo,{hoverPoint:Gt}),e.jsxs("div",{role:"img","aria-label":Ge||("string"==typeof Ie?Ie:"Network chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:be?_n:void 0,onMouseLeave:be?Ln:void 0,onClick:we||Se?En:void 0,children:[kt&&e.jsx("svg",{overflow:"visible",style:{position:"absolute",top:0,left:0,width:ft[0],height:ft[1],pointerEvents:"none",overflow:"visible"},children:e.jsx("g",{transform:`translate(${gt.left},${gt.top})`,children:kt})}),e.jsx("canvas",{ref:Bt,"aria-label":Qn(null!==(x=null===(b=null==Xn?void 0:Xn.sceneNodes)||void 0===b?void 0:b.length)&&void 0!==x?x:0,null!==(w=null===(k=null==Xn?void 0:Xn.sceneEdges)||void 0===k?void 0:k.length)&&void 0!==w?w:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),e.jsx(In,{width:yt,height:mt,totalWidth:ft[0],totalHeight:ft[1],margin:gt,labels:(null==Xn?void 0:Xn.labels)||[],sceneNodes:null==Xn?void 0:Xn.sceneNodes,title:Ie,legend:Ee,legendPosition:De,legendLayout:Oe,legendHoverBehavior:Ne,legendClickBehavior:Pe,legendHighlightedCategory:_e,legendIsolatedCategories:Te,foregroundGraphics:at(bt,nn),annotations:je,autoPlaceAnnotations:Le,svgAnnotationRules:Ce,annotationFrame:Ut}),e.jsx(xt,{active:Dn.current>=0,hoverPoint:Gt,margin:gt,size:ft,shape:null===(S=On.current)||void 0===S?void 0:S.shape,width:null===(M=On.current)||void 0===M?void 0:M.w,height:null===(A=On.current)||void 0===A?void 0:A.h}),Tn,(null==Fe?void 0:Fe.showBadge)&&e.jsx(Kt,{isStale:en,position:Fe.badgePosition})]})]})});function Oo(e,n){const{variant:o,frameRef:r,overrides:i,deps:a}=n;t.useImperativeHandle(e,()=>{const e=function(e,t){if("xy"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o;return null!==(o=null===(n=e.current)||void 0===n?void 0:n.remove(t))&&void 0!==o?o:[]},update:(t,n)=>{var o,r;return null!==(r=null===(o=e.current)||void 0===o?void 0:o.update(t,n))&&void 0!==r?r:[]},clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getData())&&void 0!==n?n:[]},getScales:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getScales())&&void 0!==n?n:null}}}if("network"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o,r,i,a;const s=Array.isArray(t)?t:[t],l=null!==(r=null===(o=null===(n=e.current)||void 0===n?void 0:n.getTopology())||void 0===o?void 0:o.nodes)&&void 0!==r?r:[],c=[];for(const t of s){const n=l.find(e=>e.id===t);n&&c.push(Object.assign(Object.assign({},null!==(i=n.data)&&void 0!==i?i:{}),{id:t})),null===(a=e.current)||void 0===a||a.removeNode(t)}return c},update:(t,n)=>(Array.isArray(t)?t:[t]).flatMap(t=>{var o;const r=null===(o=e.current)||void 0===o?void 0:o.updateNode(t,n);return r?[Object.assign(Object.assign({},r),{id:t})]:[]}),clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n,o,r;return null!==(r=null===(o=null===(n=null===(t=e.current)||void 0===t?void 0:t.getTopology())||void 0===n?void 0:n.nodes)||void 0===o?void 0:o.map(e=>e.data))&&void 0!==r?r:[]}}}if("geo-points"===e){const e=t;return{push:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.push(t)},pushMany:t=>{var n;return null===(n=e.current)||void 0===n?void 0:n.pushMany(t)},remove:t=>{var n,o;return null!==(o=null===(n=e.current)||void 0===n?void 0:n.removePoint(t))&&void 0!==o?o:[]},update:(t,n)=>{var o,r,i;const a=null!==(r=null===(o=e.current)||void 0===o?void 0:o.removePoint(t))&&void 0!==r?r:[];for(const t of a)null===(i=e.current)||void 0===i||i.push(n(t));return a},clear:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,n;return null!==(n=null===(t=e.current)||void 0===t?void 0:t.getData())&&void 0!==n?n:[]}}}const n=t;return{push:e=>{var t;return null===(t=n.current)||void 0===t?void 0:t.pushLine(e)},pushMany:e=>{var t;return null===(t=n.current)||void 0===t?void 0:t.pushManyLines(e)},remove:e=>{var t,o;return null!==(o=null===(t=n.current)||void 0===t?void 0:t.removeLine(e))&&void 0!==o?o:[]},update:(e,t)=>{var o,r,i;const a=null!==(r=null===(o=n.current)||void 0===o?void 0:o.removeLine(e))&&void 0!==r?r:[];for(const e of a)null===(i=n.current)||void 0===i||i.pushLine(t(e));return a},clear:()=>{var e;return null===(e=n.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=n.current)||void 0===e?void 0:e.getLines())&&void 0!==t?t:[]}}}(o,r);return Object.assign(Object.assign({},e),i)},null!=a?a:[])}Do.displayName="StreamNetworkFrame";const No=t.createContext(null);function Po(e){const t=[];for(const[n,o]of Object.entries(e.fields))if("point"===o.type)t.push(e=>o.values.has(e[n]));else{const[e,r]=o.range;t.push(t=>{const o=t[n];return o>=e&&r>=o})}return e=>t.every(t=>t(e))}function _o(e,t){let n=e.get(t);return n||(n={name:t,resolution:"union",clauses:new Map},e.set(t,n)),n}const[To,Io]=Lt(e=>({selections:new Map,setClause(t,n){e(e=>{const o=new Map(e.selections),r=_o(o,t),i=new Map(r.clauses);return i.set(n.clientId,n),o.set(t,Object.assign(Object.assign({},r),{clauses:i})),{selections:o}})},clearClause(t,n){e(e=>{const o=e.selections.get(t);if(!o)return{};const r=new Map(e.selections),i=new Map(o.clauses);return i.delete(n),r.set(t,Object.assign(Object.assign({},o),{clauses:i})),{selections:r}})},setResolution(t,n){e(e=>{const o=new Map(e.selections),r=_o(o,t);return o.set(t,Object.assign(Object.assign({},r),{resolution:n})),{selections:o}})},clearSelection(t){e(e=>{const n=new Map(e.selections),o=n.get(t);return o&&n.set(t,Object.assign(Object.assign({},o),{clauses:new Map})),{selections:n}})}})),[Ro,Wo]=Lt(e=>({observations:[],maxObservations:100,version:0,pushObservation(t){e(e=>{const n=e.observations;return n.push(t),n.length>e.maxObservations&&n.shift(),{version:e.version+1}})},clearObservations(){e(()=>({observations:[],version:0}))}}));let $o={positions:new Map};const Bo=new Set;function zo(){for(const e of Bo)e()}function Ho(e,t){const n=$o.positions.get(e);if(null==n?void 0:n.locked)return;if(!n||n.sourceId!==t)return;const o=new Map($o.positions);o.delete(e),$o={positions:o},zo()}function Fo(e){const n=t.useId(),o=e.clientId||n,{name:r}=e,i=Io(e=>e.selections.get(r)),a=Io(e=>e.setClause),s=Io(e=>e.clearClause),l=t.useMemo(()=>!!i&&i.clauses.size>0,[i]);return{predicate:t.useMemo(()=>i&&0!==i.clauses.size?function(e,t){const n=[];for(const[o,r]of e.clauses)"crossfilter"===e.resolution&&o===t||n.push(Po(r));return 0===n.length?()=>!0:"intersect"===e.resolution?e=>n.every(t=>t(e)):e=>n.some(t=>t(e))}(i,o):()=>!0,[i,o]),isActive:l,selectPoints:t.useCallback(e=>{const t={};for(const[n,o]of Object.entries(e))t[n]={type:"point",values:new Set(o)};a(r,{clientId:o,type:"point",fields:t})},[o,r,a]),selectInterval:t.useCallback(e=>{const t={};for(const[n,o]of Object.entries(e))t[n]={type:"interval",range:o};a(r,{clientId:o,type:"interval",fields:t})},[o,r,a]),clear:t.useCallback(()=>{s(r,o)},[s,r,o]),clientId:o}}const Yo=t.createContext(!1),Xo=t.createContext(null),Go="undefined"==typeof window?t.useEffect:t.useLayoutEffect;function qo(e,t,n){var o;const r=null!==(o=e.xValue)&&void 0!==o?o:null==t?void 0:t[n];if(null==r)return null;const i=Number(r);return Number.isFinite(i)?i:null}function Vo(e){let t=e.data||e.datum||e;return Array.isArray(t)&&(t=t[0]),null!=e.xValue&&t&&"object"==typeof t&&!Array.isArray(t)&&null==t.xValue?Object.assign(Object.assign({},t),{xValue:e.xValue}):t||{}}function Ko(){var e;const t=Rt(e=>e.theme),n=null===(e=null==t?void 0:t.colors)||void 0===e?void 0:e.categorical;return n&&n.length>0?n:void 0}function Qo(e,t,n,o,r){let i;if(Array.isArray(n))i=n;else if(t&&t.length>0)i=t;else if("string"==typeof n){const e=Ge[n];Array.isArray(e)&&(i=e)}return i&&0!==i.length?i[0]:"#007bff"}function Zo({data:e,colorBy:n,colorScale:o,showLegend:r,legendPosition:i="right",userMargin:a,defaults:s={top:50,bottom:60,left:70,right:40},categories:l}){const c=t.useContext(Yo),d=null!==t.useContext(Xo),u=void 0!==r?r:!c&&!!n,h=!!n&&(u||d),f=t.useMemo(()=>{if(!h)return[];if(void 0!==l)return l;const t=new Set;for(const o of e){const e="function"==typeof n?n(o):o[n];null!=e&&t.add(e+"")}return Array.from(t)},[l,n,e,h]);!function(e){const n=t.useContext(Xo),o=t.useId(),r=function(e){const t=new Set,n=[];for(const o of e)t.has(o)||(t.add(o),n.push(o));return n}(e),i=t.useRef([]);(function(e,t){if(e.length!==t.length)return!1;for(let n=0;e.length>n;n++)if(e[n]!==t[n])return!1;return!0})(i.current,r)||(i.current=r);const a=i.current;Go(()=>{if(n)return()=>n.unregisterCategories(o)},[n,o]),Go(()=>{n&&n.registerCategories(o,a)},[n,o,a])}(d&&n?f:[]);const g=t.useMemo(()=>{if(!u||!n)return;const t=function({data:e,colorBy:t,colorScale:n,getColor:o,strokeColor:r,strokeWidth:i,categories:a}){const s=(a&&a.length>0?a:Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t])))).map((r,i)=>{const a=e.find("function"==typeof t?e=>t(e)===r:e=>e[t]===r),s=a?o(a,t,n):n?n(r):Ve[i%Ve.length];return{label:r+"",color:s}});return{legendGroups:[{styleFn:e=>{const t=e.color||"#333",n={fill:t,stroke:t};return void 0!==r&&(n.stroke=r),void 0!==i&&(n.strokeWidth=i),n},type:"fill",items:s,label:""}]}}({data:e,colorBy:n,colorScale:o,getColor:Ze,categories:f});return 0!==t.legendGroups.reduce((e,t)=>e+t.items.length,0)?t:void 0},[u,n,e,o,f]),y=t.useMemo(()=>{const e="number"==typeof a?{top:a,bottom:a,left:a,right:a}:null!=a?a:{},t=t=>{const n=e[t];return"number"==typeof n?n:s[t]},n={top:t("top"),right:t("right"),bottom:t("bottom"),left:t("left")},o=t=>"number"==typeof e[t];return g&&("right"===i&&!o("right")&&110>n.right?n.right=110:"left"===i&&!o("left")&&110>n.left?n.left=110:"top"===i&&!o("top")&&50>n.top?n.top=50:"bottom"===i&&!o("bottom")&&80>n.bottom&&(n.bottom=80)),n},[s,a,g,i]);return{legend:g,margin:y,legendPosition:i}}u.createContext(void 0);const Uo={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function Jo(e,t,n){var o,r,i,a,s,l,c;const d=Uo[e||"primary"],u="context"===e||"sparkline"===e;return{width:null!==(o=t.width)&&void 0!==o?o:e&&"primary"!==e||!(null==n?void 0:n.width)?d.width:n.width,height:null!==(r=t.height)&&void 0!==r?r:e&&"primary"!==e||!(null==n?void 0:n.height)?d.height:n.height,showAxes:null!==(i=t.showAxes)&&void 0!==i?i:d.showAxes,showGrid:null!==(a=t.showGrid)&&void 0!==a?a:d.showGrid,enableHover:null!==(s=t.enableHover)&&void 0!==s?s:!!t.linkedHover||d.enableHover,showLegend:null!==(l=t.showLegend)&&void 0!==l?l:d.showLegend,showLabels:null!==(c=t.showLabels)&&void 0!==c?c:d.showLabels,title:u?void 0:t.title,description:t.description,summary:t.summary,accessibleTable:t.accessibleTable,xLabel:u?void 0:t.xLabel,yLabel:u?void 0:t.yLabel,categoryLabel:u?void 0:t.categoryLabel,valueLabel:u?void 0:t.valueLabel,marginDefaults:er(d.marginDefaults,t.showCategoryTicks,t.orientation),compactMode:u}}function er(e,t,n){if(!1!==t)return e;const o=Object.assign({},e);return"horizontal"===n?o.left=Math.min(o.left,15):o.bottom=Math.min(o.bottom,15),o}function tr(e,t){if(!e)return[];const n=[],o=e=>{n.push(e);const r="function"==typeof t?t(e):e[t];r&&Array.isArray(r)&&r.forEach(o)};return o(e),n}function nr(e,t,n,o){if(e&&e.length>0)return e;const r=new Set;return t.forEach(e=>{const t="function"==typeof n?n(e):e[n],i="function"==typeof o?o(e):e[o];r.add(t),r.add(i)}),Array.from(r).map(e=>({id:e}))}function or(e){return"function"==typeof e?e:t=>t[e]||1}function rr({edgeColorBy:e,colorBy:t,colorScale:n,nodeStyleFn:o,edgeOpacity:r,baseStyle:i={}}){return a=>{const s=Object.assign({fillOpacity:r},i);if("function"==typeof e)s.fill=e(a);else if("source"===e){const e="object"==typeof a.source?a.source:null;t&&e?s.fill=Ze(e.data||e,t,n):e&&(s.fill=o(e,e.index).fill)}else if("target"===e){const e="object"==typeof a.target?a.target:null;t&&e?s.fill=Ze(e.data||e,t,n):e&&(s.fill=o(e,e.index).fill)}else"gradient"===e&&(s.fill="#999",s.fillOpacity=.7*r);return s}}function ir({componentName:t,message:n,diagnosticHint:o,width:r,height:i}){return e.jsx("div",{role:"alert",style:{width:r,height:Math.max(i,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"},children:e.jsxs("div",{style:{textAlign:"center",maxWidth:400},children:[e.jsx("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"},children:t}),e.jsx("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5},children:n}),o&&e.jsx("div",{"data-testid":"semiotic-diagnostic-hint",style:{marginTop:10,padding:"8px 12px",background:"rgba(128, 128, 128, 0.06)",borderRadius:4,fontSize:12,color:"rgba(128, 128, 128, 0.8)",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",lineHeight:1.6},children:o})]})})}class ar extends u.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var n,o;null===(o=(n=this.props).onError)||void 0===o||o.call(n,e,t)}render(){if(this.state.error){const{fallback:t}=this.props,n=this.state.error;return"function"==typeof t?t(n):void 0!==t?t:e.jsx(ir,{componentName:"ChartErrorBoundary",message:n.message||"An unexpected error occurred while rendering this chart.",width:600,height:400})}return this.props.children}}function sr({componentName:t,width:n,height:o,children:r}){return e.jsx(ar,{fallback:r=>e.jsx(ir,{componentName:t,message:r.message,width:n,height:o}),children:r})}"undefined"!=typeof process&&process;const lr={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #666)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},cr={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function dr(n){const{nodes:o,edges:r,inferNodes:i=!0,sourceAccessor:a="source",targetAccessor:s="target",colorBy:l,colorScheme:c,showLegend:d,legendPosition:u,legendInteraction:h,selection:f,linkedHover:g,onObservation:y,onClick:p,chartType:m,chartId:v,marginDefaults:b,userMargin:x,width:k,height:w,loading:S,loadingContent:M,emptyContent:A,emptyDataKey:j="edges"}=n,L=t.useMemo(()=>yo(r),[r]),C=t.useMemo(()=>yo(o),[o]),E=function(t,n,o,r){if(!t)return null;if(!1===r)return null;if(null!=r)return e.jsx("div",{style:{width:n,height:o,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:r});const i=Math.min(5,Math.floor(o/40)),a=Math.max(8,Math.floor(o/(3*i))),s=Math.max(6,Math.floor(o/(2.5*i))),l=Math.floor((o-(i*(a+s)-s))/2);return e.jsx("div",{style:{width:n,height:o,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"},children:Array.from({length:i},(t,o)=>e.jsx("div",{className:"semiotic-loading-bar",style:Object.assign(Object.assign({},cr),{position:"absolute",top:l+o*(a+s),left:Math.floor(.1*n),width:30+(37*o+13)%50+"%",height:a,opacity:.5+o%2*.2})},o))})}(S,k,w,M),D=E?null:function(t,n,o,r){return!1===r||null==t||Array.isArray(t)&&t.length>0?null:Array.isArray(t)?e.jsx("div",{style:Object.assign(Object.assign({},lr),{width:n,height:o}),children:r||"No data available"}):null}("nodes"===j?void 0===o?void 0:C:void 0===r?void 0:L,k,w,A),O=t.useMemo(()=>i?nr(C,L,a,s):C,[i,C,L,a,s]),N=function(e,n,o){const r=t.useContext(No),i=Ko();return t.useMemo(()=>{var t;if(!n)return;const a=null!==(t=null!=o?o:i&&i.length>0?i:void 0)&&void 0!==t?t:"category10";if(0!==e.length){if("function"==typeof n){const t=Array.from(new Set(e.map(e=>n(e)+"")));if(r&&Object.keys(r).length>0){const e=Ue(t.map(e=>({_cat:e})),"_cat",a);return t=>r[t]||e(t)}return Ue(t.map(e=>({_cat:e})),"_cat",a)}if(r&&Object.keys(r).length>0){const t=Ue(e,n,a);return e=>r[e]||t(e)}return Ue(e,n,a)}if(r&&Object.keys(r).length>0){const e=Ue([{_:"a"}],"_",a);return t=>r[t]||e(t)}},[e,n,o,r,i])}(O,l,c),P=Ko(),_=t.useMemo(()=>{if(Array.isArray(c))return c;if(P&&P.length>0)return P;if("string"==typeof c){const e=Ge[c];if(Array.isArray(e)&&e.length>0)return e}return qe},[c,P]),T=t.useMemo(()=>{if(!l)return[];const e=new Set;for(const t of O){const n="function"==typeof l?l(t):t[l];null!=n&&e.add(n+"")}return Array.from(e)},[O,l]),I=function(e,n,o){const[r,i]=t.useState(null),[a,s]=t.useState(new Set),l=t.useCallback(t=>{"highlight"===e&&i(t?t.label:null)},[e]),c=t.useCallback(t=>{"isolate"===e&&s(e=>{const n=new Set(e);return n.has(t.label)?n.delete(t.label):n.add(t.label),n.size===o.length?new Set:n})},[e,o.length]),d=t.useMemo(()=>{if(!e||"none"===e||!n)return null;const t="string"==typeof n?n:null;return"highlight"===e&&null!=r?{isActive:!0,predicate:e=>(t?e[t]:"function"==typeof n?n(e):null)===r}:"isolate"===e&&a.size>0?{isActive:!0,predicate:e=>{const o=t?e[t]:"function"==typeof n?n(e):null;return a.has(o)}}:null},[e,n,r,a]);return{highlightedCategory:"highlight"===e?r:null,isolatedCategories:"isolate"===e?a:new Set,onLegendHover:l,onLegendClick:c,legendSelectionHook:d}}(h,l,T),{legend:R,margin:W,legendPosition:$}=Zo({data:O,colorBy:l,colorScale:N,showLegend:d,legendPosition:u,userMargin:x,defaults:b,categories:T}),B=function({selection:e,linkedHover:n,fallbackFields:o=[],unwrapData:r=!1,onObservation:i,chartType:a,chartId:s,onClick:l,hoverHighlight:c,colorByField:d}){const u=t.useId(),h=function(e,t){return e?!0===e?{name:"hover",fields:t||[]}:"string"==typeof e?{name:e,fields:t||[]}:{name:e.name||"hover",fields:e.fields||t||[],mode:e.mode,xField:e.xField,seriesField:e.seriesField}:null}(n,o),f="series"===(null==h?void 0:h.mode)?[h.seriesField||d||o[0]].filter(e=>!!e):(null==h?void 0:h.fields)||o||[],g=Fo({name:(null==e?void 0:e.name)||"__unused__"}),y=function(e){const n=e.name||"hover",{fields:o}=e,{predicate:r,isActive:i,selectPoints:a,clear:s}=Fo({name:n});return{onHover:t.useCallback(e=>{if(!e)return void s();const t={};for(const n of o){const o=e[n];void 0!==o&&(t[n]=[o])}Object.keys(t).length>0&&a(t)},[o,a,s,n]),predicate:r,isActive:i}}({name:(null==h?void 0:h.name)||"hover",fields:f}),p=Wo(e=>e.pushObservation),m=e?{isActive:g.isActive,predicate:g.predicate}:null,[v,b]=t.useState(null),x=d||o[0],k=t.useMemo(()=>{if(!c||null==v||!x)return null;const e=v,t=x;return{isActive:!0,predicate:n=>{var o;return("string"==typeof n[t]?n[t]:(null!==(o=n[t])&&void 0!==o?o:"")+"")===e}}},[c,v,x]),w=t.useCallback(e=>{var t,o;if(n)if(e){let t=e.data||e.datum||e;if(Array.isArray(t)&&(t=t[0]),"x-position"===(null==h?void 0:h.mode)&&h.xField){const n=qo(e,t,h.xField);null!=n&&function(e,t,n){const o=$o.positions.get(e);(null==o?void 0:o.locked)||o&&o.xValue===t&&o.sourceId===n||($o={positions:new Map($o.positions).set(e,{xValue:t,sourceId:n})},zo())}(h.name||"hover",n,u)}"x-position"!==(null==h?void 0:h.mode)&&y.onHover(t)}else"x-position"===(null==h?void 0:h.mode)&&Ho(h.name||"hover",u),"x-position"!==(null==h?void 0:h.mode)&&y.onHover(null);if(c&&x)if(e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]);const n=null==t?void 0:t[x];b(null!=n?n+"":null)}else b(null);if(i||p){const n={timestamp:Date.now(),chartType:a||"unknown",chartId:s};if(e){const r=Vo(e),a=Object.assign(Object.assign({},n),{type:"hover",datum:r||{},x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(o=e.y)&&void 0!==o?o:0});i&&i(a),p&&p(a)}else{const e=Object.assign(Object.assign({},n),{type:"hover-end"});i&&i(e),p&&p(e)}}},[n,y,h,u,i,a,s,p,c,x]),S=t.useCallback(e=>{var t,n,o,r;if("x-position"===(null==h?void 0:h.mode)&&h.xField&&e){let t=e.data||e.datum||e;Array.isArray(t)&&(t=t[0]);const n=qo(e,t,h.xField);null!=n&&function(e,t,n){const o=$o.positions.get(e);if(null==o?void 0:o.locked){const t=new Map($o.positions);return t.delete(e),$o={positions:t},zo(),!1}$o={positions:new Map($o.positions).set(e,{xValue:t,sourceId:n,locked:!0})},zo()}(h.name||"hover",n,u)}if(e&&l){let o=e.data||e.datum||e;Array.isArray(o)&&(o=o[0]),l(o,{x:null!==(t=e.x)&&void 0!==t?t:0,y:null!==(n=e.y)&&void 0!==n?n:0})}if(i||p){const t={timestamp:Date.now(),chartType:a||"unknown",chartId:s};if(e){const n=Vo(e),a=Object.assign(Object.assign({},t),{type:"click",datum:n||{},x:null!==(o=e.x)&&void 0!==o?o:0,y:null!==(r=e.y)&&void 0!==r?r:0});i&&i(a),p&&p(a)}else{const e=Object.assign(Object.assign({},t),{type:"click-end"});i&&i(e),p&&p(e)}}},[l,i,p,a,s,h,u]);return t.useEffect(()=>{if("x-position"!==(null==h?void 0:h.mode))return;const e=h.name||"hover";return()=>{!function(e,t){const n=$o.positions.get(e);if(!(null==n?void 0:n.locked))return;if(t&&n.sourceId!==t)return;const o=new Map($o.positions);o.delete(e),$o={positions:o},zo()}(e,u),Ho(e,u)}},[null==h?void 0:h.mode,null==h?void 0:h.name,u]),{activeSelectionHook:m,hoverSelectionHook:k,customHoverBehavior:w,customClickBehavior:S,crosshairSourceId:u}}({selection:f,linkedHover:g,fallbackFields:l?["string"==typeof l?l:""]:[],unwrapData:!0,onObservation:y,onClick:p,chartType:m,chartId:v}),{customHoverBehavior:z,customClickBehavior:H,activeSelectionHook:F,hoverSelectionHook:Y,crosshairSourceId:X}=B;return{safeNodes:O,safeEdges:L,colorScale:N,effectivePalette:_,themeCategorical:P,allCategories:T,legendState:I,legend:R,margin:W,legendPosition:$,customHoverBehavior:z,customClickBehavior:H,activeSelectionHook:F,hoverSelectionHook:Y,crosshairSourceId:X,loadingEl:E,emptyEl:D}}function ur(e,t){if(!function(e){return void 0!==e.stroke||void 0!==e.strokeWidth||void 0!==e.opacity}(t))return null!=e?e:()=>({});const n={};return void 0!==t.stroke&&(n.stroke=t.stroke),void 0!==t.strokeWidth&&(n.strokeWidth=t.strokeWidth),void 0!==t.opacity&&(n.opacity=t.opacity),e?(...t)=>{const o=e(...t)||{};return Object.assign(Object.assign({},o),n)}:(...e)=>Object.assign({},n)}function hr(e,t){const n=e.length,o=t.length,r=Array(o+1);for(let e=0;o>=e;e++)r[e]=e;for(let i=1;n>=i;i++){let n=r[0];r[0]=i;for(let a=1;o>=a;a++){const o=r[a];r[a]=e[i-1]===t[a-1]?n:1+Math.min(n,r[a],r[a-1]),n=o}}return r[o]}function fr(e,t){var n;if(0===t.length)return null;const o=e.toLowerCase();return t.find(e=>e.toLowerCase().includes(o)||o.includes(e.toLowerCase()))||(null!==(n=function(e,t,n=3){let o,r=n+1;for(const n of t){const t=hr(e.toLowerCase(),n.toLowerCase());r>t&&(r=t,o=n)}return r>n?void 0:o}(e,t,3))&&void 0!==n?n:null)}function gr({componentName:e,data:t,dataLabel:n="data"}){return null==t?`${e}: No ${n} provided. Pass a hierarchical object with children: { name: "root", children: [...] }.`:Array.isArray(t)?`${e}: ${n} should be a single root object, not an array. Expected: { name: "root", children: [...] }. If you have flat data, use LineChart, BarChart, or Scatterplot instead.`:null}function yr({componentName:e,nodes:t,edges:n,nodesRequired:o=!1,edgesRequired:r=!0,accessors:i}){if(null==t&&null==n)return null;if(r&&(!n||!Array.isArray(n)||0===n.length))return e+': No edges provided. Pass a non-empty array: edges={[{ source: "A", target: "B", value: 10 }, ...]}.';if(o&&(!t||!Array.isArray(t)||0===t.length))return e+': No nodes provided. Pass a non-empty array: nodes={[{ id: "A" }, { id: "B" }, ...]}.';if(i&&t&&t.length>0){const n=(a=t,a.length>3?[a[0],a[Math.floor(a.length/2)],a[a.length-1]]:a).find(e=>e&&"object"==typeof e);if(n){const t=Object.keys(n);for(const[o,r]of Object.entries(i))if(r&&"string"==typeof r&&!(r in n)){const n=fr(r,t),i=n?` Try ${o}="${n}".`:"";return`${e}: ${o} "${r}" not found in node data. Available fields: ${t.join(", ")}.${i}`}}}var a;return null}const pr=t.forwardRef(function(n,o){var r;const i=t.useRef(null);Oo(o,{variant:"network",frameRef:i});const a=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLegend:n.showLegend,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{nodes:s,edges:l,margin:c,className:d,nodeIdAccessor:u,nodeIDAccessor:h,sourceAccessor:f="source",targetAccessor:g="target",nodeLabel:y,colorBy:p,colorScheme:m,nodeSize:v=8,nodeSizeRange:b=[5,20],edgeWidth:x=1,edgeColor:k="#999",edgeOpacity:w=.6,iterations:S=300,forceStrength:M=.1,tooltip:A,frameProps:j={},onObservation:L,onClick:C,chartId:E,selection:D,linkedHover:O,loading:N,loadingContent:P,emptyContent:_,legendInteraction:T,legendPosition:I,stroke:R,strokeWidth:W,opacity:$}=n,B=null!==(r=null!=u?u:h)&&void 0!==r?r:"id",{width:z,height:H,enableHover:F,showLegend:Y,showLabels:X=!1,title:G,description:q,summary:V,accessibleTable:K}=a,Q=dr({nodes:s,edges:l,inferNodes:!1,sourceAccessor:f,targetAccessor:g,colorBy:p,colorScheme:m,showLegend:Y,legendPosition:I,legendInteraction:T,selection:D,linkedHover:O,onObservation:L,onClick:C,chartType:"ForceDirectedGraph",chartId:E,marginDefaults:a.marginDefaults,userMargin:c,width:z,height:H,loading:N,loadingContent:P,emptyContent:_,emptyDataKey:"nodes"}),Z=t.useMemo(()=>new Map,[]),U=t.useMemo(()=>e=>{const t={};return t.fill=p?Ze(e.data||e,p,Q.colorScale):Qo(0,Q.themeCategorical,m),"number"==typeof v&&(t.r=v),t},[p,Q.colorScale,v,Q.themeCategorical,m,Z]),J=t.useMemo(()=>ur(U,{stroke:R,strokeWidth:W,opacity:$}),[U,R,W,$]),ee=t.useMemo(()=>e=>({stroke:k,strokeWidth:"number"==typeof x?x:"function"==typeof x?x(e):e[x]||1,opacity:w}),[x,k,w]),te=t.useMemo(()=>ur(ee,{stroke:R,strokeWidth:W,opacity:$}),[ee,R,W,$]),ne=t.useMemo(()=>{if(X&&y)return"function"==typeof y?y:e=>{var t,n,o;return null!==(o=null!==(n=null===(t=e.data)||void 0===t?void 0:t[y])&&void 0!==n?n:e[y])&&void 0!==o?o:e.id}},[X,y]),oe=yr({componentName:"ForceDirectedGraph",nodes:s,edges:l,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:B}});return oe?e.jsx(ir,{componentName:"ForceDirectedGraph",message:oe,width:z,height:H}):Q.loadingEl?Q.loadingEl:Q.emptyEl?Q.emptyEl:e.jsx(sr,{componentName:"ForceDirectedGraph",width:z,height:H,children:e.jsx(Do,Object.assign({ref:i,chartType:"force"},null!=s&&{nodes:Q.safeNodes},null!=l&&{edges:Q.safeEdges},{size:[z,H],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:Q.margin,nodeIDAccessor:B,sourceAccessor:f,targetAccessor:g,iterations:S,forceStrength:M,nodeStyle:J,edgeStyle:te,colorBy:p,colorScheme:Q.effectivePalette,nodeSize:v,nodeSizeRange:b,nodeLabel:ne,showLabels:X,enableHover:F,tooltipContent:!1===A?()=>null:At(A)||void 0,customHoverBehavior:O||L||C?Q.customHoverBehavior:void 0,customClickBehavior:L||C?Q.customClickBehavior:void 0,legend:Q.legend,legendPosition:Q.legendPosition},T&&"none"!==T&&{legendHoverBehavior:Q.legendState.onLegendHover,legendClickBehavior:Q.legendState.onLegendClick,legendHighlightedCategory:Q.legendState.highlightedCategory,legendIsolatedCategories:Q.legendState.isolatedCategories},{className:d,title:G,description:q,summary:V,accessibleTable:K},null!=n.animate&&{animate:n.animate},j))})});pr.displayName="ForceDirectedGraph";const mr=t.forwardRef(function(n,o){const r=t.useRef(null);Oo(o,{variant:"network",frameRef:r,overrides:{getData:()=>{var e,t,n,o;return null!==(o=null===(n=null===(t=null===(e=r.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===n?void 0:n.map(e=>e.data))&&void 0!==o?o:[]}}});const i=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:800,height:600}),{nodes:a,edges:s,margin:l,className:c,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",nodeIdAccessor:f="id",colorBy:g,colorScheme:y,edgeColorBy:p="source",orientation:m="horizontal",nodeAlign:v="justify",nodePaddingRatio:b=.05,nodeWidth:x=15,nodeLabel:k,edgeOpacity:w=.5,edgeSort:S,tooltip:M,frameProps:A={},onObservation:j,onClick:L,chartId:C,selection:E,linkedHover:D,loading:O,loadingContent:N,emptyContent:P,showLegend:_,legendPosition:T,legendInteraction:I,stroke:R,strokeWidth:W,opacity:$}=n,{width:B,height:z,enableHover:H,showLabels:F=!0,title:Y,description:X,summary:G,accessibleTable:q}=i,V=dr({nodes:a,edges:s,inferNodes:!0,sourceAccessor:d,targetAccessor:u,colorBy:g,colorScheme:y,showLegend:_,legendPosition:T,legendInteraction:I,selection:E,linkedHover:D,onObservation:j,onClick:L,chartType:"SankeyDiagram",chartId:C,marginDefaults:i.marginDefaults,userMargin:l,width:B,height:z,loading:O,loadingContent:N,emptyContent:P}),K=t.useMemo(()=>new Map,[]),Q=t.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?Ze(e.data||e,g,V.colorScale):Qo(0,V.themeCategorical,y),t},[g,V.colorScale,V.themeCategorical,y,K]),Z=t.useMemo(()=>ur(Q,{stroke:R,strokeWidth:W,opacity:$}),[Q,R,W,$]),U=t.useMemo(()=>rr({edgeColorBy:p,colorBy:g,colorScale:V.colorScale,nodeStyleFn:Z,edgeOpacity:w,baseStyle:{stroke:"none",strokeWidth:0}}),[p,g,V.colorScale,Z,w]),J=t.useMemo(()=>ur(U,{stroke:R,strokeWidth:W,opacity:$}),[U,R,W,$]),ee=t.useMemo(()=>{if(!F)return;const e=k||f;return"function"==typeof e?e:t=>{var n,o,r;return null!==(r=null!==(o=null===(n=t.data)||void 0===n?void 0:n[e])&&void 0!==o?o:t[e])&&void 0!==r?r:t.id}},[F,k,f]),te=yr({componentName:"SankeyDiagram",edges:s,edgesRequired:!0});return te?e.jsx(ir,{componentName:"SankeyDiagram",message:te,width:B,height:z}):V.loadingEl?V.loadingEl:V.emptyEl?V.emptyEl:e.jsx(sr,{componentName:"SankeyDiagram",width:B,height:z,children:e.jsx(Do,Object.assign({ref:r,chartType:"sankey"},V.safeNodes.length>0&&{nodes:V.safeNodes},null!=s&&{edges:V.safeEdges},{size:[B,z],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:V.margin,nodeIDAccessor:f,sourceAccessor:d,targetAccessor:u,valueAccessor:h,orientation:m,nodeAlign:v,nodePaddingRatio:b,nodeWidth:x,nodeStyle:Z,edgeStyle:J,colorBy:g,colorScheme:V.effectivePalette,edgeColorBy:p,edgeOpacity:w,edgeSort:S,nodeLabel:ee,showLabels:F,enableHover:H,tooltipContent:!1===M?()=>null:At(M)||void 0,customHoverBehavior:D||j||L?V.customHoverBehavior:void 0,customClickBehavior:j||L?V.customClickBehavior:void 0,legend:V.legend,legendPosition:V.legendPosition},I&&"none"!==I&&{legendHoverBehavior:V.legendState.onLegendHover,legendClickBehavior:V.legendState.onLegendClick,legendHighlightedCategory:V.legendState.highlightedCategory,legendIsolatedCategories:V.legendState.isolatedCategories},{className:c,title:Y,description:X,summary:G,accessibleTable:q},null!=n.animate&&{animate:n.animate},A))})});mr.displayName="SankeyDiagram";const vr=t.forwardRef(function(n,o){const r=t.useRef(null);Oo(o,{variant:"network",frameRef:r,overrides:{getData:()=>{var e,t,n,o;return null!==(o=null===(n=null===(t=null===(e=r.current)||void 0===e?void 0:e.getTopology())||void 0===t?void 0:t.edges)||void 0===n?void 0:n.map(e=>e.data))&&void 0!==o?o:[]}}});const i=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{nodes:a,edges:s,margin:l,className:c,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",nodeIdAccessor:f="id",colorBy:g,colorScheme:y,edgeColorBy:p="source",padAngle:m=.01,groupWidth:v=20,sortGroups:b,nodeLabel:x,edgeOpacity:k=.5,tooltip:w,frameProps:S={},onObservation:M,onClick:A,chartId:j,selection:L,linkedHover:C,loading:E,loadingContent:D,emptyContent:O,legendInteraction:N,stroke:P,strokeWidth:_,opacity:T}=n,{width:I,height:R,enableHover:W,showLabels:$=!0,title:B,description:z,summary:H,accessibleTable:F}=i,Y=dr({nodes:a,edges:s,inferNodes:!0,sourceAccessor:d,targetAccessor:u,colorBy:g,colorScheme:y,showLegend:!1,legendInteraction:N,selection:L,linkedHover:C,onObservation:M,onClick:A,chartType:"ChordDiagram",chartId:j,marginDefaults:i.marginDefaults,userMargin:l,width:I,height:R,loading:E,loadingContent:D,emptyContent:O}),X=t.useMemo(()=>new Map,[]),G=Y.safeNodes.length>0,q=t.useMemo(()=>{if(G)return(e,t)=>{var n,o;const r={stroke:"black",strokeWidth:1};if(g)r.fill=Ze(e.data||e,g,Y.colorScale);else{const i=Array.isArray(y)?y:Ge[y]||qe,a=Array.isArray(i)?i:qe,s=null!==(o=null!==(n=e.index)&&void 0!==n?n:t)&&void 0!==o?o:0;r.fill=a[s%a.length]}return r}},[G,g,Y.colorScale,y]),V=t.useMemo(()=>q?ur(q,{stroke:P,strokeWidth:_,opacity:T}):void 0,[q,P,_,T]),K=t.useMemo(()=>{if(G)return rr({edgeColorBy:p,colorBy:g,colorScale:Y.colorScale,nodeStyleFn:V||(e=>({fill:Qo(0,Y.themeCategorical,y)})),edgeOpacity:k,baseStyle:{stroke:"black",strokeWidth:.5,strokeOpacity:k}})},[G,p,g,Y.colorScale,V,k,Y.themeCategorical,y,X]),Q=t.useMemo(()=>K?ur(K,{stroke:P,strokeWidth:_,opacity:T}):void 0,[K,P,_,T]),Z=t.useMemo(()=>{if(!$)return;const e=x||f;return"function"==typeof e?e:t=>{var n,o,r;return null!==(r=null!==(o=null===(n=t.data)||void 0===n?void 0:n[e])&&void 0!==o?o:t[e])&&void 0!==r?r:t.id}},[$,x,f]),U=yr({componentName:"ChordDiagram",edges:s,edgesRequired:!0});return U?e.jsx(ir,{componentName:"ChordDiagram",message:U,width:I,height:R}):Y.loadingEl?Y.loadingEl:Y.emptyEl?Y.emptyEl:e.jsx(sr,{componentName:"ChordDiagram",width:I,height:R,children:e.jsx(Do,Object.assign({ref:r,chartType:"chord"},Y.safeNodes.length>0&&{nodes:Y.safeNodes},null!=s&&{edges:Y.safeEdges},{size:[I,R],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:Y.margin,nodeIDAccessor:f,sourceAccessor:d,targetAccessor:u,valueAccessor:h,padAngle:m,groupWidth:v,sortGroups:b,nodeStyle:V,edgeStyle:Q,colorBy:g,colorScheme:Y.effectivePalette,edgeColorBy:p,edgeOpacity:k,nodeLabel:Z,showLabels:$,enableHover:W,tooltipContent:!1===w?()=>null:At(w)||void 0,customHoverBehavior:C||M||A?Y.customHoverBehavior:void 0,customClickBehavior:M||A?Y.customClickBehavior:void 0},N&&"none"!==N&&{legendHoverBehavior:Y.legendState.onLegendHover,legendClickBehavior:Y.legendState.onLegendClick,legendHighlightedCategory:Y.legendState.highlightedCategory,legendIsolatedCategories:Y.legendState.isolatedCategories},{className:c,title:B,description:z,summary:H,accessibleTable:F},null!=n.animate&&{animate:n.animate},S))})});function br(n){const o=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,layout:s="tree",orientation:l="vertical",childrenAccessor:c="children",valueAccessor:d="value",nodeIdAccessor:u="name",colorBy:h,colorScheme:f,colorByDepth:g=!1,edgeStyle:y="curve",nodeLabel:p,nodeSize:m=5,tooltip:v,frameProps:b={},onObservation:x,onClick:k,chartId:w,selection:S,linkedHover:M,loading:A,loadingContent:j,legendInteraction:L,stroke:C,strokeWidth:E,opacity:D}=n,{width:O,height:N,enableHover:P,showLabels:_=!0,title:T,description:I,summary:R,accessibleTable:W}=o,$=dr({nodes:t.useMemo(()=>tr(null!=r?r:null,c),[r,c]),edges:void 0,inferNodes:!1,colorBy:g?void 0:h,colorScheme:f,showLegend:!1,legendInteraction:L,selection:S,linkedHover:M,onObservation:x,onClick:k,chartType:"TreeDiagram",chartId:w,marginDefaults:o.marginDefaults,userMargin:i,width:O,height:N,loading:A,loadingContent:j}),B=t.useMemo(()=>new Map,[]),z=t.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?Ke[(e.depth||0)%Ke.length]:h?Ze(e.data||e,h,$.colorScale):Qo(0,$.themeCategorical,f),t},[h,g,$.colorScale,$.themeCategorical,f,B]),H=t.useMemo(()=>ur(z,{stroke:C,strokeWidth:E,opacity:D}),[z,C,E,D]),F=t.useMemo(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),Y=t.useMemo(()=>ur(F,{stroke:C,strokeWidth:E,opacity:D}),[F,C,E,D]),X=t.useMemo(()=>{if("treemap"===s||"circlepack"===s||"partition"===s)return or(d)},[s,d]),G=gr({componentName:"TreeDiagram",data:r});return G?e.jsx(ir,{componentName:"TreeDiagram",message:G,width:O,height:N}):$.loadingEl?$.loadingEl:e.jsx(sr,{componentName:"TreeDiagram",width:O,height:N,children:e.jsx(Do,Object.assign({chartType:s},null!=r&&{data:r},{size:[O,N],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:$.margin,nodeIDAccessor:u,childrenAccessor:c,hierarchySum:X,treeOrientation:l,edgeType:y,nodeStyle:H,edgeStyle:Y,colorBy:h,colorScheme:$.effectivePalette,colorByDepth:g,nodeSize:m,nodeLabel:_?p||u:void 0,showLabels:_,enableHover:P,tooltipContent:!1===v?()=>null:At(v)||void 0,customHoverBehavior:M||x||k?$.customHoverBehavior:void 0,customClickBehavior:x||k?$.customClickBehavior:void 0},L&&"none"!==L&&{legendHoverBehavior:$.legendState.onLegendHover,legendClickBehavior:$.legendState.onLegendClick,legendHighlightedCategory:$.legendState.highlightedCategory,legendIsolatedCategories:$.legendState.isolatedCategories},{className:a,title:T,description:I,summary:R,accessibleTable:W},null!=n.animate&&{animate:n.animate},b))})}function xr(n){const o=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary,linkedHover:n.linkedHover},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",valueAccessor:l="value",nodeIdAccessor:c="name",colorBy:d,colorScheme:u,colorByDepth:h=!1,labelMode:f="leaf",nodeLabel:g,padding:y=4,paddingTop:p,nodeStyle:m,tooltip:v,frameProps:b={},selection:x,linkedHover:k,onObservation:w,onClick:S,chartId:M,loading:A,loadingContent:j,legendInteraction:L,stroke:C,strokeWidth:E,opacity:D}=n,{nodeStyle:O}=b,N=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);o.length>r;r++)0>t.indexOf(o[r])&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}(b,["nodeStyle"]),{width:P,height:_,enableHover:T,showLabels:I=!0,title:R,description:W,summary:$,accessibleTable:B}=o,z=dr({nodes:t.useMemo(()=>tr(null!=r?r:null,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:h?void 0:d,colorScheme:u,showLegend:!1,legendInteraction:L,selection:x,linkedHover:k,onObservation:w,onClick:S,chartType:"Treemap",chartId:M,marginDefaults:o.marginDefaults,userMargin:i,width:P,height:_,loading:A,loadingContent:j}),H=function(e){const n=Rt(e=>e.theme.colors.selectionOpacity);return t.useMemo(()=>{var t,o;if(void 0!==e||void 0!==n)return Object.assign(Object.assign({name:null!==(t=null==e?void 0:e.name)&&void 0!==t?t:""},e),{unselectedOpacity:null!==(o=null==e?void 0:e.unselectedOpacity)&&void 0!==o?o:n})},[e,n])}(x),F=z.customHoverBehavior,Y=t.useCallback(e=>{if(!e)return F(null);const t=e.data||e;F({data:(null==t?void 0:t.data)||t})},[F]),X=t.useMemo(()=>new Map,[]),G=t.useMemo(()=>e=>{const t={stroke:"var(--semiotic-cell-border, var(--semiotic-border, #fff))",strokeWidth:1,strokeOpacity:.8};return t.fill=h?Ke[(e.depth||0)%Ke.length]:d?Ze(e.data||e,d,z.colorScale):Qo(0,z.themeCategorical,u),t},[d,h,z.colorScale,z.themeCategorical,u,X]),q=t.useMemo(()=>m||O?e=>{var t,n;return Object.assign(Object.assign(Object.assign({},G(e)),O&&null!==(t=O(e))&&void 0!==t?t:{}),m&&null!==(n=m(e))&&void 0!==n?n:{})}:G,[G,m,O]),V=t.useMemo(()=>ur(q,{stroke:C,strokeWidth:E,opacity:D}),[q,C,E,D]),K=t.useMemo(()=>z.activeSelectionHook?e=>{var t;const n=Object.assign({},V(e));if(z.activeSelectionHook.isActive)if(z.activeSelectionHook.predicate(e.data||e))(null==H?void 0:H.selectedStyle)&&Object.assign(n,H.selectedStyle);else{const e=null!==(t=null==H?void 0:H.unselectedOpacity)&&void 0!==t?t:.5;n.opacity=e,n.fillOpacity=e,n.strokeOpacity=e,(null==H?void 0:H.unselectedStyle)&&Object.assign(n,H.unselectedStyle)}return n}:V,[V,z.activeSelectionHook,H]),Q=t.useMemo(()=>or(l),[l]),Z=void 0!==p?p:!I||"parent"!==f&&"all"!==f?void 0:18,U=gr({componentName:"Treemap",data:r});return U?e.jsx(ir,{componentName:"Treemap",message:U,width:P,height:_}):z.loadingEl?z.loadingEl:e.jsx(sr,{componentName:"Treemap",width:P,height:_,children:e.jsx(Do,Object.assign({chartType:"treemap"},null!=r&&{data:r},{size:[P,_],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:z.margin,nodeIDAccessor:c,childrenAccessor:s,hierarchySum:Q,padding:y,paddingTop:Z,nodeStyle:K,colorBy:d,colorScheme:z.effectivePalette,colorByDepth:h,nodeLabel:I?g||c:void 0,showLabels:I,labelMode:f,enableHover:T,tooltipContent:!1===v?()=>null:At(v)||void 0},(k||w||S)&&{customHoverBehavior:Y},(w||S)&&{customClickBehavior:z.customClickBehavior},L&&"none"!==L&&{legendHoverBehavior:z.legendState.onLegendHover,legendClickBehavior:z.legendState.onLegendClick,legendHighlightedCategory:z.legendState.highlightedCategory,legendIsolatedCategories:z.legendState.isolatedCategories},{className:a,title:R,description:W,summary:$,accessibleTable:B},null!=n.animate&&{animate:n.animate},N))})}function kr(n){const o=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",valueAccessor:l="value",nodeIdAccessor:c="name",colorBy:d,colorScheme:u,colorByDepth:h=!1,nodeLabel:f,circleOpacity:g=.7,padding:y=4,tooltip:p,frameProps:m={},onObservation:v,onClick:b,chartId:x,selection:k,linkedHover:w,loading:S,loadingContent:M,legendInteraction:A,stroke:j,strokeWidth:L,opacity:C}=n,{width:E,height:D,enableHover:O,showLabels:N=!0,title:P,description:_,summary:T,accessibleTable:I}=o,R=dr({nodes:t.useMemo(()=>tr(null!=r?r:null,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:h?void 0:d,colorScheme:u,showLegend:!1,legendInteraction:A,selection:k,linkedHover:w,onObservation:v,onClick:b,chartType:"CirclePack",chartId:x,marginDefaults:o.marginDefaults,userMargin:i,width:E,height:D,loading:S,loadingContent:M}),W=t.useMemo(()=>new Map,[]),$=t.useMemo(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:g};return t.fill=h?Ke[(e.depth||0)%Ke.length]:d?Ze(e.data||e,d,R.colorScale):Qo(0,R.themeCategorical,u),t},[d,h,R.colorScale,g,R.themeCategorical,u,W]),B=t.useMemo(()=>ur($,{stroke:j,strokeWidth:L,opacity:C}),[$,j,L,C]),z=t.useMemo(()=>or(l),[l]),H=gr({componentName:"CirclePack",data:r});return H?e.jsx(ir,{componentName:"CirclePack",message:H,width:E,height:D}):R.loadingEl?R.loadingEl:e.jsx(sr,{componentName:"CirclePack",width:E,height:D,children:e.jsx(Do,Object.assign({chartType:"circlepack"},null!=r&&{data:r},{size:[E,D],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:R.margin,nodeIDAccessor:c,childrenAccessor:s,hierarchySum:z,padding:y,nodeStyle:B,colorBy:d,colorScheme:R.effectivePalette,colorByDepth:h,nodeLabel:N?f||c:void 0,showLabels:N,enableHover:O,tooltipContent:!1===p?()=>null:At(p)||void 0,customHoverBehavior:w||v||b?R.customHoverBehavior:void 0,customClickBehavior:v||b?R.customClickBehavior:void 0},A&&"none"!==A&&{legendHoverBehavior:R.legendState.onLegendHover,legendClickBehavior:R.legendState.onLegendClick,legendHighlightedCategory:R.legendState.highlightedCategory,legendIsolatedCategories:R.legendState.isolatedCategories},{className:a,title:P,description:_,summary:T,accessibleTable:I},null!=n.animate&&{animate:n.animate},m))})}vr.displayName="ChordDiagram",br.displayName="TreeDiagram","function"==typeof SuppressedError&&SuppressedError,xr.displayName="Treemap",kr.displayName="CirclePack";const wr=Ke;function Sr(n){const o=Jo(n.mode,{width:n.width,height:n.height,enableHover:n.enableHover,showLabels:n.showLabels,title:n.title,description:n.description,accessibleTable:n.accessibleTable,summary:n.summary},{width:600,height:600}),{data:r,margin:i,className:a,childrenAccessor:s="children",nodeIdAccessor:l="name",colorBy:c,colorScheme:d,colorByDepth:u=!1,orbitMode:h="flat",orbitSize:f=2.95,speed:g=.25,revolution:y,revolutionStyle:p,eccentricity:m=1,showRings:v=!0,nodeRadius:b=6,showLabels:x=!1,animated:k=!0,tooltip:w,foregroundGraphics:S,annotations:M,frameProps:A={},onObservation:j,onClick:L,chartId:C,selection:E,linkedHover:D,loading:O,loadingContent:N,stroke:P,strokeWidth:_,opacity:T}=n,{width:I,height:R,enableHover:W,title:$,description:B,summary:z,accessibleTable:H}=o,F=dr({nodes:t.useMemo(()=>tr(r,s),[r,s]),edges:void 0,inferNodes:!1,colorBy:u?void 0:c,colorScheme:d,showLegend:!1,legendInteraction:void 0,selection:E,linkedHover:D,onObservation:j,onClick:L,chartType:"OrbitDiagram",chartId:C,marginDefaults:{top:10,right:10,bottom:10,left:10},userMargin:i,width:I,height:R,loading:O,loadingContent:N}),Y=t.useMemo(()=>new Map,[]),{colorScale:X,customClickBehavior:G,customHoverBehavior:q,themeCategorical:V}=F,K=t.useMemo(()=>{if(Array.isArray(d))return d;const e=Ge[d];return Array.isArray(e)?e:qe},[d]),Q=t.useMemo(()=>e=>{var t;const n={stroke:"#fff",strokeWidth:1},o=0===(null!==(t=e.depth)&&void 0!==t?t:0);return n.fill=u?o?K[0]:wr[(e.depth||0)%wr.length]:c?Ze(e.data||e,c,X):Qo(0,V,d),n.opacity=o?1:.85,n},[c,u,X,K,V,d,Y]),Z=t.useMemo(()=>ur(Q,{stroke:P,strokeWidth:_,opacity:T}),[Q,P,_,T]),U=t.useMemo(()=>()=>({stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1}),[]),J=t.useMemo(()=>{if(q)return e=>{q(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[q]),ee=t.useMemo(()=>{if(G)return e=>{G(e&&e.data&&void 0!==e.data.data?Object.assign(Object.assign({},e),{data:e.data.data}):e)}},[G]),te=gr({componentName:"OrbitDiagram",data:r});return te?e.jsx(ir,{componentName:"OrbitDiagram",message:te,width:I,height:R}):F.loadingEl?F.loadingEl:e.jsx(sr,{componentName:"OrbitDiagram",width:I,height:R,children:e.jsx(Do,Object.assign({chartType:"orbit"},null!=r&&{data:r},{size:[I,R],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:F.margin,nodeIDAccessor:l,childrenAccessor:s,nodeStyle:Z,edgeStyle:U,colorBy:c,colorScheme:F.effectivePalette,colorByDepth:u,nodeSize:b,nodeLabel:x?l:void 0,showLabels:x,enableHover:!k&&W,tooltipContent:k?void 0:!1===w?()=>null:At(w)||void 0,customHoverBehavior:D||j||L?J:void 0,customClickBehavior:j||L?ee:void 0,foregroundGraphics:S,annotations:M,className:a,title:$,description:B,summary:z,orbitMode:h,orbitSize:f,orbitSpeed:g,orbitRevolution:y,orbitRevolutionStyle:p,orbitEccentricity:m,orbitShowRings:v,orbitAnimated:k,accessibleTable:H},null!=n.animate&&{animate:n.animate},A))})}function Mr(e,t,n){const o=[],r=new Set(e.map(e=>e.id)),i=Array.isArray(n)&&2===n.length,a=i&&Number.isFinite(n[0])&&Number.isFinite(n[1]);i&&a&&a&&n[1]>=n[0]||o.push({kind:"invalid-domain"});for(const t of e)null!=t.xExtent&&(Array.isArray(t.xExtent)&&2===t.xExtent.length&&Number.isFinite(t.xExtent[0])&&Number.isFinite(t.xExtent[1])&&t.xExtent[1]>=t.xExtent[0]||o.push({kind:"invalid-node-time",id:t.id}));for(const e of t)r.has(e.source)||o.push({kind:"missing-node",id:e.id,endpoint:"source",nodeId:e.source}),r.has(e.target)||o.push({kind:"missing-node",id:e.id,endpoint:"target",nodeId:e.target}),Number.isFinite(e.startTime)&&Number.isFinite(e.endTime)?(Number.isFinite(e.value)&&e.value>0||o.push({kind:"invalid-value",id:e.id}),e.endTime>e.startTime||o.push({kind:"backward-edge",id:e.id,source:e.source,target:e.target})):o.push({kind:"invalid-edge-time",id:e.id});return o}function Ar(e){return"invalid-node-time"===e.kind?`node ${e.id} has an invalid xExtent (must be [start, end] with start <= end)`:"invalid-edge-time"===e.kind?`edge ${e.id} has an invalid startTime or endTime`:"invalid-domain"===e.kind?"time domain must be a 2-tuple of finite times [start, end] with start <= end":"invalid-value"===e.kind?`edge ${e.id} must have a positive finite value`:"missing-node"===e.kind?`edge ${e.id} references missing ${e.endpoint} node "${e.nodeId}"`:"backward-edge"===e.kind?`edge ${e.id} (${e.source}->${e.target}) ends before it starts`:e.kind}function jr(e,t,n){const o=t.incoming[e.id],r=t.outgoing[e.id],i=[];for(const e of o)i.push({time:e.endTime,delta:+e.value,edge:e,kind:"in",side:n.get(e.id).targetSide});for(const e of r)i.push({time:e.startTime,delta:-e.value,edge:e,kind:"out",side:n.get(e.id).sourceSide});const a={create:0,in:1,"transfer-out":2,"transfer-in":3,out:4},s=()=>{i.sort((e,t)=>{var n,o;return e.time-t.time||(null!==(n=a[e.kind])&&void 0!==n?n:99)-(null!==(o=a[t.kind])&&void 0!==o?o:99)})},l=i.length?Math.min(...i.map(e=>e.time)):null,c=Array.isArray(e.xExtent)&&Number.isFinite(e.xExtent[0])?e.xExtent[0]:null,d=null!=c?c-1:null!=l&&Number.isFinite(l)?l-1:null,u=[...new Set(i.map(e=>e.time))].sort((e,t)=>e-t),h=new Map;for(let e=1;u.length>e;e++)h.set(u[e],u[e-1]);const f=e=>{const t=h.get(e);return null!=t?(t+e)/2:null!=d?d:e};s();const g=[];let y=0,p=0;for(const e of i)if("out"===e.kind){const t=Math.abs(e.delta);let n=t-("top"===e.side?y:p);if(n>0){const t="top"===e.side?"bot":"top",o=Math.min(n,"top"===t?y:p);if(o>0){const r=f(e.time);g.push({time:r,delta:-o,kind:"transfer-out",side:t}),g.push({time:r,delta:+o,kind:"transfer-in",side:e.side}),"top"===t?y-=o:p-=o,"top"===e.side?y+=o:p+=o,n-=o}n>0&&null!==d&&(g.push({time:d,delta:+n,kind:"create",side:e.side}),"top"===e.side?y+=n:p+=n)}"top"===e.side?y-=t:p-=t}else if("in"===e.kind){const t=Math.abs(e.delta);"top"===e.side?y+=t:p+=t}i.push(...g),s();let m=0,v=0,b=0,x=0,k=0;const w=[],S=new Map;for(const e of i){if(w.push({t:e.time,topMass:m,botMass:v}),("in"===e.kind||"out"===e.kind)&&e.edge){const t="top"===e.side?m:v;S.set(e.edge.id,{side:e.side,time:e.time,sideMassBefore:t,sideMassAfter:t+e.delta,kind:e.kind,value:Math.abs(e.delta)})}"top"===e.side?m+=e.delta:v+=e.delta,m+v>b&&(b=m+v),m>x&&(x=m),v>k&&(k=v),w.push({t:e.time,topMass:m,botMass:v})}const M=[];let A=0;for(;w.length>A;){let e=A;for(;w.length>e+1&&w[e+1].t===w[A].t;)e++;M.push(w[A]);for(let t=A+1;e>=t;t++){const e=M[M.length-1];w[t].topMass===e.topMass&&w[t].botMass===e.botMass||M.push(w[t])}A=e+1}const j=Array.isArray(e.xExtent)&&Number.isFinite(e.xExtent[1])?e.xExtent[1]:null;let L=null;for(const e of r)null!=e.systemInTime&&Number.isFinite(e.systemInTime)&&e.startTime>e.systemInTime&&(null===L||L>e.systemInTime)&&(L=e.systemInTime);let C=null;for(const e of o)null!=e.systemOutTime&&Number.isFinite(e.systemOutTime)&&e.systemOutTime>e.endTime&&(null===C||e.systemOutTime>C)&&(C=e.systemOutTime);if(M.length>0){const e=M[M.length-1],t=Math.max(null!=j?j:-1/0,null!=C?C:-1/0);Number.isFinite(t)&&t>e.t&&e.topMass+e.botMass>0&&M.push({t:t,topMass:e.topMass,botMass:e.botMass});const n=M[0],o=Math.min(null!=c?c:1/0,null!=L?L:1/0);Number.isFinite(o)&&n.t>o&&n.topMass+n.botMass>0&&M.unshift({t:o,topMass:n.topMass,botMass:n.botMass})}return{samples:M,peak:b,topPeak:x,botPeak:k,localAttachments:S}}function Lr(e,t){return t?Math.max(t[0],Math.min(t[1],e)):e}function Cr(e,t){return e.map(e=>({t:Lr(e.t,t),topMass:e.topMass,botMass:e.botMass}))}function Er(e,t,n){const o=e.value*n;if("out"===e.kind){const r=e.sideMassBefore*n;if("top"===e.side){const e=t-r;return[e,e+o]}const i=t+r;return[i-o,i]}const r=e.sideMassAfter*n;if("top"===e.side){const e=t-r;return[e,e+o]}const i=t+r;return[i-o,i]}function Dr(e,t){let n=0;for(let o=0;t.length>o;o++)for(let r=o+1;t.length>r;r++){const i=t[o],a=t[r];i.source!==a.source&&i.target!==a.target&&i.source!==a.target&&i.target!==a.source&&(Math.min(i.endTime,a.endTime)>Math.max(i.startTime,a.startTime)&&e[a.source]>e[i.source]!=e[a.target]>e[i.target]&&n++)}return n}function Or(e,t){let n=0;for(const o of t)n+=Math.abs(e[o.source]-e[o.target])*(o.value||1);return n}function Nr(e,t){return 1e3*Dr(e,t)+Or(e,t)}function Pr(e,t){return{slots:e.map(e=>({peak:Object.assign({},e.peak),occupants:e.occupants.slice()})),map:Object.assign({},t)}}function _r(e,t,n){e.length>8||n.length>40?(function(e,t,n,o=6){const r=e.length;if(1>=r)return;let i=Pr(e,t),a=Nr(t,n);for(let s=0;o>s;s++){const o=Array(r).fill(0),s=Array(r).fill(0);for(const e of n){const n=t[e.source],r=t[e.target];o[n]+=r*(e.value||1),s[n]+=e.value||1,o[r]+=n*(e.value||1),s[r]+=e.value||1}const l=Array.from({length:r},(e,t)=>t).sort((e,t)=>(s[e]>0?o[e]/s[e]:e)-(s[t]>0?o[t]/s[t]:t)),c=l.map(t=>e[t]),d=new Map;l.forEach((e,t)=>d.set(e,t));for(const e of Object.keys(t))t[e]=d.get(t[e]);e.length=0;for(const t of c)e.push(t);const u=Nr(t,n);if(a>u)a=u,i=Pr(e,t);else if(u===a)break}!function(e,t,n){e.length=0;for(const t of n.slots)e.push(t);for(const e of Object.keys(t))delete t[e];for(const e of Object.keys(n.map))t[e]=n.map[e]}(e,t,i)}(e,t,n,6),function(e,t,n,o=6){const r=e.length;if(1>=r)return;let i=Nr(t,n);for(let a=0;o>a;a++){let o=!1;for(let a=0;r-1>a;a++){const r=e[a];e[a]=e[a+1],e[a+1]=r;for(const e of Object.keys(t))t[e]===a?t[e]=a+1:t[e]===a+1&&(t[e]=a);const s=Nr(t,n);if(i>s)i=s,o=!0;else{const n=e[a];e[a]=e[a+1],e[a+1]=n;for(const e of Object.keys(t))t[e]===a?t[e]=a+1:t[e]===a+1&&(t[e]=a)}}if(!o)break}}(e,t,n,6)):function(e,t,n){const o=e.length;if(1>=o)return;const r=Object.assign({},t),i=Object.keys(r),a=Array.from({length:o},(e,t)=>t),s=a.slice(),l=Object.assign({},r);let c=a.slice(),d=1/0;const u=()=>{for(const e of i)l[e]=s[r[e]];const e=Nr(l,n);d>e&&(d=e,c=a.slice())},h=(e,t)=>{const n=a[e],o=a[t];a[e]=o,a[t]=n,s[n]=t,s[o]=e};u();const f=Array(o).fill(0);let g=0;for(;o>g;)g>f[g]?(h(g%2==0?0:f[g],g),u(),f[g]++,g=0):(f[g]=0,g++);const y=c.map(t=>e[t]),p=new Map;c.forEach((e,t)=>p.set(e,t));for(const e of Object.keys(t))t[e]=p.get(t[e]);e.length=0;for(const t of y)e.push(t)}(e,t,n)}function Tr(e,t,n,o,r){var i,a,s,l,c,d,u,h;const{plotH:f,padding:g,valueScale:y,packing:p,laneOrder:m,lifetimeMode:v="full"}=r,b={},x={};for(const t of e)b[t.id]=n[t.id].topPeak||0,x[t.id]=n[t.id].botPeak||0;const k="half"===v,w={};for(const t of e){const e=Array.isArray(t.xExtent)?t.xExtent[0]:null,n=Array.isArray(t.xExtent)?t.xExtent[1]:null;let r=null!=e&&Number.isFinite(e)?e:1/0,i=null!=n&&Number.isFinite(n)?n:-1/0;for(const e of o.outgoing[t.id]){r>e.startTime&&(r=e.startTime),null!=e.systemInTime&&Number.isFinite(e.systemInTime)&&r>e.systemInTime&&(r=e.systemInTime);const t=k?(e.startTime+e.endTime)/2:e.endTime;t>i&&(i=t)}for(const e of o.incoming[t.id]){const t=k?(e.startTime+e.endTime)/2:e.startTime;r>t&&(r=t),e.endTime>i&&(i=e.endTime),null!=e.systemOutTime&&Number.isFinite(e.systemOutTime)&&e.systemOutTime>i&&(i=e.systemOutTime)}w[t.id]={start:Number.isFinite(r)?r:null,end:Number.isFinite(i)?i:null}}const S={},M=[];if("reuse"===p){const n=new Map;for(const t of e)n.set(t.id,0);const r=new Map;for(const t of e)r.set(t.id,0);for(const e of t)r.set(e.target,(null!==(i=r.get(e.target))&&void 0!==i?i:0)+1);const u=[];for(const t of e)0===(null!==(a=r.get(t.id))&&void 0!==a?a:0)&&u.push(t.id);for(;u.length;){const e=u.shift();for(const t of null!==(s=o.outgoing[e])&&void 0!==s?s:[]){const o=(null!==(l=n.get(e))&&void 0!==l?l:0)+1;o>(null!==(c=n.get(t.target))&&void 0!==c?c:0)&&n.set(t.target,o),r.set(t.target,r.get(t.target)-1),0===r.get(t.target)&&u.push(t.target)}}const h=[...e].filter(e=>null!==w[e.id].start).sort((e,t)=>{var o,r;const i=null!==(o=n.get(e.id))&&void 0!==o?o:0,a=null!==(r=n.get(t.id))&&void 0!==r?r:0;return i!==a?i-a:w[e.id].start-w[t.id].start}),f=e.filter(e=>null===w[e.id].start);for(const e of[...h,...f]){const t=w[e.id];let n=-1;for(let e=0;M.length>e;e++){const o=M[e].occupants[M[e].occupants.length-1];if(null===t.start||void 0===o||t.start>=o.end){n=e;break}}-1===n&&(M.push({occupants:[],peak:{topPeak:0,botPeak:0}}),n=M.length-1),M[n].occupants.push({id:e.id,end:null!==(d=null==t?void 0:t.end)&&void 0!==d?d:-1/0}),M[n].peak.topPeak=Math.max(M[n].peak.topPeak,b[e.id]),M[n].peak.botPeak=Math.max(M[n].peak.botPeak,x[e.id]),S[e.id]=n}}else e.forEach((e,t)=>{var n,o;M.push({occupants:[{id:e.id,end:null!==(o=null===(n=w[e.id])||void 0===n?void 0:n.end)&&void 0!==o?o:-1/0}],peak:{topPeak:b[e.id],botPeak:x[e.id]}}),S[e.id]=t});let A=null,j=null,L=null,C=null;const E=()=>{A=Dr(S,t),L=Or(S,t)},D=()=>{j=Dr(S,t),C=Or(S,t)};"crossing-min"===m?(E(),_r(M,S,t),D()):"inside-out"===m?(E(),function(e,t){const n=e.length;if(1>=n)return;const o=e=>e.peak.topPeak+e.peak.botPeak,r=e.map((e,t)=>({slot:e,idx:t})).sort((e,t)=>o(t.slot)-o(e.slot)),i=Array(n),a=Math.floor((n-1)/2);i[a]=r[0].idx;let s=a-1,l=a+1;for(let e=1;r.length>e;e++)e%2==1&&n>l||0>s?i[l++]=r[e].idx:i[s--]=r[e].idx;const c=i.map(t=>e[t]),d=new Map;i.forEach((e,t)=>d.set(e,t));for(const e of Object.keys(t))t[e]=d.get(t[e]);e.length=0;for(const t of c)e.push(t)}(M,S),D()):"crossing-min+inside-out"===m&&(E(),_r(M,S,t),function(e,t,n){const o=e.length;if(1>=o)return;const r=e.map(e=>{return{slot:e,size:(t=e,t.peak.topPeak+t.peak.botPeak)};var t}).sort((e,t)=>t.size-e.size),i=Math.floor((o-1)/2);let a=Nr(t,n);for(const{slot:s}of r){const r=e.indexOf(s);if(0>r)continue;const l=i;if(r===l)continue;const c=e[r];e.splice(r,1),e.splice(l,0,c);const d=new Map;for(let e=0;o>e;e++)d.set(e,e);if(l>r){for(let e=r+1;l>=e;e++)d.set(e,e-1);d.set(r,l)}else{for(let e=l;r>e;e++)d.set(e,e+1);d.set(r,l)}for(const e of Object.keys(t))t[e]=d.get(t[e]);const u=Nr(t,n);if(u>a){const n=e[l];e.splice(l,1),e.splice(r,0,n);const i=new Map;for(let e=0;o>e;e++)i.set(e,e);if(r>l){for(let e=l+1;r>=e;e++)i.set(e,e-1);i.set(l,r)}else{for(let e=r;l>e;e++)i.set(e,e+1);i.set(l,r)}for(const e of Object.keys(t))t[e]=i.get(t[e])}else a=u}}(M,S,t),D());const O=M.map(e=>{const t=new Map;for(const o of e.occupants){const e=n[o.id];if(e)for(const n of e.samples){const e=t.get(n.t)||{top:0,bot:0};t.set(n.t,{top:Math.max(e.top,n.topMass),bot:Math.max(e.bot,n.botMass)})}}return[...t.entries()].sort((e,t)=>e[0]-t[0])}),N=(e,t)=>{let n={top:0,bot:0};for(const[o,r]of e){if(o>t)break;n=r}return n},P=[];for(let e=0;M.length-1>e;e++){const t=O[e],n=O[e+1],o=new Set([...t.map(e=>e[0]),...n.map(e=>e[0])]);let r=0;for(const e of o){const o=N(t,e),i=N(n,e);o.bot+i.top>r&&(r=o.bot+i.top)}P.push(r)}const _=[];let T=g+(null!==(h=null===(u=M[0])||void 0===u?void 0:u.peak.topPeak)&&void 0!==h?h:0)*y;M.length>0&&_.push(T);for(let e=1;M.length>e;e++)T+=P[e-1]*y+g,_.push(T);if(M.length>0&&(T+=M[M.length-1].peak.botPeak*y+g),T>f){const e=f/T;for(let t=0;_.length>t;t++)_[t]*=e}const I=0===M.length?0:M[0].peak.topPeak+P.reduce((e,t)=>e+t,0)+M[M.length-1].peak.botPeak,R={};for(const t of e)R[t.id]=_[S[t.id]];return{effectiveSlotsHeight:I,centerlines:R,laneLifetime:w,slots:M,slotByNode:S,slotCenter:_,crossingsBefore:A,crossingsAfter:j,lengthBefore:L,lengthAfter:C}}Sr.displayName="OrbitDiagram";const Ir=e=>{var t,n;const{bands:o=[],ribbons:r=[],showLabels:i=!0}=e.config,a=[];for(const e of r)a.push(Object.assign(Object.assign({type:"bezier",pathD:e.pathD},e.bezier&&{bezierCache:e.bezier}),{style:{fill:e.fill,opacity:e.opacity,stroke:"none"},datum:{__kind:"ribbon",data:e.rawDatum,id:e.id}}));for(const e of o)if(e.gradientStubs)for(let t=0;e.gradientStubs.length>t;t++){const n=e.gradientStubs[t];a.push({type:"bezier",pathD:n.pathD,interactive:!1,style:{fill:e.fill,fillOpacity:.86,stroke:"none"},_gradient:{x0:n.x0,x1:n.x1,from:n.from,to:n.to},datum:{__kind:"band",data:e.rawDatum,id:`${e.id}__stub${t}`}})}for(const e of o)a.push({type:"bezier",pathD:e.pathD,style:Object.assign(Object.assign({},e.gradientStubs&&e.gradientStubs.length>0?{fill:"none"}:{fill:e.fill,fillOpacity:.86}),{stroke:null!==(t=e.stroke)&&void 0!==t?t:e.fill,strokeWidth:null!==(n=e.strokeWidth)&&void 0!==n?n:.5}),datum:{__kind:"band",data:e.rawDatum,id:e.id}});const s=i?o.map(e=>({x:e.labelX,y:e.labelY,text:e.labelText,anchor:"end",baseline:"middle",fontSize:11,fontWeight:600})):[];return{sceneNodes:o.map(e=>({type:"circle",id:e.id,cx:-1e4,cy:-1e4,r:0,style:{fill:e.fill},datum:{__kind:"band",data:e.rawDatum,id:e.id}})),sceneEdges:a,labels:s}};function Rr(e){return"object"==typeof e&&null!==e&&"__kind"in e&&("band"===e.__kind||"ribbon"===e.__kind)}function Wr(e){return null==e?NaN:e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function $r(e,t){return"function"==typeof e?e(t):t[e]}const Br=t.forwardRef(function(n,o){const{nodes:r,edges:a,domain:s,axisTicks:l=[],nodeIdAccessor:c="id",sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:h="value",startTimeAccessor:f="startTime",endTimeAccessor:g="endTime",systemInTimeAccessor:y,systemOutTimeAccessor:p,xExtentAccessor:m="xExtent",edgeIdAccessor:v="id",colorBy:b,colorScheme:x,showLegend:k,legendPosition:w="right",pairing:S="temporal",packing:M="reuse",laneOrder:A="crossing-min",ribbonLane:j="both",lifetimeMode:L="half",showLaneRails:C=!1,showQualityReadout:E=!1,showLabels:D=!0,width:O=600,height:N=400,margin:P,title:_,description:T,summary:I,accessibleTable:R,responsiveWidth:W,responsiveHeight:$,loading:B,loadingContent:z,emptyContent:H,edgeOpacity:F=.35,timeFormat:Y,valueFormat:X,tooltip:G,enableHover:q=!0,onObservation:V,onClick:K,showParticles:Q=!1,particleStyle:Z,chartId:U,frameProps:J={}}=n,[ee,te]=t.useState([]),[ne,oe]=t.useState([]),re=t.useRef(ee),ie=t.useRef(ne);re.current=ee,ie.current=ne;const ae=t.useCallback(e=>{re.current=e,te(e)},[]),se=t.useCallback(e=>{ie.current=e,oe(e)},[]),le=void 0!==a,ce=yo(le?a:ee),de=t.useMemo(()=>{const e=yo(null!=r?r:[]),t=ne;if(0===e.length&&0===t.length)return nr([],ce,d,u);const n=new Set,o=[];for(const t of e){const e=$r(c,t)+"";n.has(e)||(n.add(e),o.push(t))}for(const e of t){const t=$r(c,e)+"";n.has(t)||(n.add(t),o.push(e))}const i=nr([],ce,d,u);for(const e of i)n.has(e.id)||(n.add(e.id),o.push(e));return o},[r,ne,ce,c,d,u]),ue=t.useRef(null),he=t.useCallback((e,t)=>{const n=$r(v,e);return null!=n?n+"":`${$r(d,e)}-${$r(u,e)}-${t}`},[v,d,u]),fe=t.useCallback(e=>{if(null==e)return!1;const t=e;return null!=$r(d,t)&&null!=$r(u,t)},[d,u]);Oo(o,{variant:"network",frameRef:ue,overrides:{push(e){if(fe(e)){if(le)return void console.warn("ProcessSankey.push: edge ignored — `edges` prop is controlled.");ae([...re.current,e])}else se([...ie.current,e])},pushMany(e){const t=[],n=[];for(const o of e)fe(o)?t.push(o):n.push(o);t.length>0&&(le?console.warn("ProcessSankey.pushMany: edges ignored — `edges` prop is controlled."):ae([...re.current,...t])),n.length>0&&se([...ie.current,...n])},remove(e){const t=new Set(Array.isArray(e)?e:[e]),n=[];if(!le){const e=re.current,o=[];for(let r=0;e.length>r;r++){const i=e[r];t.has(he(i,r))?n.push(i):o.push(i)}o.length!==e.length&&ae(o)}const o=ie.current,r=[];for(const e of o){const o=$r(c,e)+"";t.has(o)?n.push(e):r.push(e)}return r.length!==o.length&&se(r),n},update(e,t){const n=new Set(Array.isArray(e)?e:[e]),o=[];if(!le){let e=!1;const r=re.current.map((r,i)=>n.has(he(r,i))?(o.push(r),e=!0,t(r)):r);e&&ae(r)}let r=!1;const i=ie.current.map(e=>{const i=$r(c,e)+"";return n.has(i)?(o.push(e),r=!0,t(e)):e});return r&&se(i),o},clear(){var e;le||ae([]),se([]),null===(e=ue.current)||void 0===e||e.clear()},getData:()=>null!=ce?ce:[],getScales:()=>null},deps:[le,fe,he,c,ce,ae,se]});const ge=he,pe=t.useCallback(e=>$r(c,e)+"",[c]),{nodes:me,edges:ve,domain:be,rawNodeById:xe,rawEdgeById:ke}=t.useMemo(()=>{const e=(null!=de?de:[]).map(e=>{const t={id:pe(e),__raw:e},n=m?$r(m,e):null;if(Array.isArray(n)&&2===n.length){const e=Wr(n[0]),o=Wr(n[1]);Number.isFinite(e)&&Number.isFinite(o)&&(t.xExtent=[e,o])}return t}),t=(null!=ce?ce:[]).map((e,t)=>{const n={id:ge(e,t),source:$r(d,e)+"",target:$r(u,e)+"",value:Number($r(h,e)),startTime:Wr($r(f,e)),endTime:Wr($r(g,e)),__raw:e};if(y){const t=Wr($r(y,e));Number.isFinite(t)&&(n.systemInTime=t)}if(p){const t=Wr($r(p,e));Number.isFinite(t)&&(n.systemOutTime=t)}return n}),n=[Wr(s[0]),Wr(s[1])],o=new Map;for(const t of e)null!=t.__raw&&o.set(t.id,t.__raw);const r=new Map;for(const e of t)null!=e.__raw&&r.set(e.id,e.__raw);return{nodes:e,edges:t,domain:n,rawNodeById:o,rawEdgeById:r}},[de,ce,s,pe,ge,m,d,u,h,f,g,y,p]),we=dr({nodes:de,edges:ce,inferNodes:!1,sourceAccessor:d,targetAccessor:u,colorBy:b,colorScheme:x,showLegend:!1,legendPosition:w,selection:void 0,linkedHover:void 0,onObservation:V,onClick:K,chartType:"ProcessSankey",chartId:U,marginDefaults:{top:30,right:80,bottom:40,left:80},userMargin:P,width:O,height:N,loading:B,loadingContent:z,emptyContent:H}),Se=(null!=k?k:!!b)&&!!b,Me=t.useCallback(e=>null!=P&&("number"==typeof P||null!=P[e]),[P]),Ae=t.useMemo(()=>{const e=Object.assign({},we.margin);return Se&&("right"===w&&!Me("right")&&140>e.right?e.right=140:"bottom"===w&&!Me("bottom")&&80>e.bottom&&(e.bottom=80)),e},[we.margin,Se,w,Me]),je=O-Ae.left-Ae.right,Le=N-Ae.top-Ae.bottom,Ce=t.useMemo(()=>Mr(me,ve,be),[me,ve,be]),Ee=t.useMemo(()=>Ce.length>0?null:function(e,t,n){var o;const{plotH:r,pairing:i="temporal",packing:a="reuse",laneOrder:s="crossing-min",lifetimeMode:l="half"}=n,c=function(e,t){const n={},o={};for(const t of e)n[t.id]=[],o[t.id]=[];for(const e of t)o[e.source]&&o[e.source].push(e),n[e.target]&&n[e.target].push(e);return{incoming:n,outgoing:o}}(e,t),d=function(e,t,n,o="value"){const r="temporal"===o?(e,t)=>e.endTime-t.endTime:(e,t)=>t.value-e.value,i="temporal"===o?(e,t)=>e.startTime-t.startTime:(e,t)=>t.value-e.value,a=new Map;for(const e of t)a.set(e.id,{});const s=(e,t)=>{const n=new Map;for(const o of e){const e=o[t];n.has(e)||n.set(e,{partner:e,edges:[],total:0,earliestStart:1/0,latestEnd:-1/0});const r=n.get(e);r.edges.push(o),r.total+=o.value,r.earliestStart=Math.min(r.earliestStart,o.startTime),r.latestEnd=Math.max(r.latestEnd,o.endTime)}const a=[...n.values()];a.sort("temporal"===o?(e,n)=>"target"===t?e.earliestStart-n.earliestStart:e.latestEnd-n.latestEnd:(e,t)=>t.total-e.total);for(const e of a)e.edges.sort("target"===t?i:r);return a};for(const t of e){const e=n.outgoing[t.id],o=n.incoming[t.id];if(0===o.length)s(e,"target").forEach((e,t)=>{const n=t%2==0?"top":"bot";for(const t of e.edges)a.get(t.id).sourceSide=n});else if(0===e.length)s(o,"source").forEach((e,t)=>{const n=t%2==0?"top":"bot";for(const t of e.edges)a.get(t.id).targetSide=n});else{const t=s(o,"source"),n=s(e,"target"),r=Math.max(t.length,n.length);for(let e=0;r>e;e++){const o=e%2==0?"top":"bot";if(t[e])for(const n of t[e].edges)a.get(n.id).targetSide=o;if(n[e])for(const t of n[e].edges)a.get(t.id).sourceSide=o}}}return a}(e,t,c,i);let u={};for(const t of e)u[t.id]=jr(t,c,d);const h=Tr(e,t,u,c,{plotH:r,padding:12,valueScale:1,packing:a,laneOrder:s,lifetimeMode:l}),f=new Set;for(const e of t){const t=h.slotByNode[e.source],n=h.slotByNode[e.target];if(void 0===t||void 0===n)continue;const o=d.get(e.id);t!==n?t>n?(o.sourceSide="top",o.targetSide="bot"):(o.sourceSide="bot",o.targetSide="top"):(f.add(e.id),o.sourceSide="bot",o.targetSide="bot")}for(const t of e){const e=c.outgoing[t.id],n=c.incoming[t.id],o=new Set(e.map(e=>d.get(e.id).sourceSide)),r=new Set(n.map(e=>d.get(e.id).targetSide));if(1===o.size&&n.length>0){const e=[...o][0];for(const t of n)h.slotByNode[t.source]===h.slotByNode[t.target]&&(d.get(t.id).targetSide=e)}if(1===r.size&&e.length>0){const t=[...r][0];for(const n of e)h.slotByNode[n.source]===h.slotByNode[n.target]&&(d.get(n.id).sourceSide=t)}}for(const t of e){const e=c.incoming[t.id],n=c.outgoing[t.id];if(0===e.length||0===n.length)continue;const o=()=>{const t={inTop:0,inBot:0,outTop:0,outBot:0};for(const n of e)"top"===d.get(n.id).targetSide?t.inTop+=n.value:t.inBot+=n.value;for(const e of n)"top"===d.get(e.id).sourceSide?t.outTop+=e.value:t.outBot+=e.value;return t},r=(e,t)=>{const r=o(),i="top"===e?r.outTop-r.inTop:r.outBot-r.inBot,a="top"===t?r.inTop-r.outTop:r.inBot-r.outBot;if(0>=i||0>=a)return!1;const s=Math.min(i,a),l=n.filter(t=>!f.has(t.id)&&d.get(t.id).sourceSide===e&&s>=t.value).sort((e,t)=>t.value-e.value);return 0!==l.length&&(d.get(l[0].id).sourceSide=t,!0)};let i=n.length+1;for(;i-- >0&&(r("top","bot")||r("bot","top")););}u={};for(const t of e)u[t.id]=jr(t,c,d);const g=Tr(e,t,u,c,{plotH:r,padding:12,valueScale:1,packing:a,laneOrder:s,lifetimeMode:l}),y=null!==(o=g.effectiveSlotsHeight)&&void 0!==o?o:g.slots.reduce((e,t)=>e+t.peak.topPeak+t.peak.botPeak,0),p=Math.min(12,.35*r/Math.max(g.slots.length+1,1)),m=y>0?Math.max(0,(r-p*(g.slots.length+1))/y):1,v=Tr(e,t,u,c,{plotH:r,padding:p,valueScale:m,packing:a,laneOrder:s,lifetimeMode:l});return{nodeData:u,sides:d,valueScale:m,padding:p,compressedPadding:12>p,centerlines:v.centerlines,laneLifetime:v.laneLifetime,slots:v.slots,slotByNode:v.slotByNode,crossingsBefore:v.crossingsBefore,crossingsAfter:v.crossingsAfter,lengthBefore:v.lengthBefore,lengthAfter:v.lengthAfter}}(me,ve,{plotH:Le,pairing:S,packing:M,laneOrder:A,lifetimeMode:L}),[Ce,me,ve,Le,S,M,A,L]),De=t.useMemo(()=>i.scaleTime().domain(be).range([0,je]),[be,je]),Oe=t.useCallback((e,t)=>{if(b&&de){const t=xe.get(e);if(t)return Ze(t,b,we.colorScale)}return we.effectivePalette[t%we.effectivePalette.length]||"#475569"},[b,de,xe,we.colorScale,we.effectivePalette]),Ne=t.useMemo(()=>{const e=new Map;return me.forEach((t,n)=>e.set(t.id,n)),e},[me]),Pe=t.useMemo(()=>{if(!Ee)return{bands:[],ribbons:[]};const{centerlines:e,nodeData:t,valueScale:n}=Ee,o=[],r=[];return me.forEach((r,i)=>{var a;const s=t[r.id];if(!s||0===s.samples.length)return;const l=function(e,t,n,o,r){if(0===e.length)return null;const i=Cr(e,r),a=e=>t-i[e].topMass*n,s=e=>t+i[e].botMass*n;let l=`M${o(i[0].t)},${a(0)}`;for(let e=1;i.length>e;e++)l+=` L${o(i[e].t)},${a(e)}`;l+=` L${o(i[i.length-1].t)},${s(i.length-1)}`;for(let e=i.length-2;e>=0;e--)l+=` L${o(i[e].t)},${s(e)}`;return l+" Z"}(s.samples,e[r.id],n,De,be);if(!l)return;const c=Cr(s.samples,be),d=c.find(e=>e.topMass+e.botMass>0)||c[0],u=e[r.id]+(d.botMass-d.topMass)*n/2,h=Oe(r.id,i),f=null!==(a=xe.get(r.id))&&void 0!==a?a:r,g=function(e,t,n,o,r){const i=n.nodeData[e];if(!i||0===i.samples.length)return[];const a=n.valueScale,s=n.centerlines[e],l=Cr(i.samples,r),c=l.find(e=>e.topMass+e.botMass>0)||l[0],d=[...l].reverse().find(e=>e.topMass+e.botMass>0)||l[l.length-1],u=o(c.t),h=o(d.t),f=e=>o(Lr(e,r)),g=[],y=(e,t,n,o)=>`M${e},${t} L${n},${t} L${n},${o} L${e},${o} Z`;for(const n of t){if(n.source===e&&null!=n.systemInTime&&Number.isFinite(n.systemInTime)){const e=i.localAttachments.get(n.id);if(e&&"out"===e.kind&&n.startTime>n.systemInTime){const t=f(n.systemInTime),o=f(n.startTime),r=t-20,i=Math.max(u,r);if(o>i){const[n,l]=Er(e,s,a);g.push({pathD:y(i,n,o,l),x0:r,x1:t,from:0,to:1})}}}if(n.target===e&&null!=n.systemOutTime&&Number.isFinite(n.systemOutTime)){const e=i.localAttachments.get(n.id);if(e&&"in"===e.kind&&n.systemOutTime>n.endTime){const t=f(n.systemOutTime),o=f(n.endTime),r=t+20,i=Math.min(h,r);if(i>o){const[n,l]=Er(e,s,a);g.push({pathD:y(o,n,i,l),x0:t,x1:r,from:1,to:0})}}}}return g}(r.id,ve,Ee,De,be);o.push(Object.assign(Object.assign({id:r.id,pathD:l,fill:h,stroke:h,strokeWidth:.5},g.length>0&&{gradientStubs:g}),{rawDatum:f,labelX:De(d.t)-4,labelY:u,labelText:r.id}))}),ve.forEach(o=>{var i,a,s,l;const c=null===(i=t[o.source])||void 0===i?void 0:i.localAttachments.get(o.id),d=null===(a=t[o.target])||void 0===a?void 0:a.localAttachments.get(o.id);if(!c||!d)return;const u=null!==(s=Ne.get(o.source))&&void 0!==s?s:0,h=Oe(o.source,u),f=function(e,t,n,o,r,i,a,s){const l=r,c=e=>s?Math.max(s[0],Math.min(s[1],e)):e,d=i(c(e.time)),u=i(c(n.time)),h=e.value*l,f=n.value*l,g=e.sideMassBefore*l,y=n.sideMassAfter*l;let p,m,v,b;"top"===e.side?(p=t-g,m=p+h):(m=t+g,p=m-h),"top"===n.side?(v=o-y,b=v+f):(b=o+y,v=b-f);const x="source"===a?d+.85*(u-d):"target"===a?d+.15*(u-d):(d+u)/2;return{sx:d,sTop:p,sBot:m,tx:u,tTop:v,tBot:b,cp1X:x,cp2X:x}}(c,e[o.source],d,e[o.target],n,De,j,be),{pathD:g,bezier:y}=ye(f),p=null!==(l=ke.get(o.id))&&void 0!==l?l:o;r.push({id:o.id,pathD:g,fill:h,opacity:F,rawDatum:p,bezier:y})}),{bands:o,ribbons:r}},[Ee,me,ve,De,be,Oe,xe,ke,j,F,Ne]),_e=t.useMemo(()=>({bands:Pe.bands,ribbons:Pe.ribbons,showLabels:D}),[Pe,D]),Te=t.useMemo(()=>{if(!Se||!b)return;const e=new Map;(null!=de?de:[]).forEach((t,n)=>{const o=$r(b,t),r=null==o?"":o+"";r&&!e.has(r)&&e.set(r,{label:r,color:Oe(pe(t),n)})});const t=Array.from(e.values());return 0!==t.length?{legendGroups:[{type:"fill",label:"",items:t,styleFn:e=>{const t=e.color||"#333";return{fill:t,stroke:t}}}]}:void 0},[Se,b,de,Oe,pe]),Ie=t.useMemo(()=>!1!==G&&q?void 0===G||!0===G?null:At(G)||null:null,[G,q]),Re=t.useCallback(e=>Y?Y(new Date(e)):Number.isFinite(e)?1e10>Math.abs(e)?Number.isInteger(e)?e+"":e.toFixed(2):new Date(e).toISOString().slice(0,10):"",[Y]),We=t.useCallback(e=>X?X(e):e+"",[X]),$e=t.useCallback(t=>{if(!t||!t.data)return null;const n=t.data;if(!Rr(n))return null;const o=n.data;if(Ie)return Ie(o);if("band"===n.__kind){const t=n.id,o=Ee?function(e){if(!e)return[];const t=new Set,n=[];for(const o of e.samples){const e=o.topMass+o.botMass,r=`${o.t}:${e}`;t.has(r)||(t.add(r),n.push({t:o.t,total:e}))}return n}(Ee.nodeData[t]):[],r=5,i=o.length>r?o.length:null,a=function(e,t=5){if(t>=e.length)return e.slice();const n=[...e].sort((e,t)=>e.total-t.total),o=n.length-1,r=[Object.assign(Object.assign({},n[0]),{mark:"min"}),Object.assign(Object.assign({},n[Math.floor(.25*o)]),{mark:"q25"}),Object.assign(Object.assign({},n[Math.floor(.5*o)]),{mark:"median"}),Object.assign(Object.assign({},n[Math.floor(.75*o)]),{mark:"q75"}),Object.assign(Object.assign({},n[o]),{mark:"max"})],i=new Set,a=[];for(const e of r)i.has(e.t)||(i.add(e.t),a.push(e));return a.sort((e,t)=>e.t-t.t)}(o,r);return e.jsxs("div",{style:{minWidth:160},children:[e.jsx("div",{style:{fontWeight:600,marginBottom:4},children:t}),a.length>0&&e.jsxs("table",{style:{borderCollapse:"collapse",fontSize:11,width:"100%"},children:[e.jsx("thead",{children:e.jsxs("tr",{style:{opacity:.6},children:[e.jsx("th",{style:{textAlign:"left",fontWeight:500,paddingRight:8},children:"Time"}),e.jsx("th",{style:{textAlign:"right",fontWeight:500},children:"Mass"}),null!=i&&e.jsx("th",{})]})}),e.jsx("tbody",{children:a.map((t,n)=>e.jsxs("tr",{children:[e.jsx("td",{style:{paddingRight:8},children:Re(t.t)}),e.jsx("td",{style:{textAlign:"right"},children:We(t.total)}),null!=i&&e.jsx("td",{style:{textAlign:"right",paddingLeft:8,opacity:.55},children:t.mark})]},n))})]}),null!=i&&e.jsxs("div",{style:{marginTop:4,fontSize:10,opacity:.55},children:["showing ",a.length," of ",i," samples"]})]})}const r=o,i=$r(d,r),a=$r(u,r),s=$r(h,r),l=$r(f,r),c=$r(g,r);return e.jsxs("div",{style:{minWidth:160},children:[e.jsxs("div",{style:{fontWeight:600,marginBottom:4},children:[i+""," → ",a+""]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",columnGap:8,fontSize:11},children:[null!=s&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"value"}),e.jsx("span",{style:{textAlign:"right"},children:We(Number(s))})]}),null!=l&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"start"}),e.jsx("span",{style:{textAlign:"right"},children:Re(Wr(l))})]}),null!=c&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{opacity:.6},children:"end"}),e.jsx("span",{style:{textAlign:"right"},children:Re(Wr(c))})]})]})]})},[Ee,Ie,Re,We,d,u,h,f,g]),Be=t.useMemo(()=>{if(!Ee)return null;const{centerlines:t,laneLifetime:n,nodeData:o,valueScale:r,compressedPadding:i,crossingsBefore:a,crossingsAfter:s,lengthBefore:c,lengthAfter:d}=Ee;let u=null,h=null;for(const e of me){const t=n[e.id];if(!t||null===t.start||null===t.end)continue;const o=De(t.start),r=De(t.end);(null===u||u>o)&&(u=o),(null===h||r>h)&&(h=r)}const f=e=>Math.max(0,Math.min(je,e)),g=f(null!=u?u:0),y=Math.max(g,f(null!=h?h:je));return e.jsxs("g",{children:[E&&null!==(null!=s?s:null)&&e.jsxs("text",{x:je,y:-12,fontSize:10,fill:"#94a3b8",textAnchor:"end",children:["crossings: ",a," → ",s," ","edge length: ",Math.round(c)," → ",Math.round(d)]}),i&&e.jsx("text",{x:je,y:2,fontSize:10,fill:"#94a3b8",textAnchor:"end",children:"dense layout: lane gaps compressed"}),l.map((t,n)=>{const o=De(Wr(t.date));return g-.5>o||o>y+.5?null:e.jsx("line",{x1:o,y1:0,x2:o,y2:Le,stroke:"#94a3b8",strokeOpacity:.15,strokeDasharray:"2 4"},"grid-"+n)}),C&&me.map((i,a)=>{const s=n[i.id];if(!s||null===s.start)return null;const l=o[i.id],c=l?{topPeak:l.topPeak,botPeak:l.botPeak}:{topPeak:0,botPeak:0},d=t[i.id]+(c.botPeak-c.topPeak)*r/2,u=De(s.start),h=De(s.end),f=Oe(i.id,a);return e.jsxs("g",{children:[e.jsx("line",{x1:u,y1:d,x2:h,y2:d,stroke:f,strokeOpacity:.35,strokeWidth:1,strokeDasharray:"3 3"}),e.jsx("line",{x1:u,y1:d-4,x2:u,y2:d+4,stroke:f,strokeOpacity:.5}),e.jsx("line",{x1:h,y1:d-4,x2:h,y2:d+4,stroke:f,strokeOpacity:.5})]},"lane-"+i.id)}),e.jsx("line",{x1:g,y1:Le+4,x2:y,y2:Le+4,stroke:"#94a3b8"}),l.map((t,n)=>{const o=Wr(t.date),r=De(o);if(g-.5>r||r>y+.5)return null;const i=null!=t.label?t.label:Y?Y(new Date(o)):"";return e.jsxs("g",{transform:`translate(${r},${Le+4})`,children:[e.jsx("line",{y2:6,stroke:"#94a3b8"}),e.jsx("text",{y:20,textAnchor:"middle",fontSize:11,fill:"#475569",children:i})]},n)})]})},[Ee,l,De,je,Le,C,me,Oe,E,Y]),ze=t.useMemo(()=>(null!=de?de:[]).map(e=>({id:pe(e),data:e})),[de,pe]),He=t.useMemo(()=>{const e=new Map;for(const t of Pe.ribbons)t.bezier&&e.set(t.id,t.bezier);return e},[Pe]),Fe=t.useMemo(()=>(null!=ce?ce:[]).map((e,t)=>{const n=ge(e,t),o=Number($r(h,e));return{id:n,source:$r(d,e)+"",target:$r(u,e)+"",value:Number.isFinite(o)?o:0,bezier:He.get(n),data:e}}),[ce,ge,d,u,h,He]),Ye=we.loadingEl,Xe=we.emptyEl;return Ce.length>0?e.jsxs("svg",{width:O,height:N,role:"img","aria-label":null!=_?_:"Process Sankey validation failed",children:[e.jsx("text",{x:20,y:30,fontSize:13,fontWeight:600,fill:"var(--semiotic-danger, #dc2626)",children:"ProcessSankey: data invalid"}),Ce.map((t,n)=>e.jsx("text",{x:20,y:56+18*n,fontSize:12,fill:"#64748b",children:"• "+Ar(t)},n))]}):Ye||Xe||e.jsx(Do,Object.assign({ref:ue,chartType:"force",nodes:ze,edges:Fe,customNetworkLayout:Ir,layoutConfig:_e,size:[O,N],responsiveWidth:W,responsiveHeight:$,margin:Ae,title:_,description:null!=T?T:"Temporal process flow with lifetime-bounded node lanes, mass bands, and value-scaled ribbons.",summary:I,accessibleTable:R,enableHover:q,tooltipContent:!1===G?()=>null:$e,backgroundGraphics:Be,showParticles:Q,particleStyle:Z,legend:Te,legendPosition:w,onObservation:V,customClickBehavior:K?e=>{if(!e||!e.data)return;const t=e.data;Rr(t)&&K(t.data,{x:e.x,y:e.y})}:void 0,chartId:U,colorScheme:Array.isArray(x)?x:void 0},J))});Br.displayName="ProcessSankey";const zr=t.forwardRef(function(n,o){const{nodes:r,edges:i,layout:a,layoutConfig:s,nodeIDAccessor:l="id",sourceAccessor:c="source",targetAccessor:d="target",margin:u,className:h,colorScheme:f,frameProps:g={}}=n,{frameRef:y,resolved:p,normalizedMargin:m}=function(e){const n=t.useRef(null);return Oo(e.imperativeRef,{variant:e.imperativeVariant,frameRef:n}),{frameRef:n,resolved:Jo(e.mode,{width:e.width,height:e.height,showGrid:e.showGrid,enableHover:e.enableHover,showLegend:e.showLegend,title:e.title,xLabel:e.xLabel,yLabel:e.yLabel}),normalizedMargin:t.useMemo(()=>function(e){if(null==e)return;if("number"==typeof e)return{top:e,right:e,bottom:e,left:e};const t={};return"number"==typeof e.top&&(t.top=e.top),"number"==typeof e.right&&(t.right=e.right),"number"==typeof e.bottom&&(t.bottom=e.bottom),"number"==typeof e.left&&(t.left=e.left),t}(e.margin),[e.margin])}}({imperativeRef:o,imperativeVariant:"network",margin:u,width:n.width,height:n.height,enableHover:n.enableHover,title:n.title,mode:n.mode}),v=t.useMemo(()=>yo(null!=r?r:[]),[r]),b=t.useMemo(()=>yo(null!=i?i:[]),[i]),{width:x,height:k,enableHover:w,title:S,description:M,summary:A,accessibleTable:j}=p,L=Object.assign(Object.assign(Object.assign(Object.assign({chartType:"force"},null!=r&&{nodes:v}),null!=i&&{edges:b}),{customNetworkLayout:a,layoutConfig:s,nodeIDAccessor:l,sourceAccessor:c,targetAccessor:d,colorScheme:f,size:[x,k],responsiveWidth:n.responsiveWidth,responsiveHeight:n.responsiveHeight,margin:m,className:h,title:S,description:M,summary:A,accessibleTable:j,enableHover:w}),g);return e.jsx(sr,{componentName:"NetworkCustomChart",width:x,height:k,children:e.jsx(Do,Object.assign({ref:y},L))})});zr.displayName="NetworkCustomChart",exports.ChordDiagram=vr,exports.CirclePack=kr,exports.ForceDirectedGraph=pr,exports.NetworkCustomChart=zr,exports.OrbitDiagram=Sr,exports.ProcessSankey=Br,exports.SankeyDiagram=mr,exports.StreamNetworkFrame=Do,exports.TreeDiagram=br,exports.Treemap=xr,exports.formatProcessSankeyIssue=Ar,exports.validateProcessSankey=Mr;