cytoscape-dagre
Version:
The Dagre layout for DAGs and trees for Cytoscape.js
1 lines • 126 kB
Source Map (JSON)
{"version":3,"file":"cytoscape-dagre.min.mjs","sources":["../src/defaults.mjs","../src/assign.mjs","../node_modules/@dagrejs/dagre/dist/dagre.esm.js","../src/layout.mjs","../src/index.mjs"],"sourcesContent":["/** \n * Dagre algorithmic options. The default value of dagre.js is used\n * when the option is left undefined here.\n */\nconst defaults = {\n /**\n * the separation between adjacent nodes in the same rank\n */\n nodeSep: undefined, \n /**\n * The separation between adjacent edges in the same rank\n */\n edgeSep: undefined, \n /**\n * The separation between each rank in the layout\n */\n rankSep: undefined, \n /**\n * Direction in which ranks flow: `'TB'` for top to bottom flow, `'LR'` for left to right,\n */\n rankDir: undefined,\n /**\n * alignment for rank nodes. Can be `'UL'`, `'UR'`, `'DL'`, or `'DR'`, \n * where `U` = up, `D` = down, `L` = left, and `R` = right\n */\n align: undefined, \n /**\n * If set to `'greedy'`, uses a greedy heuristic for finding a feedback arc set for a graph.\n * A feedback arc set is a set of edges that can be removed to make a graph acyclic.\n */\n acyclicer: undefined, \n /**\n * Type of algorithm to assigns a rank to each node in the input graph.\n * Possible values: \n * * `'network-simplex'`, \n * * `'tight-tree'` or\n * * `'longest-path'`\n */\n ranker: undefined, \n /**\n * Number of ranks to keep between the source and target of the edge\n */\n minLen: function( _edge ){ return 1; },\n /**\n * Higher weight edges are generally made shorter and straighter than lower weight edges} _edge \n */\n edgeWeight: function( _edge ){ return 1; }, \n\n /* general layout options */\n /**\n * whether to fit to viewport\n */\n fit: true, \n /**\n * Fit padding\n */\n padding: 30, \n /**\n * Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n */\n spacingFactor: undefined, \n /**\n * Whether labels should be included in determining the space used by a node\n */\n nodeDimensionsIncludeLabels: false, \n /**\n * Enables bezier curves using dagre's edge control points\n */\n useDagreEdgeControlPoints: false, \n /**\n * Automatically adds edge class '.useDagreEdgeControlPoints' to all edges and configure it with this.dagreEdgeStyle.\n * If set to `false` and `useDagreEdgeControlPoints` is `true` then apply `this.dagreEdgeStyle` yourself.\n */\n automaticDagreEdgeStyle: false,\n /**\n * Defines the style for rendering dagre edge control points stored by the layout algorithm\n * if `useDagreEdgeControlPoints` is `true` and `automaticDagreEdgeStyle` is `true`\n */\n dagreEdgeStyle: {\n 'curve-style' : 'unbundled-bezier',\n 'control-point-weights' : ele => ele.scratch('controlPointWeights'),\n 'control-point-distances' : ele => ele.scratch('controlPointDistances'),\n 'edge-distances' : 'intersection',\n 'edge-ends-overlap' : false\n },\n /**\n * Whether to transition the node positions\n */\n animate: false, \n /**\n * Whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions\n */\n animateFilter: function( _node, _i ){ return true; }, \n /**\n * Duration of animation in ms if enabled\n */\n animationDuration: 500, \n /**\n * Easing of animation, if enabled\n */\n animationEasing: undefined, \n /**\n * Constrain outermost layout bounds; `{ x1, y1, x2, y2 }` or `{ x1, y1, w, h }`\n */\n boundingBox: undefined, \n /**\n * A function that applies a transform to the final node position\n */\n transform: function( node, pos ){ return pos; }, \n /**\n * On layoutready execute this function\n */\n ready: function(){}, \n /**\n * A sorting function to order the nodes and edges; e.g. `function(a, b){ return a.data('weight') - b.data('weight')`. }\n * Because cytoscape dagre creates a directed graph, and directed graphs use the node order as a tie breaker when\n * defining the topology of a graph, this sort function can help ensure the correct order of the nodes/edges.\n * This feature is most useful when adding and removing the same nodes and edges multiple times in a graph,\n * but it can also help avoid sprurious edge crossings between ranks.\n */\n sort: undefined, \n /**\n * on layoutstop, execute this function\n */\n stop: function(){}, \n};\n\nexport default defaults;\n","// Simple, internal Object.assign() polyfill for options objects etc.\n\nconst assign = Object.assign != null ? Object.assign.bind( Object ) : function( tgt, ...srcs ){\n srcs.forEach( src => {\n Object.keys( src ).forEach( k => tgt[k] = src[k] );\n } );\n\n return tgt;\n};\n\nexport default assign;\n","var ge=Object.defineProperty;var hn=(e,n,t)=>n in e?ge(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var fn=(e,n)=>{for(var t in n)ge(e,t,{get:n[t],enumerable:!0})};var pe=(e,n,t)=>hn(e,typeof n!=\"symbol\"?n+\"\":n,t);var z={};fn(z,{Graph:()=>p,alg:()=>R,json:()=>ye,version:()=>pn});var bn=Object.defineProperty,Le=(e,n)=>{for(var t in n)bn(e,t,{get:n[t],enumerable:!0})},p=class{constructor(e){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},e&&(this._isDirected=\"directed\"in e?e.directed:!0,this._isMultigraph=\"multigraph\"in e?e.multigraph:!1,this._isCompound=\"compound\"in e?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[\"\\0\"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return typeof e!=\"function\"?this._defaultNodeLabelFn=()=>e:this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(e=>Object.keys(this._in[e]).length===0)}sinks(){return this.nodes().filter(e=>Object.keys(this._out[e]).length===0)}setNodes(e,n){return e.forEach(t=>{n!==void 0?this.setNode(t,n):this.setNode(t)}),this}setNode(e,n){return e in this._nodes?(arguments.length>1&&(this._nodes[e]=n),this):(this._nodes[e]=arguments.length>1?n:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=\"\\0\",this._children[e]={},this._children[\"\\0\"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return e in this._nodes}removeNode(e){if(e in this._nodes){let n=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(t=>{this.setParent(t)}),delete this._children[e]),Object.keys(this._in[e]).forEach(n),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,n){if(!this._isCompound)throw new Error(\"Cannot set parent in a non-compound graph\");if(n===void 0)n=\"\\0\";else{n+=\"\";for(let t=n;t!==void 0;t=this.parent(t))if(t===e)throw new Error(\"Setting \"+n+\" as parent of \"+e+\" would create a cycle\");this.setNode(n)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=n,this._children[n][e]=!0,this}parent(e){if(this._isCompound){let n=this._parent[e];if(n!==\"\\0\")return n}}children(e=\"\\0\"){if(this._isCompound){let n=this._children[e];if(n)return Object.keys(n)}else{if(e===\"\\0\")return this.nodes();if(this.hasNode(e))return[]}return[]}predecessors(e){let n=this._preds[e];if(n)return Object.keys(n)}successors(e){let n=this._sucs[e];if(n)return Object.keys(n)}neighbors(e){let n=this.predecessors(e);if(n){let t=new Set(n);for(let r of this.successors(e))t.add(r);return Array.from(t.values())}}isLeaf(e){let n;return this.isDirected()?n=this.successors(e):n=this.neighbors(e),n.length===0}filterNodes(e){let n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),Object.entries(this._nodes).forEach(([o,i])=>{e(o)&&n.setNode(o,i)}),Object.values(this._edgeObjs).forEach(o=>{n.hasNode(o.v)&&n.hasNode(o.w)&&n.setEdge(o,this.edge(o))});let t={},r=o=>{let i=this.parent(o);return!i||n.hasNode(i)?(t[o]=i!=null?i:void 0,i!=null?i:void 0):i in t?t[i]:r(i)};return this._isCompound&&n.nodes().forEach(o=>n.setParent(o,r(o))),n}setDefaultEdgeLabel(e){return typeof e!=\"function\"?this._defaultEdgeLabelFn=()=>e:this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,n){return e.reduce((t,r)=>(n!==void 0?this.setEdge(t,r,n):this.setEdge(t,r),r)),this}setEdge(e,n,t,r){let o,i,s,a,d=!1;typeof e==\"object\"&&e!==null&&\"v\"in e?(o=e.v,i=e.w,s=e.name,arguments.length===2&&(a=n,d=!0)):(o=e,i=n,s=r,arguments.length>2&&(a=t,d=!0)),o=\"\"+o,i=\"\"+i,s!==void 0&&(s=\"\"+s);let l=C(this._isDirected,o,i,s);if(l in this._edgeLabels)return d&&(this._edgeLabels[l]=a),this;if(s!==void 0&&!this._isMultigraph)throw new Error(\"Cannot set a named edge when isMultigraph = false\");this.setNode(o),this.setNode(i),this._edgeLabels[l]=d?a:this._defaultEdgeLabelFn(o,i,s);let u=gn(this._isDirected,o,i,s);return o=u.v,i=u.w,Object.freeze(u),this._edgeObjs[l]=u,me(this._preds[i],o),me(this._sucs[o],i),this._in[i][l]=u,this._out[o][l]=u,this._edgeCount++,this}edge(e,n,t){let r=arguments.length===1?Y(this._isDirected,e):C(this._isDirected,e,n,t);return this._edgeLabels[r]}edgeAsObj(e,n,t){let r=arguments.length===1?this.edge(e):this.edge(e,n,t);return typeof r!=\"object\"?{label:r}:r}hasEdge(e,n,t){return(arguments.length===1?Y(this._isDirected,e):C(this._isDirected,e,n,t))in this._edgeLabels}removeEdge(e,n,t){let r=arguments.length===1?Y(this._isDirected,e):C(this._isDirected,e,n,t),o=this._edgeObjs[r];if(o){let i=o.v,s=o.w;delete this._edgeLabels[r],delete this._edgeObjs[r],Ee(this._preds[s],i),Ee(this._sucs[i],s),delete this._in[s][r],delete this._out[i][r],this._edgeCount--}return this}inEdges(e,n){return this.isDirected()?this.filterEdges(this._in[e],e,n):this.nodeEdges(e,n)}outEdges(e,n){return this.isDirected()?this.filterEdges(this._out[e],e,n):this.nodeEdges(e,n)}nodeEdges(e,n){if(e in this._nodes)return this.filterEdges({...this._in[e],...this._out[e]},e,n)}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}filterEdges(e,n,t){if(!e)return;let r=Object.values(e);return t?r.filter(o=>o.v===n&&o.w===t||o.v===t&&o.w===n):r}};function me(e,n){e[n]?e[n]++:e[n]=1}function Ee(e,n){e[n]!==void 0&&!--e[n]&&delete e[n]}function C(e,n,t,r){let o=\"\"+n,i=\"\"+t;if(!e&&o>i){let s=o;o=i,i=s}return o+\"\u0001\"+i+\"\u0001\"+(r===void 0?\"\\0\":r)}function gn(e,n,t,r){let o=\"\"+n,i=\"\"+t;if(!e&&o>i){let a=o;o=i,i=a}let s={v:o,w:i};return r&&(s.name=r),s}function Y(e,n){return C(e,n.v,n.w,n.name)}var pn=\"4.0.1\",ye={};Le(ye,{read:()=>yn,write:()=>mn});function mn(e){let n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:En(e),edges:Ln(e)},t=e.graph();return t!==void 0&&(n.value=structuredClone(t)),n}function En(e){return e.nodes().map(n=>{let t=e.node(n),r=e.parent(n),o={v:n};return t!==void 0&&(o.value=t),r!==void 0&&(o.parent=r),o})}function Ln(e){return e.edges().map(n=>{let t=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),t!==void 0&&(r.value=t),r})}function yn(e){let n=new p(e.options);return e.value!==void 0&&n.setGraph(e.value),e.nodes.forEach(t=>{n.setNode(t.v,t.value),t.parent&&n.setParent(t.v,t.parent)}),e.edges.forEach(t=>{n.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),n}var R={};Le(R,{CycleException:()=>D,bellmanFord:()=>we,components:()=>Gn,dijkstra:()=>F,dijkstraAll:()=>_n,findCycles:()=>xn,floydWarshall:()=>On,isAcyclic:()=>Cn,postorder:()=>Pn,preorder:()=>Mn,prim:()=>jn,shortestPaths:()=>Sn,tarjan:()=>Ge,topsort:()=>ke});var wn=()=>1;function we(e,n,t,r){return Nn(e,String(n),t||wn,r||function(o){return e.outEdges(o)})}function Nn(e,n,t,r){let o={},i,s=0,a=e.nodes(),d=function(c){let h=t(c);o[c.v].distance+h<o[c.w].distance&&(o[c.w]={distance:o[c.v].distance+h,predecessor:c.v},i=!0)},l=function(){a.forEach(function(c){r(c).forEach(function(h){let f=h.v===c?h.v:h.w,g=f===h.v?h.w:h.v;d({v:f,w:g})})})};a.forEach(function(c){let h=c===n?0:Number.POSITIVE_INFINITY;o[c]={distance:h,predecessor:\"\"}});let u=a.length;for(let c=1;c<u&&(i=!1,s++,l(),!!i);c++);if(s===u-1&&(i=!1,l(),i))throw new Error(\"The graph contains a negative weight cycle\");return o}function Gn(e){let n={},t=[],r;function o(i){i in n||(n[i]=!0,r.push(i),e.successors(i).forEach(o),e.predecessors(i).forEach(o))}return e.nodes().forEach(function(i){r=[],o(i),r.length&&t.push(r)}),t}var Ne=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(e=>e.key)}has(e){return e in this._keyIndices}priority(e){let n=this._keyIndices[e];if(n!==void 0)return this._arr[n].priority}min(){if(this.size()===0)throw new Error(\"Queue underflow\");return this._arr[0].key}add(e,n){let t=this._keyIndices,r=String(e);if(!(r in t)){let o=this._arr,i=o.length;return t[r]=i,o.push({key:r,priority:n}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,n){let t=this._keyIndices[e];if(t===void 0)throw new Error(`Key not found: ${e}`);let r=this._arr[t].priority;if(n>r)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${r} New: ${n}`);this._arr[t].priority=n,this._decrease(t)}_heapify(e){let n=this._arr,t=2*e,r=t+1,o=e;t<n.length&&(o=n[t].priority<n[o].priority?t:o,r<n.length&&(o=n[r].priority<n[o].priority?r:o),o!==e&&(this._swap(e,o),this._heapify(o)))}_decrease(e){let n=this._arr,t=n[e].priority,r;for(;e!==0&&(r=e>>1,!(n[r].priority<t));)this._swap(e,r),e=r}_swap(e,n){let t=this._arr,r=this._keyIndices,o=t[e],i=t[n];t[e]=i,t[n]=o,r[i.key]=e,r[o.key]=n}},kn=()=>1;function F(e,n,t,r){let o=function(i){return e.outEdges(i)};return vn(e,String(n),t||kn,r||o)}function vn(e,n,t,r){let o={},i=new Ne,s,a,d=function(l){let u=l.v!==s?l.v:l.w,c=o[u],h=t(l),f=a.distance+h;if(h<0)throw new Error(\"dijkstra does not allow negative edge weights. Bad edge: \"+l+\" Weight: \"+h);f<c.distance&&(c.distance=f,c.predecessor=s,i.decrease(u,f))};for(e.nodes().forEach(function(l){let u=l===n?0:Number.POSITIVE_INFINITY;o[l]={distance:u,predecessor:\"\"},i.add(l,u)});i.size()>0&&(s=i.removeMin(),a=o[s],a.distance!==Number.POSITIVE_INFINITY);)r(s).forEach(d);return o}function _n(e,n,t){return e.nodes().reduce(function(r,o){return r[o]=F(e,o,n,t),r},{})}function Ge(e){let n=0,t=[],r={},o=[];function i(s){let a=r[s]={onStack:!0,lowlink:n,index:n++};if(t.push(s),e.successors(s).forEach(function(d){d in r?r[d].onStack&&(a.lowlink=Math.min(a.lowlink,r[d].index)):(i(d),a.lowlink=Math.min(a.lowlink,r[d].lowlink))}),a.lowlink===a.index){let d=[],l;do l=t.pop(),r[l].onStack=!1,d.push(l);while(s!==l);o.push(d)}}return e.nodes().forEach(function(s){s in r||i(s)}),o}function xn(e){return Ge(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var Tn=()=>1;function On(e,n,t){return In(e,n||Tn,t||function(r){return e.outEdges(r)})}function In(e,n,t){let r={},o=e.nodes();return o.forEach(function(i){r[i]={},r[i][i]={distance:0,predecessor:\"\"},o.forEach(function(s){i!==s&&(r[i][s]={distance:Number.POSITIVE_INFINITY,predecessor:\"\"})}),t(i).forEach(function(s){let a=s.v===i?s.w:s.v,d=n(s);r[i][a]={distance:d,predecessor:i}})}),o.forEach(function(i){let s=r[i];o.forEach(function(a){let d=r[a];o.forEach(function(l){let u=d[i],c=s[l],h=d[l],f=u.distance+c.distance;f<h.distance&&(h.distance=f,h.predecessor=c.predecessor)})})}),r}var D=class extends Error{constructor(...e){super(...e)}};function ke(e){let n={},t={},r=[];function o(i){if(i in t)throw new D;i in n||(t[i]=!0,n[i]=!0,e.predecessors(i).forEach(o),delete t[i],r.push(i))}if(e.sinks().forEach(o),Object.keys(n).length!==e.nodeCount())throw new D;return r}function Cn(e){try{ke(e)}catch(n){if(n instanceof D)return!1;throw n}return!0}function Rn(e,n,t,r,o){Array.isArray(n)||(n=[n]);let i=(a=>{var d;return(d=e.isDirected()?e.successors(a):e.neighbors(a))!=null?d:[]}),s={};return n.forEach(function(a){if(!e.hasNode(a))throw new Error(\"Graph does not have node: \"+a);o=ve(e,a,t===\"post\",s,i,r,o)}),o}function ve(e,n,t,r,o,i,s){return n in r||(r[n]=!0,t||(s=i(s,n)),o(n).forEach(function(a){s=ve(e,a,t,r,o,i,s)}),t&&(s=i(s,n))),s}function _e(e,n,t){return Rn(e,n,t,function(r,o){return r.push(o),r},[])}function Pn(e,n){return _e(e,n,\"post\")}function Mn(e,n){return _e(e,n,\"pre\")}function jn(e,n){let t=new p,r={},o=new Ne,i;function s(d){let l=d.v===i?d.w:d.v,u=o.priority(l);if(u!==void 0){let c=n(d);c<u&&(r[l]=i,o.decrease(l,c))}}if(e.nodeCount()===0)return t;e.nodes().forEach(function(d){o.add(d,Number.POSITIVE_INFINITY),t.setNode(d)}),o.decrease(e.nodes()[0],0);let a=!1;for(;o.size()>0;){if(i=o.removeMin(),i in r)t.setEdge(i,r[i]);else{if(a)throw new Error(\"Input graph is not connected: \"+e);a=!0}e.nodeEdges(i).forEach(s)}return t}function Sn(e,n,t,r){return Fn(e,n,t,r!=null?r:(o=>{let i=e.outEdges(o);return i!=null?i:[]}))}function Fn(e,n,t,r){if(t===void 0)return F(e,n,t,r);let o=!1,i=e.nodes();for(let s=0;s<i.length;s++){let a=r(i[s]);for(let d=0;d<a.length;d++){let l=a[d],u=l.v===i[s]?l.v:l.w,c=u===l.v?l.w:l.v;t({v:u,w:c})<0&&(o=!0)}if(o)return we(e,n,t,r)}return F(e,n,t,r)}function w(e,n,t,r){let o=r;for(;e.hasNode(o);)o=j(r);return t.dummy=n,e.setNode(o,t),o}function xe(e){let n=new p().setGraph(e.graph());return e.nodes().forEach(t=>n.setNode(t,e.node(t))),e.edges().forEach(t=>{let r=n.edge(t.v,t.w)||{weight:0,minlen:1},o=e.edge(t);n.setEdge(t.v,t.w,{weight:r.weight+o.weight,minlen:Math.max(r.minlen,o.minlen)})}),n}function A(e){let n=new p({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(t=>{e.children(t).length||n.setNode(t,e.node(t))}),e.edges().forEach(t=>{n.setEdge(t,e.edge(t))}),n}function H(e,n){let t=e.x,r=e.y,o=n.x-t,i=n.y-r,s=e.width/2,a=e.height/2;if(!o&&!i)throw new Error(\"Not possible to find intersection inside of the rectangle\");let d,l;return Math.abs(i)*s>Math.abs(o)*a?(i<0&&(a=-a),d=a*o/i,l=a):(o<0&&(s=-s),d=s,l=s*i/o),{x:t+d,y:r+l}}function N(e){let n=k(X(e)+1).map(()=>[]);return e.nodes().forEach(t=>{let r=e.node(t),o=r.rank;o!==void 0&&(n[o]||(n[o]=[]),n[o][r.order]=t)}),n}function Te(e){let n=e.nodes().map(r=>{let o=e.node(r).rank;return o===void 0?Number.MAX_VALUE:o}),t=L(Math.min,n);e.nodes().forEach(r=>{let o=e.node(r);Object.hasOwn(o,\"rank\")&&(o.rank-=t)})}function Oe(e){let n=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),t=L(Math.min,n),r=[];e.nodes().forEach(s=>{let a=e.node(s).rank-t;r[a]||(r[a]=[]),r[a].push(s)});let o=0,i=e.graph().nodeRankFactor;Array.from(r).forEach((s,a)=>{s===void 0&&a%i!==0?--o:s!==void 0&&o&&s.forEach(d=>e.node(d).rank+=o)})}function q(e,n,t,r){let o={width:0,height:0};return arguments.length>=4&&(o.rank=t,o.order=r),w(e,\"border\",o,n)}function Dn(e,n=Ie){let t=[];for(let r=0;r<e.length;r+=n){let o=e.slice(r,r+n);t.push(o)}return t}var Ie=65535;function L(e,n){if(n.length>Ie){let t=Dn(n);return e(...t.map(r=>e(...r)))}else return e(...n)}function X(e){let t=e.nodes().map(r=>{let o=e.node(r).rank;return o===void 0?Number.MIN_VALUE:o});return L(Math.max,t)}function Ce(e,n){let t={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?t.lhs.push(r):t.rhs.push(r)}),t}function P(e,n){let t=Date.now();try{return n()}finally{console.log(e+\" time: \"+(Date.now()-t)+\"ms\")}}function M(e,n){return n()}var An=0;function j(e){let n=++An;return e+(\"\"+n)}function k(e,n,t=1){n==null&&(n=e,e=0);let r=i=>i<n;t<0&&(r=i=>n<i);let o=[];for(let i=e;r(i);i+=t)o.push(i);return o}function T(e,n){let t={};for(let r of n)e[r]!==void 0&&(t[r]=e[r]);return t}function O(e,n){let t;return typeof n==\"string\"?t=r=>r[n]:t=n,Object.entries(e).reduce((r,[o,i])=>(r[o]=t(i,o),r),{})}function Re(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}var _=\"\\0\";var U=\"3.0.0\";var K=class{constructor(){pe(this,\"_sentinel\");let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,t=n._prev;if(t!==n)return Pe(t),t}enqueue(n){let t=this._sentinel;n._prev&&n._next&&Pe(n),n._next=t._next,t._next._prev=n,t._next=n,n._prev=t}toString(){let n=[],t=this._sentinel,r=t._prev;for(;r!==t;)n.push(JSON.stringify(r,Vn)),r=r._prev;return\"[\"+n.join(\", \")+\"]\"}};function Pe(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Vn(e,n){if(e!==\"_next\"&&e!==\"_prev\")return n}var Me=K;var Wn=()=>1;function Q(e,n){if(e.nodeCount()<=1)return[];let t=Yn(e,n||Wn);return Bn(t.graph,t.buckets,t.zeroIdx).flatMap(o=>e.outEdges(o.v,o.w)||[])}function Bn(e,n,t){var a;let r=[],o=n[n.length-1],i=n[0],s;for(;e.nodeCount();){for(;s=i.dequeue();)$(e,n,t,s);for(;s=o.dequeue();)$(e,n,t,s);if(e.nodeCount()){for(let d=n.length-2;d>0;--d)if(s=(a=n[d])==null?void 0:a.dequeue(),s){r=r.concat($(e,n,t,s,!0)||[]);break}}}return r}function $(e,n,t,r,o){let i=[],s=o?i:void 0;return(e.inEdges(r.v)||[]).forEach(a=>{let d=e.edge(a),l=e.node(a.v);o&&i.push({v:a.v,w:a.w}),l.out-=d,J(n,t,l)}),(e.outEdges(r.v)||[]).forEach(a=>{let d=e.edge(a),l=a.w,u=e.node(l);u.in-=d,J(n,t,u)}),e.removeNode(r.v),s}function Yn(e,n){let t=new p,r=0,o=0;e.nodes().forEach(a=>{t.setNode(a,{v:a,in:0,out:0})}),e.edges().forEach(a=>{let d=t.edge(a.v,a.w)||0,l=n(a),u=d+l;t.setEdge(a.v,a.w,u);let c=t.node(a.v),h=t.node(a.w);o=Math.max(o,c.out+=l),r=Math.max(r,h.in+=l)});let i=zn(o+r+3).map(()=>new Me),s=r+1;return t.nodes().forEach(a=>{J(i,s,t.node(a))}),{graph:t,buckets:i,zeroIdx:s}}function J(e,n,t){var r,o,i;t.out?t.in?(i=e[t.out-t.in+n])==null||i.enqueue(t):(o=e[e.length-1])==null||o.enqueue(t):(r=e[0])==null||r.enqueue(t)}function zn(e){let n=[];for(let t=0;t<e;t++)n.push(t);return n}function je(e){(e.graph().acyclicer===\"greedy\"?Q(e,t(e)):Hn(e)).forEach(r=>{let o=e.edge(r);e.removeEdge(r),o.forwardName=r.name,o.reversed=!0,e.setEdge(r.w,r.v,o,j(\"rev\"))});function t(r){return o=>r.edge(o).weight}}function Hn(e){let n=[],t={},r={};function o(i){Object.hasOwn(r,i)||(r[i]=!0,t[i]=!0,e.outEdges(i).forEach(s=>{Object.hasOwn(t,s.w)?n.push(s):o(s.w)}),delete t[i])}return e.nodes().forEach(o),n}function Se(e){e.edges().forEach(n=>{let t=e.edge(n);if(t.reversed){e.removeEdge(n);let r=t.forwardName;delete t.reversed,delete t.forwardName,e.setEdge(n.w,n.v,t,r)}})}function Fe(e){e.graph().dummyChains=[],e.edges().forEach(n=>Xn(e,n))}function Xn(e,n){let t=n.v,r=e.node(t).rank,o=n.w,i=e.node(o).rank,s=n.name,a=e.edge(n),d=a.labelRank;if(i===r+1)return;e.removeEdge(n);let l,u,c;for(c=0,++r;r<i;++c,++r)a.points=[],u={width:0,height:0,edgeLabel:a,edgeObj:n,rank:r},l=w(e,\"edge\",u,\"_d\"),r===d&&(u.width=a.width,u.height=a.height,u.dummy=\"edge-label\",u.labelpos=a.labelpos),e.setEdge(t,l,{weight:a.weight},s),c===0&&e.graph().dummyChains.push(l),t=l;e.setEdge(t,o,{weight:a.weight},s)}function De(e){e.graph().dummyChains.forEach(n=>{let t=e.node(n),r=t.edgeLabel,o;for(e.setEdge(t.edgeObj,r);t.dummy;)o=e.successors(n)[0],e.removeNode(n),r.points.push({x:t.x,y:t.y}),t.dummy===\"edge-label\"&&(r.x=t.x,r.y=t.y,r.width=t.width,r.height=t.height),n=o,t=e.node(n)})}function S(e){let n={};function t(r){let o=e.node(r);if(Object.hasOwn(n,r))return o.rank;n[r]=!0;let i=e.outEdges(r),s=i?i.map(d=>d==null?Number.POSITIVE_INFINITY:t(d.w)-e.edge(d).minlen):[],a=L(Math.min,s);return a===Number.POSITIVE_INFINITY&&(a=0),o.rank=a}e.sources().forEach(t)}function v(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var V=Kn;function Kn(e){let n=new p({directed:!1}),t=e.nodes();if(t.length===0)throw new Error(\"Graph must have at least one node\");let r=t[0],o=e.nodeCount();n.setNode(r,{});let i,s;for(;$n(n,e)<o&&(i=Jn(n,e),!!i);)s=n.hasNode(i.v)?v(e,i):-v(e,i),Qn(n,e,s);return n}function $n(e,n){function t(r){let o=n.nodeEdges(r);o&&o.forEach(i=>{let s=i.v,a=r===s?i.w:s;!e.hasNode(a)&&!v(n,i)&&(e.setNode(a,{}),e.setEdge(r,a,{}),t(a))})}return e.nodes().forEach(t),e.nodeCount()}function Jn(e,n){return n.edges().reduce((r,o)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(o.v)!==e.hasNode(o.w)&&(i=v(n,o)),i<r[0]?[i,o]:r},[Number.POSITIVE_INFINITY,null])[1]}function Qn(e,n,t){e.nodes().forEach(r=>n.node(r).rank+=t)}var{preorder:Zn,postorder:et}=R,Ve=x;x.initLowLimValues=ee;x.initCutValues=Z;x.calcCutValue=We;x.leaveEdge=Ye;x.enterEdge=ze;x.exchangeEdges=He;function x(e){e=xe(e),S(e);let n=V(e);ee(n),Z(n,e);let t,r;for(;t=Ye(n);)r=ze(n,e,t),He(n,e,t,r)}function Z(e,n){let t=et(e,e.nodes());t=t.slice(0,t.length-1),t.forEach(r=>nt(e,n,r))}function nt(e,n,t){let o=e.node(t).parent,i=e.edge(t,o);i.cutvalue=We(e,n,t)}function We(e,n,t){let o=e.node(t).parent,i=!0,s=n.edge(t,o),a=0;s||(i=!1,s=n.edge(o,t)),a=s.weight;let d=n.nodeEdges(t);return d&&d.forEach(l=>{let u=l.v===t,c=u?l.w:l.v;if(c!==o){let h=u===i,f=n.edge(l).weight;if(a+=h?f:-f,rt(e,t,c)){let b=e.edge(t,c).cutvalue;a+=h?-b:b}}}),a}function ee(e,n){arguments.length<2&&(n=e.nodes()[0]),Be(e,{},1,n)}function Be(e,n,t,r,o){let i=t,s=e.node(r);n[r]=!0;let a=e.neighbors(r);return a&&a.forEach(d=>{Object.hasOwn(n,d)||(t=Be(e,n,t,d,r))}),s.low=i,s.lim=t++,o?s.parent=o:delete s.parent,t}function Ye(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function ze(e,n,t){let r=t.v,o=t.w;n.hasEdge(r,o)||(r=t.w,o=t.v);let i=e.node(r),s=e.node(o),a=i,d=!1;return i.lim>s.lim&&(a=s,d=!0),n.edges().filter(u=>d===Ae(e,e.node(u.v),a)&&d!==Ae(e,e.node(u.w),a)).reduce((u,c)=>v(n,c)<v(n,u)?c:u)}function He(e,n,t,r){let o=t.v,i=t.w;e.removeEdge(o,i),e.setEdge(r.v,r.w,{}),ee(e),Z(e,n),tt(e,n)}function tt(e,n){let t=e.nodes().find(o=>!e.node(o).parent);if(!t)return;let r=Zn(e,[t]);r=r.slice(1),r.forEach(o=>{let s=e.node(o).parent,a=n.edge(o,s),d=!1;a||(a=n.edge(s,o),d=!0),n.node(o).rank=n.node(s).rank+(d?a.minlen:-a.minlen)})}function rt(e,n,t){return e.hasEdge(n,t)}function Ae(e,n,t){return t.low<=n.lim&&n.lim<=t.lim}var Xe=ot;function ot(e){let n=e.graph().ranker;if(typeof n==\"function\")return n(e);switch(n){case\"network-simplex\":qe(e);break;case\"tight-tree\":st(e);break;case\"longest-path\":it(e);break;case\"none\":break;default:qe(e)}}var it=S;function st(e){S(e),V(e)}function qe(e){Ve(e)}var Ue=at;function at(e){let n=lt(e);e.graph().dummyChains.forEach(t=>{let r=e.node(t),o=r.edgeObj,i=dt(e,n,o.v,o.w),s=i.path,a=i.lca,d=0,l=s[d],u=!0;for(;t!==o.w;){if(r=e.node(t),u){for(;(l=s[d])!==a&&e.node(l).maxRank<r.rank;)d++;l===a&&(u=!1)}if(!u){for(;d<s.length-1&&e.node(s[d+1]).minRank<=r.rank;)d++;l=s[d]}l!==void 0&&e.setParent(t,l),t=e.successors(t)[0]}})}function dt(e,n,t,r){let o=[],i=[],s=Math.min(n[t].low,n[r].low),a=Math.max(n[t].lim,n[r].lim),d;d=t;do d=e.parent(d),o.push(d);while(d&&(n[d].low>s||a>n[d].lim));let l=d,u=r;for(;(u=e.parent(u))!==l;)i.push(u);return{path:o.concat(i.reverse()),lca:l}}function lt(e){let n={},t=0;function r(o){let i=t;e.children(o).forEach(r),n[o]={low:i,lim:t++}}return e.children(_).forEach(r),n}function Ke(e){let n=w(e,\"root\",{},\"_root\"),t=ut(e),r=Object.values(t),o=L(Math.max,r)-1,i=2*o+1;e.graph().nestingRoot=n,e.edges().forEach(a=>e.edge(a).minlen*=i);let s=ct(e)+1;e.children(_).forEach(a=>$e(e,n,i,s,o,t,a)),e.graph().nodeRankFactor=i}function $e(e,n,t,r,o,i,s){var c;let a=e.children(s);if(!a.length){s!==n&&e.setEdge(n,s,{weight:0,minlen:t});return}let d=q(e,\"_bt\"),l=q(e,\"_bb\"),u=e.node(s);e.setParent(d,s),u.borderTop=d,e.setParent(l,s),u.borderBottom=l,a.forEach(h=>{var y;$e(e,n,t,r,o,i,h);let f=e.node(h),g=f.borderTop?f.borderTop:h,b=f.borderBottom?f.borderBottom:h,m=f.borderTop?r:2*r,E=g!==b?1:o-((y=i[s])!=null?y:0)+1;e.setEdge(d,g,{weight:m,minlen:E,nestingEdge:!0}),e.setEdge(b,l,{weight:m,minlen:E,nestingEdge:!0})}),e.parent(s)||e.setEdge(n,d,{weight:0,minlen:o+((c=i[s])!=null?c:0)})}function ut(e){let n={};function t(r,o){let i=e.children(r);i&&i.length&&i.forEach(s=>t(s,o+1)),n[r]=o}return e.children(_).forEach(r=>t(r,1)),n}function ct(e){return e.edges().reduce((n,t)=>n+e.edge(t).weight,0)}function Je(e){let n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}var Ze=ft;function ft(e){function n(t){let r=e.children(t),o=e.node(t);if(r.length&&r.forEach(n),Object.hasOwn(o,\"minRank\")){o.borderLeft=[],o.borderRight=[];for(let i=o.minRank,s=o.maxRank+1;i<s;++i)Qe(e,\"borderLeft\",\"_bl\",t,o,i),Qe(e,\"borderRight\",\"_br\",t,o,i)}}e.children(_).forEach(n)}function Qe(e,n,t,r,o,i){let s={width:0,height:0,rank:i,borderType:n},a=o[n][i-1],d=w(e,\"border\",s,t);o[n][i]=d,e.setParent(d,r),a&&e.setEdge(a,d,{weight:1})}function nn(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n===\"lr\"||n===\"rl\")&&rn(e)}function tn(e){var t;let n=(t=e.graph().rankdir)==null?void 0:t.toLowerCase();(n===\"bt\"||n===\"rl\")&&bt(e),(n===\"lr\"||n===\"rl\")&&(gt(e),rn(e))}function rn(e){e.nodes().forEach(n=>en(e.node(n))),e.edges().forEach(n=>en(e.edge(n)))}function en(e){let n=e.width;e.width=e.height,e.height=n}function bt(e){e.nodes().forEach(n=>ne(e.node(n))),e.edges().forEach(n=>{var r;let t=e.edge(n);(r=t.points)==null||r.forEach(ne),Object.hasOwn(t,\"y\")&&ne(t)})}function ne(e){e.y=-e.y}function gt(e){e.nodes().forEach(n=>te(e.node(n))),e.edges().forEach(n=>{var r;let t=e.edge(n);(r=t.points)==null||r.forEach(te),Object.hasOwn(t,\"x\")&&te(t)})}function te(e){let n=e.x;e.x=e.y,e.y=n}function re(e){let n={},t=e.nodes().filter(d=>!e.children(d).length),r=t.map(d=>e.node(d).rank),o=L(Math.max,r),i=k(o+1).map(()=>[]);function s(d){if(n[d])return;n[d]=!0;let l=e.node(d);i[l.rank].push(d);let u=e.successors(d);u&&u.forEach(s)}return t.sort((d,l)=>e.node(d).rank-e.node(l).rank).forEach(s),i}function oe(e,n){let t=0;for(let r=1;r<n.length;++r)t+=mt(e,n[r-1],n[r]);return t}function mt(e,n,t){let r=Re(t,t.map((l,u)=>u)),o=n.flatMap(l=>{let u=e.outEdges(l);return u?u.map(c=>({pos:r[c.w],weight:e.edge(c).weight})).sort((c,h)=>c.pos-h.pos):[]}),i=1;for(;i<t.length;)i<<=1;let s=2*i-1;i-=1;let a=new Array(s).fill(0),d=0;return o.forEach(l=>{let u=l.pos+i;a[u]+=l.weight;let c=0;for(;u>0;)u%2&&(c+=a[u+1]),u=u-1>>1,a[u]+=l.weight;d+=l.weight*c}),d}function ie(e,n=[]){return n.map(t=>{let r=e.inEdges(t);if(!r||!r.length)return{v:t};{let o=r.reduce((i,s)=>{let a=e.edge(s),d=e.node(s.v);return{sum:i.sum+a.weight*d.order,weight:i.weight+a.weight}},{sum:0,weight:0});return{v:t,barycenter:o.sum/o.weight,weight:o.weight}}})}function se(e,n){let t={};e.forEach((o,i)=>{let s={indegree:0,in:[],out:[],vs:[o.v],i};o.barycenter!==void 0&&(s.barycenter=o.barycenter,s.weight=o.weight),t[o.v]=s}),n.edges().forEach(o=>{let i=t[o.v],s=t[o.w];i!==void 0&&s!==void 0&&(s.indegree++,i.out.push(s))});let r=Object.values(t).filter(o=>!o.indegree);return Et(r)}function Et(e){let n=[];function t(o){return i=>{i.merged||(i.barycenter===void 0||o.barycenter===void 0||i.barycenter>=o.barycenter)&&Lt(o,i)}}function r(o){return i=>{i.in.push(o),--i.indegree===0&&e.push(i)}}for(;e.length;){let o=e.pop();n.push(o),o.in.reverse().forEach(t(o)),o.out.forEach(r(o))}return n.filter(o=>!o.merged).map(o=>T(o,[\"vs\",\"i\",\"barycenter\",\"weight\"]))}function Lt(e,n){let t=0,r=0;e.weight&&(t+=e.barycenter*e.weight,r+=e.weight),n.weight&&(t+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=t/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}function ae(e,n){let t=Ce(e,u=>Object.hasOwn(u,\"barycenter\")),r=t.lhs,o=t.rhs.sort((u,c)=>c.i-u.i),i=[],s=0,a=0,d=0;r.sort(yt(!!n)),d=on(i,o,d),r.forEach(u=>{d+=u.vs.length,i.push(u.vs),s+=u.barycenter*u.weight,a+=u.weight,d=on(i,o,d)});let l={vs:i.flat(1)};return a&&(l.barycenter=s/a,l.weight=a),l}function on(e,n,t){let r;for(;n.length&&(r=n[n.length-1]).i<=t;)n.pop(),e.push(r.vs),t++;return t}function yt(e){return(n,t)=>n.barycenter<t.barycenter?-1:n.barycenter>t.barycenter?1:e?t.i-n.i:n.i-t.i}function W(e,n,t,r){let o=e.children(n),i=e.node(n),s=i?i.borderLeft:void 0,a=i?i.borderRight:void 0,d={};s&&(o=o.filter(h=>h!==s&&h!==a));let l=ie(e,o);l.forEach(h=>{if(e.children(h.v).length){let f=W(e,h.v,t,r);d[h.v]=f,Object.hasOwn(f,\"barycenter\")&&Nt(h,f)}});let u=se(l,t);wt(u,d);let c=ae(u,r);if(s&&a){c.vs=[s,c.vs,a].flat(1);let h=e.predecessors(s);if(h&&h.length){let f=e.node(h[0]),g=e.predecessors(a),b=e.node(g[0]);Object.hasOwn(c,\"barycenter\")||(c.barycenter=0,c.weight=0),c.barycenter=(c.barycenter*c.weight+f.order+b.order)/(c.weight+2),c.weight+=2}}return c}function wt(e,n){e.forEach(t=>{t.vs=t.vs.flatMap(r=>n[r]?n[r].vs:r)})}function Nt(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}function de(e,n,t,r){r||(r=e.nodes());let o=Gt(e),i=new p({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(s=>e.node(s));return r.forEach(s=>{let a=e.node(s),d=e.parent(s);if(a.rank===n||a.minRank<=n&&n<=a.maxRank){i.setNode(s),i.setParent(s,d||o);let l=e[t](s);l&&l.forEach(u=>{let c=u.v===s?u.w:u.v,h=i.edge(c,s),f=h!==void 0?h.weight:0;i.setEdge(c,s,{weight:e.edge(u).weight+f})}),Object.hasOwn(a,\"minRank\")&&i.setNode(s,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]})}}),i}function Gt(e){let n;for(;e.hasNode(n=j(\"_root\")););return n}function le(e,n,t){let r={},o;t.forEach(i=>{let s=e.parent(i),a,d;for(;s;){if(a=e.parent(s),a?(d=r[a],r[a]=s):(d=o,o=s),d&&d!==s){n.setEdge(d,s);return}s=a}})}function B(e,n={}){if(typeof n.customOrder==\"function\"){n.customOrder(e,B);return}let t=X(e),r=sn(e,k(1,t+1),\"inEdges\"),o=sn(e,k(t-1,-1,-1),\"outEdges\"),i=re(e);if(an(e,i),n.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,a,d=n.constraints||[];for(let l=0,u=0;u<4;++l,++u){kt(l%2?r:o,l%4>=2,d),i=N(e);let c=oe(e,i);c<s?(u=0,a=Object.assign({},i),s=c):c===s&&(a=structuredClone(i))}an(e,a)}function sn(e,n,t){let r=new Map,o=(i,s)=>{r.has(i)||r.set(i,[]),r.get(i).push(s)};for(let i of e.nodes()){let s=e.node(i);if(typeof s.rank==\"number\"&&o(s.rank,i),typeof s.minRank==\"number\"&&typeof s.maxRank==\"number\")for(let a=s.minRank;a<=s.maxRank;a++)a!==s.rank&&o(a,i)}return n.map(function(i){return de(e,i,t,r.get(i)||[])})}function kt(e,n,t){let r=new p;e.forEach(function(o){t.forEach(a=>r.setEdge(a.left,a.right));let i=o.graph().root,s=W(o,i,r,n);s.vs.forEach((a,d)=>o.node(a).order=d),le(o,r,s.vs)})}function an(e,n){Object.values(n).forEach(t=>t.forEach((r,o)=>e.node(r).order=o))}function vt(e,n){let t={};function r(o,i){let s=0,a=0,d=o.length,l=i[i.length-1];return i.forEach((u,c)=>{let h=xt(e,u),f=h?e.node(h).order:d;(h||u===l)&&(i.slice(a,c+1).forEach(g=>{let b=e.predecessors(g);b&&b.forEach(m=>{let E=e.node(m),y=E.order;(y<s||f<y)&&!(E.dummy&&e.node(g).dummy)&&dn(t,m,g)})}),a=c+1,s=f)}),i}return n.length&&n.reduce(r),t}function _t(e,n){let t={};function r(i,s,a,d,l){k(s,a).forEach(u=>{let c=i[u];if(c!==void 0&&e.node(c).dummy){let h=e.predecessors(c);h&&h.forEach(f=>{if(f===void 0)return;let g=e.node(f);g.dummy&&(g.order<d||g.order>l)&&dn(t,f,c)})}})}function o(i,s){let a=-1,d=-1,l=0;return s.forEach((u,c)=>{if(e.node(u).dummy===\"border\"){let h=e.predecessors(u);if(h&&h.length){let f=h[0];if(f===void 0)return;d=e.node(f).order,r(s,l,c,a,d),l=c,a=d}}r(s,l,s.length,d,i.length)}),s}return n.length&&n.reduce(o),t}function xt(e,n){if(e.node(n).dummy){let t=e.predecessors(n);if(t)return t.find(r=>e.node(r).dummy)}}function dn(e,n,t){if(n>t){let o=n;n=t,t=o}let r=e[n];r||(e[n]=r={}),r[t]=!0}function Tt(e,n,t){if(n>t){let o=n;n=t,t=o}let r=e[n];return r!==void 0&&Object.hasOwn(r,t)}function Ot(e,n,t,r){let o={},i={},s={};return n.forEach(a=>{a.forEach((d,l)=>{o[d]=d,i[d]=d,s[d]=l})}),n.forEach(a=>{let d=-1;a.forEach(l=>{let u=r(l);if(u&&u.length){let c=u.sort((f,g)=>{let b=s[f],m=s[g];return(b!==void 0?b:0)-(m!==void 0?m:0)}),h=(c.length-1)/2;for(let f=Math.floor(h),g=Math.ceil(h);f<=g;++f){let b=c[f];if(b===void 0)continue;let m=s[b];if(m!==void 0&&i[l]===l&&d<m&&!Tt(t,l,b)){let E=o[b];E!==void 0&&(i[b]=l,i[l]=o[l]=E,d=m)}}}})}),{root:o,align:i}}function It(e,n,t,r,o=!1){let i={},s=Ct(e,n,t,o),a=o?\"borderLeft\":\"borderRight\";function d(f,g){let b=s.nodes().slice(),m={},E=b.pop();for(;E;){if(m[E])f(E);else{m[E]=!0,b.push(E);for(let y of g(E))b.push(y)}E=b.pop()}}function l(f){let g=s.inEdges(f);g?i[f]=g.reduce((b,m)=>{var I;let E=(I=i[m.v])!=null?I:0,y=s.edge(m);return Math.max(b,E+(y!==void 0?y:0))},0):i[f]=0}function u(f){let g=s.outEdges(f),b=Number.POSITIVE_INFINITY;g&&(b=g.reduce((E,y)=>{let I=i[y.w],be=s.edge(y);return Math.min(E,(I!==void 0?I:0)-(be!==void 0?be:0))},Number.POSITIVE_INFINITY));let m=e.node(f);b!==Number.POSITIVE_INFINITY&&m.borderType!==a&&(i[f]=Math.max(i[f]!==void 0?i[f]:0,b))}function c(f){return s.predecessors(f)||[]}function h(f){return s.successors(f)||[]}return d(l,c),d(u,h),Object.keys(r).forEach(f=>{var b;let g=t[f];g!==void 0&&(i[f]=(b=i[g])!=null?b:0)}),i}function Ct(e,n,t,r){let o=new p,i=e.graph(),s=jt(i.nodesep,i.edgesep,r);return n.forEach(a=>{let d;a.forEach(l=>{let u=t[l];if(u!==void 0){if(o.setNode(u),d!==void 0){let c=t[d];if(c!==void 0){let h=o.edge(c,u);o.setEdge(c,u,Math.max(s(e,l,d),h||0))}}d=l}})}),o}function Rt(e,n){return Object.values(n).reduce((t,r)=>{let o=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([a,d])=>{let l=St(e,a)/2;o=Math.max(d+l,o),i=Math.min(d-l,i)});let s=o-i;return s<t[0]&&(t=[s,r]),t},[Number.POSITIVE_INFINITY,null])[1]}function Pt(e,n){let t=Object.values(n),r=L(Math.min,t),o=L(Math.max,t);[\"u\",\"d\"].forEach(i=>{[\"l\",\"r\"].forEach(s=>{let a=i+s,d=e[a];if(!d||d===n)return;let l=Object.values(d),u=r-L(Math.min,l);s!==\"l\"&&(u=o-L(Math.max,l)),u&&(e[a]=O(d,c=>c+u))})})}function Mt(e,n=void 0){let t=e.ul;return t?O(t,(r,o)=>{var s,a;if(n){let d=n.toLowerCase(),l=e[d];if(l&&l[o]!==void 0)return l[o]}let i=Object.values(e).map(d=>{let l=d[o];return l!==void 0?l:0}).sort((d,l)=>d-l);return(((s=i[1])!=null?s:0)+((a=i[2])!=null?a:0))/2}):{}}function ln(e){let n=N(e),t=Object.assign(vt(e,n),_t(e,n)),r={},o;[\"u\",\"d\"].forEach(s=>{o=s===\"u\"?n:Object.values(n).reverse(),[\"l\",\"r\"].forEach(a=>{a===\"r\"&&(o=o.map(c=>Object.values(c).reverse()));let l=Ot(e,o,t,c=>(s===\"u\"?e.predecessors(c):e.successors(c))||[]),u=It(e,o,l.root,l.align,a===\"r\");a===\"r\"&&(u=O(u,c=>-c)),r[s+a]=u})});let i=Rt(e,r);return Pt(r,i),Mt(r,e.graph().align)}function jt(e,n,t){return(r,o,i)=>{let s=r.node(o),a=r.node(i),d=0,l;if(d+=s.width/2,Object.hasOwn(s,\"labelpos\"))switch(s.labelpos.toLowerCase()){case\"l\":l=-s.width/2;break;case\"r\":l=s.width/2;break}if(l&&(d+=t?l:-l),l=void 0,d+=(s.dummy?n:e)/2,d+=(a.dummy?n:e)/2,d+=a.width/2,Object.hasOwn(a,\"labelpos\"))switch(a.labelpos.toLowerCase()){case\"l\":l=a.width/2;break;case\"r\":l=-a.width/2;break}return l&&(d+=t?l:-l),d}}function St(e,n){return e.node(n).width}function un(e){e=A(e),Ft(e),Object.entries(ln(e)).forEach(([n,t])=>e.node(n).x=t)}function Ft(e){let n=N(e),t=e.graph(),r=t.ranksep,o=t.rankalign,i=0;n.forEach(s=>{let a=s.reduce((d,l)=>{var c;let u=(c=e.node(l).height)!=null?c:0;return d>u?d:u},0);s.forEach(d=>{let l=e.node(d);o===\"top\"?l.y=i+l.height/2:o===\"bottom\"?l.y=i+a-l.height/2:l.y=i+a/2}),i+=a+r})}function he(e,n={}){let t=n.debugTiming?P:M;return t(\"layout\",()=>{let r=t(\" buildLayoutGraph\",()=>Xt(e));return t(\" runLayout\",()=>Dt(r,t,n)),t(\" updateInputGraph\",()=>At(e,r)),r})}function Dt(e,n,t){n(\" makeSpaceForEdgeLabels\",()=>Ut(e)),n(\" removeSelfEdges\",()=>rr(e)),n(\" acyclic\",()=>je(e)),n(\" nestingGraph.run\",()=>Ke(e)),n(\" rank\",()=>Xe(A(e))),n(\" injectEdgeLabelProxies\",()=>Kt(e)),n(\" removeEmptyRanks\",()=>Oe(e)),n(\" nestingGraph.cleanup\",()=>Je(e)),n(\" normalizeRanks\",()=>Te(e)),n(\" assignRankMinMax\",()=>$t(e)),n(\" removeEdgeLabelProxies\",()=>Jt(e)),n(\" normalize.run\",()=>Fe(e)),n(\" parentDummyChains\",()=>Ue(e)),n(\" addBorderSegments\",()=>Ze(e)),n(\" order\",()=>B(e,t)),n(\" insertSelfEdges\",()=>or(e)),n(\" adjustCoordinateSystem\",()=>nn(e)),n(\" position\",()=>un(e)),n(\" positionSelfEdges\",()=>ir(e)),n(\" removeBorderNodes\",()=>tr(e)),n(\" normalize.undo\",()=>De(e)),n(\" fixupEdgeLabelCoords\",()=>er(e)),n(\" undoCoordinateSystem\",()=>tn(e)),n(\" translateGraph\",()=>Qt(e)),n(\" assignNodeIntersects\",()=>Zt(e)),n(\" reversePoints\",()=>nr(e)),n(\" acyclic.undo\",()=>Se(e))}function At(e,n){e.nodes().forEach(t=>{let r=e.node(t),o=n.node(t);r&&(r.x=o.x,r.y=o.y,r.order=o.order,r.rank=o.rank,n.children(t).length&&(r.width=o.width,r.height=o.height))}),e.edges().forEach(t=>{let r=e.edge(t),o=n.edge(t);r.points=o.points,Object.hasOwn(o,\"x\")&&(r.x=o.x,r.y=o.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Vt=[\"nodesep\",\"edgesep\",\"ranksep\",\"marginx\",\"marginy\"],Wt={ranksep:50,edgesep:20,nodesep:50,rankdir:\"TB\",rankalign:\"center\"},Bt=[\"acyclicer\",\"ranker\",\"rankdir\",\"align\",\"rankalign\"],Yt=[\"width\",\"height\",\"rank\"],cn={width:0,height:0},zt=[\"minlen\",\"weight\",\"width\",\"height\",\"labeloffset\"],Ht={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:\"r\"},qt=[\"labelpos\"];function Xt(e){let n=new p({multigraph:!0,compound:!0}),t=ce(e.graph());return n.setGraph(Object.assign({},Wt,ue(t,Vt),T(t,Bt))),e.nodes().forEach(r=>{let o=ce(e.node(r)),i=ue(o,Yt);Object.keys(cn).forEach(a=>{i[a]===void 0&&(i[a]=cn[a])}),n.setNode(r,i);let s=e.parent(r);s!==void 0&&n.setParent(r,s)}),e.edges().forEach(r=>{let o=ce(e.edge(r));n.setEdge(r,Object.assign({},Ht,ue(o,zt),T(o,qt)))}),n}function Ut(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(t=>{let r=e.edge(t);r.minlen*=2,r.labelpos.toLowerCase()!==\"c\"&&(n.rankdir===\"TB\"||n.rankdir===\"BT\"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Kt(e){e.edges().forEach(n=>{let t=e.edge(n);if(t.width&&t.height){let r=e.node(n.v),i={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};w(e,\"edge-proxy\",i,\"_ep\")}})}function $t(e){let n=0;e.nodes().forEach(t=>{let r=e.node(t);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function Jt(e){e.nodes().forEach(n=>{let t=e.node(n);if(t.dummy===\"edge-proxy\"){let r=t;e.edge(r.e).labelRank=t.rank,e.removeNode(n)}})}function Qt(e){let n=Number.POSITIVE_INFINITY,t=0,r=Number.POSITIVE_INFINITY,o=0,i=e.graph(),s=i.marginx||0,a=i.marginy||0;function d(l){let u=l.x,c=l.y,h=l.width,f=l.height;n=Math.min(n,u-h/2),t=Math.max(t,u+h/2),r=Math.min(r,c-f/2),o=Math.max(o,c+f/2)}e.nodes().forEach(l=>d(e.node(l))),e.edges().forEach(l=>{let u=e.edge(l);Object.hasOwn(u,\"x\")&&d(u)}),n-=s,r-=a,e.nodes().forEach(l=>{let u=e.node(l);u.x-=n,u.y-=r}),e.edges().forEach(l=>{let u=e.edge(l);u.points.forEach(c=>{c.x-=n,c.y-=r}),Object.hasOwn(u,\"x\")&&(u.x-=n),Object.hasOwn(u,\"y\")&&(u.y-=r)}),i.width=t-n+s,i.height=o-r+a}function Zt(e){e.edges().forEach(n=>{let t=e.edge(n),r=e.node(n.v),o=e.node(n.w),i,s;t.points?(i=t.points[0],s=t.points[t.points.length-1]):(t.points=[],i=o,s=r),t.points.unshift(H(r,i)),t.points.push(H(o,s))})}function er(e){e.edges().forEach(n=>{let t=e.edge(n);if(Object.hasOwn(t,\"x\"))switch((t.labelpos===\"l\"||t.labelpos===\"r\")&&(t.width-=t.labeloffset),t.labelpos){case\"l\":t.x-=t.width/2+t.labeloffset;break;case\"r\":t.x+=t.width/2+t.labeloffset;break}})}function nr(e){e.edges().forEach(n=>{let t=e.edge(n);t.reversed&&t.points.reverse()})}function tr(e){e.nodes().forEach(n=>{if(e.children(n).length){let t=e.node(n),r=e.node(t.borderTop),o=e.node(t.borderBottom),i=e.node(t.borderLeft[t.borderLeft.length-1]),s=e.node(t.borderRight[t.borderRight.length-1]);t.width=Math.abs(s.x-i.x),t.height=Math.abs(o.y-r.y),t.x=i.x+t.width/2,t.y=r.y+t.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy===\"border\"&&e.removeNode(n)})}function rr(e){e.edges().forEach(n=>{if(n.v===n.w){let t=e.node(n.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function or(e){N(e).forEach(t=>{let r=0;t.forEach((o,i)=>{let s=e.node(o);s.order=i+r,(s.selfEdges||[]).forEach(a=>{w(e,\"selfedge\",{width:a.label.width,height:a.label.height,rank:s.rank,order:i+ ++r,e:a.e,label:a.label},\"_se\")}),delete s.selfEdges})})}function ir(e){e.nodes().forEach(n=>{let t=e.node(n);if(t.dummy===\"selfedge\"){let r=t,o=e.node(r.e.v),i=o.x+o.width/2,s=o.y,a=t.x-i,d=o.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:i+2*a/3,y:s-d},{x:i+5*a/6,y:s-d},{x:i+a,y:s},{x:i+5*a/6,y:s+d},{x:i+2*a/3,y:s+d}],r.label.x=t.x,r.label.y=t.y}})}function ue(e,n){return O(T(e,n),Number)}function ce(e){let n={};return e&&Object.entries(e).forEach(([t,r])=>{typeof t==\"string\"&&(t=t.toLowerCase()),n[t]=r}),n}function fe(e){let n=N(e),t=new p({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{t.setNode(r,{label:r}),t.setParent(r,\"layer\"+e.node(r).rank)}),e.edges().forEach(r=>t.setEdge(r.v,r.w,{},r.name)),n.forEach((r,o)=>{let i=\"layer\"+o;t.setNode(i,{rank:\"same\"}),r.reduce((s,a)=>(t.setEdge(s,a,{style:\"invis\"}),a))}),t}var xo={time:P,notime:M},sr={graphlib:z,version:U,layout:he,debug:fe,util:{time:P,notime:M}},To=sr;export{p as Graph,fe as debug,To as default,z as graphlib,he as layout,xo as util,U as version};\n/*! For license information please see dagre.esm.js.LEGAL.txt */\n//# sourceMappingURL=dagre.esm.js.map\n","import defaults from './defaults.mjs';\nimport assign from './assign.mjs';\nimport dagre from '@dagrejs/dagre';\n\nconst isFunction = function(o){ return typeof o === 'function'; };\nconst EPSILON = 0.001; // what does it mean to be too close to 0?\n\n// constructor\n// options : object containing layout options\nfunction DagreLayout( options ) {\n this.options = assign( {}, defaults, options );\n}\n\nfunction subtract(a, b) {\n return { x: noZero(a.x - b.x), y: noZero(a.y - b.y) };\n}\n\nfunction product(a, b) {\n return noZero(a.x * b.x) + noZero(a.y * b.y);\n}\n\nfunction norm(v) {\n const len = Math.hypot(v.x, v.y) || 1;\n return { x: v.x / len, y: v.y / len, len };\n}\n\nfunction perp(v) {\n return { x: -v.y, y: v.x };\n}\n\n/* provides the context for mapping from dagre's x, y coordinate system\n * for control points to cytoscapes coordinate system for control points\n * which is relative to the straight vector from source to target node\n */\nfunction buildEdgeFrame(src, tgt) {\n const d = subtract(tgt, src);\n const { x, y, len } = norm(d);\n\n const dir = { x, y };\n const normal = perp(dir);\n\n return { src, tgt, dir, normal, len };\n}\n\nfunction noZero(x) {\n if (Math.abs(x) < EPSILON) {\n return x < 0 ? -EPSILON : EPSILON;\n }\n\n return x;\n}\n\nfunction toEdgeCoordinates(P, frame) {\n const vector = subtract(P, frame.src);\n const weight = noZero(product(vector, frame.dir) / frame.len);\n const distance = noZero(product(vector, frame.normal));\n\n return { weight, distance };\n}\n\nfunction normalizeWeight(coords) {\n let min = Infinity;\n let max = -Infinity;\n\n for (const p of coords) {\n if (p.weight < min) {\n min = p.weight;\n }\n\n if (p.weight > max) {\n max = p.weight;\n }\n }\n\n const range = max - min || 1;\n\n return coords.map(p => ({\n distance: p.distance,\n weight: (p.weight - min) / range\n }));\n}\n\n/* First introduce new control points to bridge between the dagre list of \n * points and the centres of cytoscape nodes.\n * Then we sanitize any empty or non-existing or degenerate control points\n * And finally we map the Dagre coordinates to the Cytoscape coordinated which\n * are relative to the original direction vector from source to target.\n * These final coordinates are stored pairwise in two arrays cpw and cpd\n * which are picked up by the Bezier construction code in cytoscape.\n */\nfunction dagreEdgeToCytoscapeEdge(dEdge, cEdge) {\n const fromNode = cEdge.source().position();\n const toNode = cEdge.target().position();\n const frame = buildEdgeFrame(fromNode, toNode);\n const coords = normalizeWeight(dEdge.points.map(p => toEdgeCoordinates(p, frame)));\n \n const controlPointWeights = coords.slice(1,-1).map(c => c.weight);\n const controlPointDistances = coords.slice(1,-1).map(c => c.distance);\n\n const result = { controlPointWeights, controlPointDistances };\n\n return result;\n}\n\n// runs the layout\nDagreLayout.prototype.run = function(){\n let options = this.options;\n let layout = this;\n\n let cy = options.cy; // cy is automatically populated for us in the constructor\n let eles = options.eles;\n\n let getVal = function( ele, val ){\n return isFunction(val) ? val.apply( ele, [ ele ] ) : val;\n };\n\n let bb = options.boundingBox || { x1: 0, y1: 0, w: cy.width(), h: cy.height() };\n if( bb.x2 === undefined ){ bb.x2 = bb.x1 + bb.w; }\n if( bb.w === undefined ){ bb.w = bb.x2 - bb.x1; }\n if( bb.y2 === undefined ){ bb.y2 = bb.y1 + bb.h; }\n if( bb.h === undefined ){ bb.h = bb.y2 - bb.y1; }\n\n let g = new dagre.graphlib.Graph({\n multigraph: true,\n compound: true\n });\n\n let gObj = {};\n let setGObj = function( name, val ){\n if( val != null ){\n gObj[ name ] = val;\n }\n };\n\n setGObj( 'nodesep', options.nodeSep );\n setGObj( 'edgesep', options.edgeSep );\n setGObj( 'ranksep', options.rankSep );\n setGObj( 'rankdir', options.rankDir );\n setGObj( 'align', options.align);\n setGObj( 'ranker', options.ranker );\n setGObj( 'acyclicer', options.acyclicer);\n\n g.setGraph( gObj );\n\n g.setDefaultEdgeLabel(function() { return {}; });\n g.setDefaultNodeLabel(function() { return {}; });\n\n // add nodes to dagre\n let nodes = eles.nodes();\n\n if ( isFunction(options.sort) ) {\n nodes = nodes.sort( options.sort );\n }\n\n for( let i = 0; i < nodes.length; i++ ){\n let node = nodes[i];\n let nbb = node.layoutDimensions( options );\n\n g.setNode( node.id(), {\n width: nbb.w,\n height: nbb.h,\n shape: 'ellipse',\n name: node.id()\n } );\n }\n\n // set compound parents\n for( let i = 0; i < nodes.length; i++ ){\n let node = nodes[i];\n\n if( node.isChild() ){\n g.setParent( node.id(), node.parent().id() );\n }\n }\n\n // add edges to dagre\n let edges = eles.edges().stdFilter(function( edge ){\n return !edge.source().isParent() && !edge.target().isParent(); // dagre can't handle edges on compound nodes\n });\n\n if ( isFunction(options.sort) ) {\n edges = edges.sort( options.sort );\n }\n\n for( let i = 0; i < edges.length; i++ ){\n let edge = edges[i];\n\n g.setEdge( edge.source().id(), edge.target().id(), {\n minlen: getVal( edge, options.minLen ),\n weight: getVal( edge, options.edgeWeight ),\n name: edge.id()\n }, edge.id() );\n }\n\n dagre.layout( g );\n\n let gNodeIds = g.nodes();\n for( let i = 0; i < gNodeIds.length; i++ ){\n let id = gNodeIds[i];\n let n = g.node( id );\n\n cy.getElementById(id).scratch().dagre = n;\n }\n\n let dagreBB;\n\n if( options.boundingBox ){\n dagreBB = { x1: Infinity, x2: -Infinity, y1: Infinity, y2: -Infinity };\n nodes.forEach(function( node ){\n let dModel = node.scratch().dagre;\n\n dagreBB.x1 = Math.min( dagreBB.x1, dModel.x );\n dagreBB.x2 = Math.max( dagreBB.x2, dModel.x );\n\n dagreBB.y1 = Math.min( dagreBB.y1, dModel.y );\n dagreBB.y2 = Math.max( dagreBB.y2, dModel.y );\n });\n\n dagreBB.w = dagreBB.x2 - dagreBB.x1;\n dagreBB.h = dagreBB.y2 - dagreBB.y1;\n } else {\n dagreBB = bb;\n }\n\n let constrainPos = function( p ){\n if( options.boundingBox ){\n let xPct = dagreBB.w === 0 ? 0 : (p.x - dagreBB.x1) / dagreBB.w;\n let yPct = dagreBB.h === 0 ? 0 : (p.y - dagreBB.y1) / dagreBB.h;\n\n return {\n x: bb.x1 + xPct * bb.w,\n y: bb.y1 + yPct * bb.h\n };\n } else {\n return p;\n }\n };\n\n nodes.layoutPositions(layout, options, function( ele ){\n ele = typeof ele === \"object\" ? ele : this;\n let dModel = ele.scratch().dagre;\n\n return constrainPos({\n x: dModel.x,\n y: dModel.y\n });\n });\n\n if (options.useDagreEdgeControlPoints) {\n if (options.automaticDagreEdgeStyle) {\n cy.edges().addClass('useDagreEdgeControlPoints');\n cy.style()\n .selector('edge.useDagreEdgeControlPoints')\n .style(options.dagreEdgeStyle)\n .update();\n }\n \n g.edges().forEach(id => {\n const cyEdge = cy.getElementById(id.name);\n const dEdge = g.edge(id);\n\n if (dEdge && dEdge.points) {\n cyEdge.scratch(dagreEdgeToCytoscapeEdge(dEdge, cyEdge));\n }\n });\n }\n \n return this; // chaining\n};\n\nexport default DagreLayout;\n","import impl from './layout.mjs';\n\n// registers the extension on a cytoscape lib ref\nlet register = function( cytoscape ){\n if( !cytoscape ){ return; } // can't register if cytoscape unspecified\n\n cytoscape( 'layout', 'dagre', impl ); // register with cytoscape.js\n};\n\nif( typeof window !== 'undefined' && typeof window.cytoscape !== 'undefined' ){ // expose to global cytoscape (i.e. window.cytoscape)\n register( window.cytoscape );\n}\n\nexport default register;\n"],"names":["defaults","nodeSep","undefined","edgeSep","rankSep","rankDir","align","acyclicer","ranker","minLen","_edge","edgeWeight","fit","padding","spacingFactor","nodeDimensionsIncludeLabels","useDagreEdgeControlPoints","automaticDagreEdgeStyle","dagreEdgeStyle","ele","scratch","animate","animateFilter","_node","_i","animationDuration","animationEasing","boundingBox","transform","node","pos","ready","sort","stop","assign","Object","bind","tgt","_len","arguments","length","srcs","Array","_key","forEach","src","keys","k","ge","defineProperty","pe","e","n","t","enumerable","configurable","writable","value","hn","z","get","fn","Graph","p","alg","R","json","ye","version","pn","bn","Le","constructor","this","_isDirected","_isMultigraph","_isCompound","_nodes","_in","_preds","_out","_sucs","_edgeObjs","_edgeLabels","_nodeCount","_edgeCount","_defaultNodeLabelFn","_defaultEdgeLabelFn","directed","multigraph","compound","_parent","_children","isDirected","isMultigraph","isCompound","setGraph","_label","graph","setDefaultNodeLabel","nodeCount","nodes","sources","filter","sinks","setNodes","setNode","hasNode","removeNode","removeEdge","_removeFromParentsChildList","children","setParent","Error","parent","predecessors","successors","neighbors","Set","r","add","from","values","isLeaf","filterNodes","entries","o","i","v","w","setEdge","edge","setDefaultEdgeLabel","edgeCount","edges","setPath","reduce","s","a","d","name","l","C","u","gn","freeze","me","Y","edgeAsObj","label","hasEdge","Ee","inEdges","filterEdges","nodeEdges","outEdges","mn","options","En","Ln","structuredClone","map","yn","read","write","CycleException","D","bellmanFord","we","components","Gn","dijkstra","F","dijkstraAll","_n","findCycles","xn","floydWarshall","On","isAcyclic","Cn","postorder","Pn","preorder","Mn","prim","jn","shortestPaths","Sn","tarjan","Ge","topsort","ke","wn","c","h","distance","predecessor","f","g","Number","POSITIVE_INFINITY","Nn","String","push","Ne","_arr","_keyIndices","size","key","has","priority","min","_decrease","removeMin","_swap","pop","_heapify","decrease","kn","vn","onStack","lowlink","index","Math","Tn","In","super","Rn","isArray","ve","_e","Fn","j","dummy","A","H","x","y","width","height","abs","N","X","rank","order","q","Ie","L","slice","Dn","MIN_VALUE","max","P","Date","now","console","log","M","An","T","O","_","Pe","_prev","_next","Vn","Me","_sentinel","dequeue","enqueue","toString","JSON","stringify","join","Wn","Q","in","out","zn","J","buckets","zeroIdx","Yn","$","concat","Bn","flatMap","je","weight","hasOwn","Hn","forwardName","reversed","Fe","dummyChains","labelRank","points","edgeLabel","edgeObj","labelpos","Xn","S","minlen","V","$n","Jn","Qn","Zn","et","Ve","xe","ee","Z","Ye","ze","He","cutvalue","We","nt","rt","b","Be","low","lim","find","Ae","tt","initLowLimValues","initCutValues","calcCutValue","leaveEdge","enterEdge","exchangeEdges","Xe","qe","st","it","Ue","lt","path","reverse","lca","dt","maxRank","minRank","Ke","ut","nestingRoot","ct","$e","nodeRankFactor","borderTop","borderBottom","m","E","nestingEdge","Ze","borderLeft","borderRight","Qe","borderType","tn","rankdir","toLowerCase","ne","bt","te","gt","rn","en","oe","mt","Re","fill","se","indegree","vs","barycenter","merged","Lt","Et","on","W","sum","ie","Nt","wt","lhs","rhs","Ce","yt","flat","ae","de","Gt","root","B","customOrder","sn","re","an","disableOptimalOrderHeuristic","constraints","kt","Map","set","left","right","le","dn","Tt","It","jt","nodesep","edgesep","Ct","I","be","ln","xt","vt","_t","floor","ceil","Ot","NEGATIVE_INFINITY","St","Rt","Pt","ul","Mt","un","ranksep","rankalign","Ft","Vt","Wt","Bt","Yt","cn","zt","Ht","labeloffset","qt","ue","ce","To","graphlib","layout","debugTiming","Xt","Ut","selfEdges","rr","Kt","Oe","Je","MAX_VALUE","Te","$t","Jt","or","nn","ir","tr","De","er","marginx","marginy","Qt","unshift","Zt","nr","Se","Dt","At","debug","style","util","time","notime","isFunction","EPSILON","DagreLayout","subtract","noZero","product","buildEdgeFrame","_norm","len","hypot","norm","dir","normal","perp","dagreEdgeToCytoscapeEdge","dEdge","cEdge","frame","source","position","target","coords","_step","Infinity","_iterator","_createForOfIteratorHelper","done","err","range","normalizeWeight","vector","toEdgeCoordinates","controlPointWeights","controlPointDistances","prototype","run","cy","eles","getVal","val","apply","bb","x1","y1","x2","y2","dagre","gObj","setGObj","nbb","layoutDimensions","id","shape","isChild","stdFilter","isParent","dagreBB","gNodeIds","getElementById","dModel","layoutPositions","_typeof","xPct","yPct","constrainPos","addClass","selector","update","cyEdge","register","cytoscape","impl","window"],"mappings":"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","x_google_ignoreList":[2]}