(function(e){var t={};function r(n){if(t[n]){return t[n].exports}var a=t[n]={i:n,l:false,exports:{}};e[n].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.d=function(e,t,n){if(!r.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:n})}};r.r=function(e){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})};r.t=function(e,t){if(t&1)e=r(e);if(t&8)return e;if(t&4&&typeof e==="object"&&e&&e.__esModule)return e;var n=Object.create(null);r.r(n);Object.defineProperty(n,"default",{enumerable:true,value:e});if(t&2&&typeof e!="string")for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="";return r(r.s=106)})([,,,,function(e,t,r){(function(t){e.exports=function(e){function r(e){typeof t!=="undefined"&&(t.error||t.log)("[Script Loader]",e)}function n(){return typeof attachEvent!=="undefined"&&typeof addEventListener==="undefined"}try{if(typeof execScript!=="undefined"&&n()){execScript(e)}else if(typeof eval!=="undefined"){eval.call(null,e)}else{r("EvalError: No eval function available")}}catch(e){r(e)}}}).call(this,r(5))},function(e,t,r){(function(t){var n=r(7);var a=r(12);function i(){return(new Date).getTime()}var o=Array.prototype.slice;var s;var u={};if(typeof t!=="undefined"&&t.console){s=t.console}else if(typeof window!=="undefined"&&window.console){s=window.console}else{s={}}var l=[[h,"log"],[p,"info"],[g,"warn"],[y,"error"],[m,"time"],[b,"timeEnd"],[x,"trace"],[w,"dir"],[E,"assert"]];for(var f=0;f=a)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}));for(var s=n[r];r=3)n.depth=arguments[2];if(arguments.length>=4)n.colors=arguments[3];if(b(r)){n.showHidden=r}else if(r){t._extend(n,r)}if(D(n.showHidden))n.showHidden=false;if(D(n.depth))n.depth=2;if(D(n.colors))n.colors=false;if(D(n.customInspect))n.customInspect=true;if(n.colors)n.stylize=l;return v(n,e,n.depth)}t.inspect=u;u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function l(e,t){var r=u.styles[t];if(r){return"["+u.colors[r][0]+"m"+e+"["+u.colors[r][1]+"m"}else{return e}}function f(e,t){return e}function c(e){var t={};e.forEach((function(e,r){t[e]=true}));return t}function v(e,r,n){if(e.customInspect&&r&&I(r.inspect)&&r.inspect!==t.inspect&&!(r.constructor&&r.constructor.prototype===r)){var a=r.inspect(n,e);if(!k(a)){a=v(e,a,n)}return a}var i=d(e,r);if(i){return i}var o=Object.keys(r);var s=c(o);if(e.showHidden){o=Object.getOwnPropertyNames(r)}if(P(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0)){return h(r)}if(o.length===0){if(I(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(C(r)){return e.stylize(RegExp.prototype.toString.call(r),"regexp")}if(T(r)){return e.stylize(Date.prototype.toString.call(r),"date")}if(P(r)){return h(r)}}var l="",f=false,b=["{","}"];if(m(r)){f=true;b=["[","]"]}if(I(r)){var x=r.name?": "+r.name:"";l=" [Function"+x+"]"}if(C(r)){l=" "+RegExp.prototype.toString.call(r)}if(T(r)){l=" "+Date.prototype.toUTCString.call(r)}if(P(r)){l=" "+h(r)}if(o.length===0&&(!f||r.length==0)){return b[0]+l+b[1]}if(n<0){if(C(r)){return e.stylize(RegExp.prototype.toString.call(r),"regexp")}else{return e.stylize("[Object]","special")}}e.seen.push(r);var w;if(f){w=p(e,r,n,s,o)}else{w=o.map((function(t){return g(e,r,n,s,t,f)}))}e.seen.pop();return y(w,l,b)}function d(e,t){if(D(t))return e.stylize("undefined","undefined");if(k(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(E(t))return e.stylize(""+t,"number");if(b(t))return e.stylize(""+t,"boolean");if(x(t))return e.stylize("null","null")}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,r,n,a){var i=[];for(var o=0,s=t.length;o-1){if(i){s=s.split("\n").map((function(e){return" "+e})).join("\n").substr(2)}else{s="\n"+s.split("\n").map((function(e){return" "+e})).join("\n")}}}else{s=e.stylize("[Circular]","special")}}if(D(o)){if(i&&a.match(/^\d+$/)){return s}o=JSON.stringify(""+a);if(o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){o=o.substr(1,o.length-2);o=e.stylize(o,"name")}else{o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");o=e.stylize(o,"string")}}return o+": "+s}function y(e,t,r){var n=0;var a=e.reduce((function(e,t){n++;if(t.indexOf("\n")>=0)n++;return e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(a>60){return r[0]+(t===""?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]}return r[0]+t+" "+e.join(", ")+" "+r[1]}function m(e){return Array.isArray(e)}t.isArray=m;function b(e){return typeof e==="boolean"}t.isBoolean=b;function x(e){return e===null}t.isNull=x;function w(e){return e==null}t.isNullOrUndefined=w;function E(e){return typeof e==="number"}t.isNumber=E;function k(e){return typeof e==="string"}t.isString=k;function _(e){return typeof e==="symbol"}t.isSymbol=_;function D(e){return e===void 0}t.isUndefined=D;function C(e){return S(e)&&O(e)==="[object RegExp]"}t.isRegExp=C;function S(e){return typeof e==="object"&&e!==null}t.isObject=S;function T(e){return S(e)&&O(e)==="[object Date]"}t.isDate=T;function P(e){return S(e)&&(O(e)==="[object Error]"||e instanceof Error)}t.isError=P;function I(e){return typeof e==="function"}t.isFunction=I;function M(e){return e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"||typeof e==="symbol"||typeof e==="undefined"}t.isPrimitive=M;t.isBuffer=r(9);function O(e){return Object.prototype.toString.call(e)}function z(e){return e<10?"0"+e.toString(10):e.toString(10)}var N=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var e=new Date;var t=[z(e.getHours()),z(e.getMinutes()),z(e.getSeconds())].join(":");return[e.getDate(),N[e.getMonth()],t].join(" ")}t.log=function(){n.log("%s - %s",A(),t.format.apply(t,arguments))};t.inherits=r(10);t._extend=function(e,t){if(!t||!S(t))return e;var r=Object.keys(t);var n=r.length;while(n--){e[r[n]]=t[r[n]]}return e};function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var L=typeof Symbol!=="undefined"?Symbol("util.promisify.custom"):undefined;t.promisify=function e(t){if(typeof t!=="function")throw new TypeError('The "original" argument must be of type Function');if(L&&t[L]){var r=t[L];if(typeof r!=="function"){throw new TypeError('The "util.promisify.custom" argument must be of type Function')}Object.defineProperty(r,L,{value:r,enumerable:false,writable:false,configurable:true});return r}function r(){var e,r;var n=new Promise((function(t,n){e=t;r=n}));var a=[];for(var i=0;i1){for(var r=1;r * @license MIT */function a(e,t){if(e===t){return 0}var r=e.length;var n=t.length;for(var a=0,i=Math.min(r,n);a=0){var s=a.indexOf("\n",o+1);a=a.substring(s+1)}this.stack=a}}};o.inherits(v.AssertionError,Error);function p(e,t){if(typeof e==="string"){return e.length=0;c--){if(s[c]!==l[c])return false}for(c=s.length-1;c>=0;c--){f=s[c];if(!x(e[f],t[f],r,n))return false}return true}v.notDeepEqual=function e(t,r,n){if(x(t,r,false)){m(t,r,n,"notDeepEqual",v.notDeepEqual)}};v.notDeepStrictEqual=k;function k(e,t,r){if(x(e,t,true)){m(e,t,r,"notDeepStrictEqual",k)}}v.strictEqual=function e(t,r,n){if(t!==r){m(t,r,n,"===",v.strictEqual)}};v.notStrictEqual=function e(t,r,n){if(t===r){m(t,r,n,"!==",v.notStrictEqual)}};function _(e,t){if(!e||!t){return false}if(Object.prototype.toString.call(t)=="[object RegExp]"){return t.test(e)}try{if(e instanceof t){return true}}catch(e){}if(Error.isPrototypeOf(t)){return false}return t.call({},e)===true}function D(e){var t;try{e()}catch(e){t=e}return t}function C(e,t,r,n){var a;if(typeof t!=="function"){throw new TypeError('"block" argument must be a function')}if(typeof r==="string"){n=r;r=null}a=D(t);n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:".");if(e&&!a){m(a,r,"Missing expected exception"+n)}var i=typeof n==="string";var s=!e&&o.isError(a);var u=!e&&a&&!r;if(s&&i&&_(a,r)||u){m(a,r,"Got unwanted exception"+n)}if(e&&a&&r&&!_(a,r)||!e&&a){throw a}}v.throws=function(e,t,r){C(true,e,t,r)};v.doesNotThrow=function(e,t,r){C(false,e,t,r)};v.ifError=function(e){if(e)throw e};function S(e,t){if(!e)m(e,true,t,"==",S)}v.strict=n(S,v,{equal:v.strictEqual,deepEqual:v.deepStrictEqual,notEqual:v.notStrictEqual,notDeepEqual:v.notDeepStrictEqual});v.strict.strict=v.strict;var T=Object.keys||function(e){var t=[];for(var r in e){if(s.call(e,r))t.push(r)}return t}}).call(this,r(6))},function(e,t,r){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT */var n=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty;var i=Object.prototype.propertyIsEnumerable;function o(e){if(e===null||e===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(e)}function s(){try{if(!Object.assign){return false}var e=new String("abc");e[5]="de";if(Object.getOwnPropertyNames(e)[0]==="5"){return false}var t={};for(var r=0;r<10;r++){t["_"+String.fromCharCode(r)]=r}var n=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if(n.join("")!=="0123456789"){return false}var a={};"abcdefghijklmnopqrst".split("").forEach((function(e){a[e]=e}));if(Object.keys(Object.assign({},a)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(e){return false}}e.exports=s()?Object.assign:function(e,t){var r;var s=o(e);var u;for(var l=1;lr){return 1}else{return 0}};var re=function e(t,r){return-1*te(t,r)};var ne=Object.assign!=null?Object.assign.bind(Object):function(e){var t=arguments;for(var r=1;r1)r-=1;if(r<1/6)return e+(t-e)*6*r;if(r<1/2)return t;if(r<2/3)return e+(t-e)*(2/3-r)*6;return e}var c=new RegExp("^"+Z+"$").exec(t);if(c){n=parseInt(c[1]);if(n<0){n=(360- -1*n%360)%360}else if(n>360){n=n%360}n/=360;a=parseFloat(c[2]);if(a<0||a>100){return}a=a/100;i=parseFloat(c[3]);if(i<0||i>100){return}i=i/100;o=c[4];if(o!==undefined){o=parseFloat(o);if(o<0||o>1){return}}if(a===0){s=u=l=Math.round(i*255)}else{var v=i<.5?i*(1+a):i+a-i*a;var d=2*i-v;s=Math.round(255*f(d,v,n+1/3));u=Math.round(255*f(d,v,n));l=Math.round(255*f(d,v,n-1/3))}r=[s,u,l,o]}return r};var oe=function e(t){var r;var n=new RegExp("^"+U+"$").exec(t);if(n){r=[];var a=[];for(var i=1;i<=3;i++){var o=n[i];if(o[o.length-1]==="%"){a[i]=true}o=parseFloat(o);if(a[i]){o=o/100*255}if(o<0||o>255){return}r.push(Math.floor(o))}var s=a[1]||a[2]||a[3];var u=a[1]&&a[2]&&a[3];if(s&&!u){return}var l=n[4];if(l!==undefined){l=parseFloat(l);if(l<0||l>1){return}r.push(l)}}return r};var se=function e(t){return le[t.toLowerCase()]};var ue=function e(t){return(C(t)?t:null)||se(t)||ae(t)||oe(t)||ie(t)};var le={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var fe=function e(t){var r=t.map;var n=t.keys;var a=n.length;for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:ye;var n=r;var a;for(;;){a=t.next();if(a.done){break}n=n*me+a.value|0}return n};var we=function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:ye;return r*me+t|0};var Ee=function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:be;return(r<<5)+r+t|0};var ke=function e(t,r){return t*2097152+r};var _e=function e(t){return t[0]*2097152+t[1]};var De=function e(t,r){return[we(t[0],r[0]),Ee(t[1],r[1])]};var Ce=function e(t,r){var n={value:0,done:false};var a=0;var i=t.length;var o={next:function e(){if(a=0;a--){if(t[a]===r){t.splice(a,1);if(!n){break}}}};var Ue=function e(t){t.splice(0,t.length)};var Ke=function e(t,r){for(var n=0;n0){var k=b.pop();var D=y(k);var C=k.id();d[C]=D;if(D===Infinity){continue}var T=k.neighborhood().intersect(p);for(var P=0;P0){n.unshift(r);while(v[i]){var o=v[i];n.unshift(o.edge);n.unshift(o.node);a=o.node;i=a.id()}}return u.spawn(n)}}}};var lt={kruskal:function e(t){t=t||function(e){return 1};var r=this.byGroup(),n=r.nodes,a=r.edges;var i=n.length;var o=new Array(i);var s=n;var u=function e(t){for(var r=0;r0){E();_++;if(w===c){var D=[];var C=i;var S=c;var T=m[S];for(;;){D.unshift(C);if(T!=null){D.unshift(T)}C=y[S];if(C==null){break}S=C.id();T=m[S]}return{found:true,distance:v[w],path:this.spawn(D),steps:_}}h[w]=true;var P=x._private.edges;for(var I=0;IT){h[S]=T;m[S]=C;b[S]=w}if(!i){var P=C*f+D;if(!i&&h[P]>T){h[P]=T;m[P]=D;b[P]=w}}}for(var I=0;I1&&arguments[1]!==undefined?arguments[1]:o;var a=b(t);var i=[];var s=a;for(;;){if(s==null){return r.spawn()}var l=m(s),f=l.edge,c=l.pred;i.unshift(s[0]);if(s.same(n)&&i.length>0){break}if(f!=null){i.unshift(f)}s=c}return u.spawn(i)};for(var E=0;E=0;f--){var c=l[f];var v=c[1];var d=c[2];if(r[v]===s&&r[d]===u||r[v]===u&&r[d]===s){l.splice(f,1)}}for(var h=0;ha){var i=Math.floor(Math.random()*r.length);r=yt(i,t,r);n--}return r};var bt={kargerStein:function e(){var t=this;var r=this.byGroup(),n=r.nodes,a=r.edges;a.unmergeBy((function(e){return e.isLoop()}));var i=n.length;var o=a.length;var s=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2));var u=Math.floor(i/gt);if(i<2){je("At least 2 nodes are required for Karger-Stein algorithm");return undefined}var l=[];for(var f=0;f1&&arguments[1]!==undefined?arguments[1]:0;var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:t.length;var e=Infinity;for(var a=r;a1&&arguments[1]!==undefined?arguments[1]:0;var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:t.length;var e=-Infinity;for(var a=r;a1&&arguments[1]!==undefined?arguments[1]:0;var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:t.length;var a=0;var i=0;for(var o=r;o1&&arguments[1]!==undefined?arguments[1]:0;var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:t.length;var a=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var i=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var o=arguments.length>5&&arguments[5]!==undefined?arguments[5]:true;if(a){t=t.slice(r,n)}else{if(n0){t.splice(0,r)}}var s=0;for(var u=t.length-1;u>=0;u--){var l=t[u];if(o){if(!isFinite(l)){t[u]=-Infinity;s++}}else{t.splice(u,1)}}if(i){t.sort((function(e,t){return e-t}))}var f=t.length;var c=Math.floor(f/2);if(f%2!==0){return t[c+1+s]}else{return(t[c-1+s]+t[c+s])/2}};var Tt=function e(t){return Math.PI*t/180};var Pt=function e(t,r){return Math.atan2(r,t)-Math.PI/2};var It=Math.log2||function(e){return Math.log(e)/Math.log(2)};var Mt=function e(t){if(t>0){return 1}else if(t<0){return-1}else{return 0}};var Ot=function e(t,r){return Math.sqrt(zt(t,r))};var zt=function e(t,r){var n=r.x-t.x;var a=r.y-t.y;return n*n+a*a};var Nt=function e(t){var r=t.length;var n=0;for(var a=0;a=t.x1&&t.y2>=t.y1){return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1}}else if(t.w!=null&&t.h!=null&&t.w>=0&&t.h>=0){return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}}};var Ft=function e(t){return{x1:t.x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h}};var Vt=function e(t){t.x1=Infinity;t.y1=Infinity;t.x2=-Infinity;t.y2=-Infinity;t.w=0;t.h=0};var qt=function e(t,r){t.x1=Math.min(t.x1,r.x1);t.x2=Math.max(t.x2,r.x2);t.w=t.x2-t.x1;t.y1=Math.min(t.y1,r.y1);t.y2=Math.max(t.y2,r.y2);t.h=t.y2-t.y1};var Gt=function e(t,r,n){t.x1=Math.min(t.x1,r);t.x2=Math.max(t.x2,r);t.w=t.x2-t.x1;t.y1=Math.min(t.y1,n);t.y2=Math.max(t.y2,n);t.h=t.y2-t.y1};var Yt=function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;t.x1-=r;t.x2+=r;t.y1-=r;t.y2+=r;t.w=t.x2-t.x1;t.h=t.y2-t.y1;return t};var Wt=function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[0];var n,a,i,o;if(r.length===1){n=a=i=o=r[0]}else if(r.length===2){n=i=r[0];o=a=r[1]}else if(r.length===4){var s=v(r,4);n=s[0];a=s[1];i=s[2];o=s[3]}t.x1-=o;t.x2+=a;t.y1-=n;t.y2+=i;t.w=t.x2-t.x1;t.h=t.y2-t.y1;return t};var Xt=function e(t,r){t.x1=r.x1;t.y1=r.y1;t.x2=r.x2;t.y2=r.y2;t.w=t.x2-t.x1;t.h=t.y2-t.y1};var $t=function e(t,r){t.x1+=r.x;t.x2+=r.x;t.y1+=r.y;t.y2+=r.y};var Ht=function e(t,r){if(t.x1>r.x2){return false}if(r.x1>t.x2){return false}if(t.x2r.y2){return false}if(r.y1>t.y2){return false}return true};var Ut=function e(t,r,n){return t.x1<=r&&r<=t.x2&&t.y1<=n&&n<=t.y2};var Kt=function e(t,r){return Ut(t,r.x,r.y)};var Zt=function e(t,r){return Ut(t,r.x1,r.y1)&&Ut(t,r.x2,r.y2)};var Qt=function e(t,r,n,a,i,o,s){var u=wr(i,o);var l=i/2;var f=o/2;var c;{var v=n-l+u-s;var d=a-f-s;var h=n+l-u+s;var p=d;c=hr(t,r,n,a,v,d,h,p,false);if(c.length>0){return c}}{var g=n+l+s;var y=a-f+u-s;var m=g;var b=a+f-u+s;c=hr(t,r,n,a,g,y,m,b,false);if(c.length>0){return c}}{var x=n-l+u-s;var w=a+f+s;var E=n+l-u+s;var k=w;c=hr(t,r,n,a,x,w,E,k,false);if(c.length>0){return c}}{var _=n-l-s;var D=a-f+u-s;var C=_;var S=a+f-u+s;c=hr(t,r,n,a,_,D,C,S,false);if(c.length>0){return c}}var T;{var P=n-l+u;var I=a-f+u;T=vr(t,r,n,a,P,I,u+s);if(T.length>0&&T[0]<=P&&T[1]<=I){return[T[0],T[1]]}}{var M=n+l-u;var O=a-f+u;T=vr(t,r,n,a,M,O,u+s);if(T.length>0&&T[0]>=M&&T[1]<=O){return[T[0],T[1]]}}{var z=n+l-u;var N=a+f-u;T=vr(t,r,n,a,z,N,u+s);if(T.length>0&&T[0]>=z&&T[1]>=N){return[T[0],T[1]]}}{var A=n-l+u;var B=a+f-u;T=vr(t,r,n,a,A,B,u+s);if(T.length>0&&T[0]<=A&&T[1]>=B){return[T[0],T[1]]}}return[]};var Jt=function e(t,r,n,a,i,o,s){var u=s;var l=Math.min(n,i);var f=Math.max(n,i);var c=Math.min(a,o);var v=Math.max(a,o);return l-u<=t&&t<=f+u&&c-u<=r&&r<=v+u};var er=function e(t,r,n,a,i,o,s,u,l){var f={x1:Math.min(n,s,i)-l,x2:Math.max(n,s,i)+l,y1:Math.min(a,u,o)-l,y2:Math.max(a,u,o)+l};if(tf.x2||rf.y2){return false}else{return true}};var tr=function e(t,r,n,a){n-=a;var i=r*r-4*t*n;if(i<0){return[]}var o=Math.sqrt(i);var s=2*t;var u=(-r+o)/s;var l=(-r-o)/s;return[u,l]};var rr=function e(t,r,n,a,i){var o=1e-5;if(t===0){t=o}r/=t;n/=t;a/=t;var s,u,l,f,c,v,d,h;u=(3*n-r*r)/9;l=-(27*a)+r*(9*n-2*(r*r));l/=54;s=u*u*u+l*l;i[1]=0;d=r/3;if(s>0){c=l+Math.sqrt(s);c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3);v=l-Math.sqrt(s);v=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3);i[0]=-d+c+v;d+=(c+v)/2;i[4]=i[2]=-d;d=Math.sqrt(3)*(-v+c)/2;i[3]=d;i[5]=-d;return}i[5]=i[3]=0;if(s===0){h=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3);i[0]=-d+2*h;i[4]=i[2]=-(h+d);return}u=-u;f=u*u*u;f=Math.acos(l/Math.sqrt(f));h=2*Math.sqrt(u);i[0]=-d+h*Math.cos(f/3);i[2]=-d+h*Math.cos((f+2*Math.PI)/3);i[4]=-d+h*Math.cos((f+4*Math.PI)/3);return};var nr=function e(t,r,n,a,i,o,s,u){var l=1*n*n-4*n*i+2*n*s+4*i*i-4*i*s+s*s+a*a-4*a*o+2*a*u+4*o*o-4*o*u+u*u;var f=1*9*n*i-3*n*n-3*n*s-6*i*i+3*i*s+9*a*o-3*a*a-3*a*u-6*o*o+3*o*u;var c=1*3*n*n-6*n*i+n*s-n*t+2*i*i+2*i*t-s*t+3*a*a-6*a*o+a*u-a*r+2*o*o+2*o*r-u*r;var v=1*n*i-n*n+n*t-i*t+a*o-a*a+a*r-o*r;var d=[];rr(l,f,c,v,d);var h=1e-7;var p=[];for(var g=0;g<6;g+=2){if(Math.abs(d[g+1])=0&&d[g]<=1){p.push(d[g])}}p.push(1);p.push(0);var y=-1;var m,b,x;for(var w=0;w=0){if(xl){return(t-i)*(t-i)+(r-o)*(r-o)}return f-v};var ir=function e(t,r,n){var a,i,o,s;var u;var l=0;for(var f=0;f=t&&t>=o||a<=t&&t<=o){u=(t-a)/(o-a)*(s-i)+i;if(u>r){l++}}else{continue}}if(l%2===0){return false}else{return true}};var or=function e(t,r,n,a,i,o,s,u,l){var f=new Array(n.length);var c;if(u[0]!=null){c=Math.atan(u[1]/u[0]);if(u[0]<0){c=c+Math.PI/2}else{c=-c-Math.PI/2}}else{c=u}var v=Math.cos(-c);var d=Math.sin(-c);for(var h=0;h0){var g=lr(f,-l);p=ur(g)}else{p=f}return ir(t,r,p)};var sr=function e(t,r,n,a,i,o,s){var u=new Array(n.length);var l=o/2;var f=s/2;var c=Er(o,s);var v=c*c;for(var d=0;d=0&&g<=1){m.push(g)}if(y>=0&&y<=1){m.push(y)}if(m.length===0){return[]}var b=m[0]*u[0]+t;var x=m[0]*u[1]+r;if(m.length>1){if(m[0]==m[1]){return[b,x]}else{var w=m[1]*u[0]+t;var E=m[1]*u[1]+r;return[b,x,w,E]}}else{return[b,x]}};var dr=function e(t,r,n){if(r<=t&&t<=n||n<=t&&t<=r){return t}else if(t<=r&&r<=n||n<=r&&r<=t){return r}else{return n}};var hr=function e(t,r,n,a,i,o,s,u,l){var f=t-i;var c=n-t;var v=s-i;var d=r-o;var h=a-r;var p=u-o;var g=v*d-p*f;var y=c*d-h*f;var m=p*c-v*h;if(m!==0){var b=g/m;var x=y/m;var w=.001;var E=0-w;var k=1+w;if(E<=b&&b<=k&&E<=x&&x<=k){return[t+b*c,r+b*h]}else{if(!l){return[]}else{return[t+b*c,r+b*h]}}}else{if(g===0||y===0){if(dr(t,n,s)===s){return[s,u]}if(dr(t,n,i)===i){return[i,o]}if(dr(i,s,n)===n){return[n,a]}return[]}else{return[]}}};var pr=function e(t,r,n,a,i,o,s,u){var l=[];var f;var c=new Array(n.length);var v=true;if(o==null){v=false}var d;if(v){for(var h=0;h0){var p=lr(c,-u);d=ur(p)}else{d=c}}else{d=n}var g,y,m,b;for(var x=0;x2){var O=[l[0],l[1]];var z=Math.pow(O[0]-t,2)+Math.pow(O[1]-r,2);for(var N=1;Nc){c=r}},get:function e(t){return f[t]}};for(var d=0;d0){w=x.edgesTo(b)[0]}else{w=b.edgesTo(x)[0]}var E=a(w);b=b.id();if(d[b]>d[y]+E){d[b]=d[y]+E;if(h.nodes.indexOf(b)<0){h.push(b)}else{h.updateItem(b)}c[b]=0;f[b]=[]}if(d[b]==d[y]+E){c[b]=c[b]+c[y];f[b].push(y)}}}else{for(var k=0;k0){var S=n.pop();for(var T=0;T0){s.push(n[u])}}if(s.length!==0){i.push(a.collection(s))}}return i};var Yr=function e(t,r){for(var n=0;n5&&arguments[5]!==undefined?arguments[5]:Hr;var s=a;var u,l;for(var f=0;f=2){return en(t,r,n,0,Zr,Qr)}else{return en(t,r,n,0,Kr)}},squaredEuclidean:function e(t,r,n){return en(t,r,n,0,Zr)},manhattan:function e(t,r,n){return en(t,r,n,0,Kr)},max:function e(t,r,n){return en(t,r,n,-Infinity,Jr)}};tn["squared-euclidean"]=tn["squaredEuclidean"];tn["squaredeuclidean"]=tn["squaredEuclidean"];function rn(e,t,r,n,a,i){var o;if(D(e)){o=e}else{o=tn[e]||tn.euclidean}if(t===0&&D(e)){return o(a,i)}else{return o(t,r,n,a,i)}}var nn=$e({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:false,testCentroids:null});var an=function e(t){return nn(t)};var on=function e(t,r,n,a,i){var o=i!=="kMedoids";var s=o?function(e){return n[e]}:function(e){return a[e](n)};var u=function e(t){return a[t](r)};var l=n;var f=r;return rn(t,a.length,s,u,l,f)};var sn=function e(t,r,n){var a=n.length;var i=new Array(a);var o=new Array(a);var s=new Array(r);var u=null;for(var l=0;ln){return false}}}return true};var vn=function e(t,r,n){for(var a=0;as){s=r[l][f];u=f}}i[u].push(t[l])}for(var c=0;c=i.threshold||i.mode==="dendrogram"&&t.length===1){return false}var h=r[o];var p=r[a[o]];var g;if(i.mode==="dendrogram"){g={left:h,right:p,key:h.key}}else{g={value:h.value.concat(p.value),key:h.key}}t[h.index]=g;t.splice(p.index,1);r[h.key]=g;for(var y=0;yn[p.key][m.key]){u=n[p.key][m.key]}}else if(i.linkage==="max"){u=n[h.key][m.key];if(n[h.key][m.key]0){a.push(i)}}return a};var Bn=function e(t,r,n){var a=[];for(var i=0;is){o=l;s=r[i*t+l]}}if(o>0){a.push(o)}}for(var f=0;fl){u=f;l=c}}n[i]=o[u]}a=Bn(t,r,n);return a};var jn=function e(t){var r=this.cy();var n=this.nodes();var a=On(t);var i={};for(var o=0;o=S){T=S;S=I;P=M}else if(I>T){T=I}}for(var O=0;O0?1:0;k[D%a.minIterations*s+j]=R;L+=R}if(L>0&&(D>=a.minIterations-1||D==a.maxIterations-1)){var F=0;for(var V=0;V1||a>1){s=true}c[t]=[];e.outgoers().forEach((function(e){if(e.isEdge())c[t].push(e.id())}))}else{v[t]=[undefined,e.target().id()]}}))}else{o.forEach((function(e){var t=e.id();if(e.isNode()){var r=e.degree(true);if(r%2){if(!u)u=t;else if(!l)l=t;else s=true}c[t]=[];e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))}else{v[t]=[e.source().id(),e.target().id()]}}))}var d={found:false,trail:undefined};if(s)return d;else if(l&&u){if(i){if(f&&l!=f){return d}f=l}else{if(f&&l!=f&&u!=f){return d}else if(!f){f=l}}}else{if(!f)f=o[0].id()}var h=function e(t){var r=t;var n=[t];var a,o,s;while(c[r].length){a=c[r].shift();o=v[a][0];s=v[a][1];if(r!=s){c[s]=c[s].filter((function(e){return e!=a}));r=s}else if(!i&&r!=o){c[o]=c[o].filter((function(e){return e!=a}));r=o}n.unshift(a);n.unshift(r)}return n};var p=[];var g=[];g=h(f);while(g.length!=1){if(c[g[0]].length==0){p.unshift(o.getElementById(g.shift()));p.unshift(o.getElementById(g.shift()))}else{g=h(g.shift()).concat(g)}}p.unshift(o.getElementById(g.shift()));for(var y in c){if(c[y].length){return d}}d.found=true;d.trail=this.spawn(p);return d}};var qn=function e(){var t=this;var r={};var n=0;var a=0;var i=[];var o=[];var s={};var u=function e(n,a){var s=o.length-1;var u=[];var l=t.spawn();while(o[s].x!=n||o[s].y!=a){u.push(o.pop().edge);s--}u.push(o.pop().edge);u.forEach((function(e){var n=e.connectedNodes().intersection(t);l.merge(e);n.forEach((function(e){var n=e.id();var a=e.connectedEdges().intersection(t);l.merge(e);if(!r[n].cutVertex){l.merge(a)}else{l.merge(a.filter((function(e){return e.isLoop()})))}}))}));i.push(l)};var l=function e(l,f,c){if(l===c)a+=1;r[f]={id:n,low:n++,cutVertex:false};var v=t.getElementById(f).connectedEdges().intersection(t);if(v.size()===0){i.push(t.spawn(t.getElementById(f)))}else{var d,h,p,g;v.forEach((function(t){d=t.source().id();h=t.target().id();p=d===f?h:d;if(p!==c){g=t.id();if(!s[g]){s[g]=true;o.push({x:f,y:p,edge:t})}if(!(p in r)){e(l,p,f);r[f].low=Math.min(r[f].low,r[p].low);if(r[f].id<=r[p].low){r[f].cutVertex=true;u(f,p)}}else{r[f].low=Math.min(r[f].low,r[p].id)}}}))}};t.forEach((function(e){if(e.isNode()){var t=e.id();if(!(t in r)){a=0;l(t,t);r[t].cutVertex=a>1}}}));var f=Object.keys(r).filter((function(e){return r[e].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(f),components:i}};var Gn={hopcroftTarjanBiconnected:qn,htbc:qn,htb:qn,hopcroftTarjanBiconnectedComponents:qn};var Yn=function e(){var t=this;var r={};var n=0;var a=[];var i=[];var o=t.spawn(t);var s=function e(s){i.push(s);r[s]={index:n,low:n++,explored:false};var u=t.getElementById(s).connectedEdges().intersection(t);u.forEach((function(t){var n=t.target().id();if(n!==s){if(!(n in r)){e(n)}if(!r[n].explored){r[s].low=Math.min(r[s].low,r[n].low)}}}));if(r[s].index===r[s].low){var l=t.spawn();for(;;){var f=i.pop();l.merge(t.getElementById(f));r[f].low=r[s].index;r[f].explored=true;if(f===s){break}}var c=l.edgesWith(l);var v=l.merge(c);a.push(v);o=o.difference(v)}};t.forEach((function(e){if(e.isNode()){var t=e.id();if(!(t in r)){s(t)}}}));return{cut:o,components:a}};var Wn={tarjanStronglyConnected:Yn,tsc:Yn,tscc:Yn,tarjanStronglyConnectedComponents:Yn};var Xn={};[ot,ut,lt,ct,dt,pt,bt,Sr,Pr,Mr,zr,$r,wn,In,Rn,Vn,Gn,Wn].forEach((function(e){ne(Xn,e)})); /*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) Licensed under The MIT License (http://opensource.org/licenses/MIT) */var $n=0;var Hn=1;var Un=2;var Kn=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7";this.state=$n;this.fulfillValue=undefined;this.rejectReason=undefined;this.onFulfilled=[];this.onRejected=[];this.proxy={then:this.then.bind(this)};if(typeof t==="function")t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Kn.prototype={fulfill:function e(t){return Zn(this,Hn,"fulfillValue",t)},reject:function e(t){return Zn(this,Un,"rejectReason",t)},then:function e(t,r){var n=this;var a=new Kn;n.onFulfilled.push(ea(t,a,"fulfill"));n.onRejected.push(ea(r,a,"reject"));Qn(n);return a.proxy}};var Zn=function e(t,r,n,a){if(t.state===$n){t.state=r;t[n]=a;Qn(t)}return t};var Qn=function e(t){if(t.state===Hn)Jn(t,"onFulfilled",t.fulfillValue);else if(t.state===Un)Jn(t,"onRejected",t.rejectReason)};var Jn=function e(t,r,a){if(t[r].length===0)return;var i=t[r];t[r]=[];var o=function e(){for(var t=0;t0}}},clearQueue:function e(){return function e(){var t=this;var r=t.length!==undefined;var n=r?t:[t];var a=this._private.cy||this;if(!a.styleEnabled()){return this}for(var i=0;i0){this.spawn(a).updateStyle().emit("class")}return r},addClass:function e(t){return this.toggleClass(t,true)},hasClass:function e(t){var r=this[0];return r!=null&&r._private.classes.has(t)},toggleClass:function e(t,r){if(!C(t)){t=t.match(/\S+/g)||[]}var n=this;var a=r===undefined;var i=[];for(var o=0,s=n.length;o0){this.spawn(i).updateStyle().emit("class")}return n},removeClass:function e(t){return this.toggleClass(t,false)},flashClass:function e(t,r){var n=this;if(r==null){r=250}else if(r===0){return n}n.addClass(t);setTimeout((function(){n.removeClass(t)}),r);return n}};fa.className=fa.classNames=fa.classes;var ca={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:'"(?:\\\\"|[^"])*"'+"|"+"'(?:\\\\'|[^'])*'",number:H,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ca.variable="(?:[\\w-]|(?:\\\\"+ca.metaChar+"))+";ca.value=ca.string+"|"+ca.number;ca.className=ca.variable;ca.id=ca.variable;(function(){var e,t,r;e=ca.comparatorOp.split("|");for(r=0;r=0){continue}if(t==="="){continue}ca.comparatorOp+="|\\!"+t}})();var va=function e(){return{checks:[]}};var da={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20};var ha=[{selector:":selected",matches:function e(t){return t.selected()}},{selector:":unselected",matches:function e(t){return!t.selected()}},{selector:":selectable",matches:function e(t){return t.selectable()}},{selector:":unselectable",matches:function e(t){return!t.selectable()}},{selector:":locked",matches:function e(t){return t.locked()}},{selector:":unlocked",matches:function e(t){return!t.locked()}},{selector:":visible",matches:function e(t){return t.visible()}},{selector:":hidden",matches:function e(t){return!t.visible()}},{selector:":transparent",matches:function e(t){return t.transparent()}},{selector:":grabbed",matches:function e(t){return t.grabbed()}},{selector:":free",matches:function e(t){return!t.grabbed()}},{selector:":removed",matches:function e(t){return t.removed()}},{selector:":inside",matches:function e(t){return!t.removed()}},{selector:":grabbable",matches:function e(t){return t.grabbable()}},{selector:":ungrabbable",matches:function e(t){return!t.grabbable()}},{selector:":animated",matches:function e(t){return t.animated()}},{selector:":unanimated",matches:function e(t){return!t.animated()}},{selector:":parent",matches:function e(t){return t.isParent()}},{selector:":childless",matches:function e(t){return t.isChildless()}},{selector:":child",matches:function e(t){return t.isChild()}},{selector:":orphan",matches:function e(t){return t.isOrphan()}},{selector:":nonorphan",matches:function e(t){return t.isChild()}},{selector:":compound",matches:function e(t){if(t.isNode()){return t.isParent()}else{return t.source().isParent()||t.target().isParent()}}},{selector:":loop",matches:function e(t){return t.isLoop()}},{selector:":simple",matches:function e(t){return t.isSimple()}},{selector:":active",matches:function e(t){return t.active()}},{selector:":inactive",matches:function e(t){return!t.active()}},{selector:":backgrounding",matches:function e(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function e(t){return!t.backgrounding()}}].sort((function(e,t){return re(e.selector,t.selector)}));var pa=function(){var e={};var t;for(var r=0;r0&&f.edgeCount>0){Fe("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector");return false}if(f.edgeCount>1){Fe("The selector `"+t+"` is invalid because it uses multiple edge selectors");return false}else if(f.edgeCount===1){Fe("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}}return true};var _a=function e(){if(this.toStringCache!=null){return this.toStringCache}var t=function e(t){if(t==null){return""}else{return t}};var r=function e(r){if(_(r)){return'"'+r+'"'}else{return t(r)}};var n=function e(t){return" "+t+" "};var a=function e(a,o){var s=a.type,u=a.value;switch(s){case da.GROUP:{var l=t(u);return l.substring(0,l.length-1)}case da.DATA_COMPARE:{var f=a.field,c=a.operator;return"["+f+n(t(c))+r(u)+"]"}case da.DATA_BOOL:{var v=a.operator,d=a.field;return"["+t(v)+d+"]"}case da.DATA_EXIST:{var h=a.field;return"["+h+"]"}case da.META_COMPARE:{var p=a.operator,g=a.field;return"[["+g+n(t(p))+r(u)+"]]"}case da.STATE:{return u}case da.ID:{return"#"+u}case da.CLASS:{return"."+u}case da.PARENT:case da.CHILD:{return i(a.parent,o)+n(">")+i(a.child,o)}case da.ANCESTOR:case da.DESCENDANT:{return i(a.ancestor,o)+" "+i(a.descendant,o)}case da.COMPOUND_SPLIT:{var y=i(a.left,o);var m=i(a.subject,o);var b=i(a.right,o);return y+(y.length>0?" ":"")+m+b}case da.TRUE:{return""}}};var i=function e(t,r){return t.checks.reduce((function(e,n,i){return e+(r===t&&i===0?"$":"")+a(n,r)}),"")};var o="";for(var s=0;s1&&s=0){r=r.replace("!","");c=true}if(r.indexOf("@")>=0){r=r.replace("@","");f=true}if(i||s||f){u=!i&&!o?"":""+t;l=""+n}if(f){t=u=u.toLowerCase();n=l=l.toLowerCase()}switch(r){case"*=":a=u.indexOf(l)>=0;break;case"$=":a=u.indexOf(l,u.length-l.length)>=0;break;case"^=":a=u.indexOf(l)===0;break;case"=":a=t===n;break;case">":v=true;a=t>n;break;case">=":v=true;a=t>=n;break;case"<":v=true;a=t0){var f=a.shift();t(f);i.add(f.id());if(s){n(a,i,f)}}return e}function qa(e,t,r){if(r.isParent()){var n=r._private.children;for(var a=0;a1&&arguments[1]!==undefined?arguments[1]:true;return Va(this,e,t,qa)};function Ga(e,t,r){if(r.isChild()){var n=r._private.parent;if(!t.has(n.id())){e.push(n)}}}Fa.forEachUp=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return Va(this,e,t,Ga)};function Ya(e,t,r){Ga(e,t,r);qa(e,t,r)}Fa.forEachUpAndDown=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return Va(this,e,t,Ya)};Fa.ancestors=Fa.parents;var Wa,Xa;Wa=Xa={data:ua.data({field:"data",bindingEvent:"data",allowBinding:true,allowSetting:true,settingEvent:"data",settingTriggersEvent:true,triggerFnName:"trigger",allowGetting:true,immutableKeys:{id:true,source:true,target:true,parent:true},updateStyle:true}),removeData:ua.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:true,immutableKeys:{id:true,source:true,target:true,parent:true},updateStyle:true}),scratch:ua.data({field:"scratch",bindingEvent:"scratch",allowBinding:true,allowSetting:true,settingEvent:"scratch",settingTriggersEvent:true,triggerFnName:"trigger",allowGetting:true,updateStyle:true}),removeScratch:ua.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:true,updateStyle:true}),rscratch:ua.data({field:"rscratch",allowBinding:false,allowSetting:true,settingTriggersEvent:false,allowGetting:true}),removeRscratch:ua.removeData({field:"rscratch",triggerEvent:false}),id:function e(){var t=this[0];if(t){return t._private.data.id}}};Wa.attr=Wa.data;Wa.removeAttr=Wa.removeData;var $a=Xa;var Ha={};function Ua(e){return function(t){var r=this;if(t===undefined){t=true}if(r.length===0){return}if(r.isNode()&&!r.removed()){var n=0;var a=r[0];var i=a._private.edges;for(var o=0;ot})),minIndegree:Ka("indegree",(function(e,t){return et})),minOutdegree:Ka("outdegree",(function(e,t){return et}))});ne(Ha,{totalDegree:function e(t){var r=0;var n=this.nodes();for(var a=0;a0;var v=c;if(c){f=f[0]}var d=v?f.position():{x:0,y:0};if(r!==undefined){l.position(t,r+d[t])}else if(i!==undefined){l.position({x:i.x+d.x,y:i.y+d.y})}}}else{var h=n.position();var p=s?n.parent():null;var g=p&&p.length>0;var y=g;if(g){p=p[0]}var m=y?p.position():{x:0,y:0};i={x:h.x-m.x,y:h.y-m.y};if(t===undefined){return i}else{return i[t]}}}else if(!o){return undefined}return this}};Za.modelPosition=Za.point=Za.position;Za.modelPositions=Za.points=Za.positions;Za.renderedPoint=Za.renderedPosition;Za.relativePoint=Za.relativePosition;var ti=Qa;var ri,ni;ri=ni={};ni.renderedBoundingBox=function(e){var t=this.boundingBox(e);var r=this.cy();var n=r.zoom();var a=r.pan();var i=t.x1*n+a.x;var o=t.x2*n+a.x;var s=t.y1*n+a.y;var u=t.y2*n+a.y;return{x1:i,x2:o,y1:s,y2:u,w:o-i,h:u-s}};ni.dirtyCompoundBoundsCache=function(){var e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes()){return this}this.forEachUp((function(e){if(e.isParent()){var t=e._private;t.compoundBoundsClean=false;t.bbCache=null;e.emitAndNotify("bounds")}}));return this};ni.updateCompoundBounds=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()){return this}if(!e&&t.batching()){return this}function r(e){if(!e.isParent()){return}var t=e._private;var r=e.children();var n=e.pstyle("compound-sizing-wrt-labels").value==="include";var a={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}};var i=r.boundingBox({includeLabels:n,includeOverlays:false,useCache:false});var o=t.position;if(i.w===0||i.h===0){i={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue};i.x1=o.x-i.w/2;i.x2=o.x+i.w/2;i.y1=o.y-i.h/2;i.y2=o.y+i.h/2}function s(e,t,r){var n=0;var a=0;var i=t+r;if(e>0&&i>0){n=t/i*e;a=r/i*e}return{biasDiff:n,biasComplementDiff:a}}function u(e,t,r,n){if(r.units==="%"){switch(n){case"width":return e>0?r.pfValue*e:0;case"height":return t>0?r.pfValue*t:0;case"average":return e>0&&t>0?r.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?r.pfValue*t:r.pfValue*e:0;case"max":return e>0&&t>0?e>t?r.pfValue*e:r.pfValue*t:0;default:return 0}}else if(r.units==="px"){return r.pfValue}else{return 0}}var l=a.width.left.value;if(a.width.left.units==="px"&&a.width.val>0){l=l*100/a.width.val}var f=a.width.right.value;if(a.width.right.units==="px"&&a.width.val>0){f=f*100/a.width.val}var c=a.height.top.value;if(a.height.top.units==="px"&&a.height.val>0){c=c*100/a.height.val}var v=a.height.bottom.value;if(a.height.bottom.units==="px"&&a.height.val>0){v=v*100/a.height.val}var d=s(a.width.val-i.w,l,f);var h=d.biasDiff;var p=d.biasComplementDiff;var g=s(a.height.val-i.h,c,v);var y=g.biasDiff;var m=g.biasComplementDiff;t.autoPadding=u(i.w,i.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value);t.autoWidth=Math.max(i.w,a.width.val);o.x=(-h+i.x1+i.x2+p)/2;t.autoHeight=Math.max(i.h,a.height.val);o.y=(-y+i.y1+i.y2+m)/2}for(var n=0;nt.x2?a:t.x2;t.y1=nt.y2?i:t.y2;t.w=t.x2-t.x1;t.h=t.y2-t.y1};var oi=function e(t,r){if(r==null){return t}return ii(t,r.x1,r.y1,r.x2,r.y2)};var si=function e(t,r,n){return Ze(t,r,n)};var ui=function e(t,r,n){if(r.cy().headless()){return}var a=r._private;var i=a.rstyle;var o=i.arrowWidth/2;var s=r.pstyle(n+"-arrow-shape").value;var u;var l;if(s!=="none"){if(n==="source"){u=i.srcX;l=i.srcY}else if(n==="target"){u=i.tgtX;l=i.tgtY}else{u=i.midX;l=i.midY}var f=a.arrowBounds=a.arrowBounds||{};var c=f[n]=f[n]||{};c.x1=u-o;c.y1=l-o;c.x2=u+o;c.y2=l+o;c.w=c.x2-c.x1;c.h=c.y2-c.y1;Yt(c,1);ii(t,c.x1,c.y1,c.x2,c.y2)}};var li=function e(t,r,n){if(r.cy().headless()){return}var a;if(n){a=n+"-"}else{a=""}var i=r._private;var o=i.rstyle;var s=r.pstyle(a+"label").strValue;if(s){var u=r.pstyle("text-halign");var l=r.pstyle("text-valign");var f=si(o,"labelWidth",n);var c=si(o,"labelHeight",n);var v=si(o,"labelX",n);var d=si(o,"labelY",n);var h=r.pstyle(a+"text-margin-x").pfValue;var p=r.pstyle(a+"text-margin-y").pfValue;var g=r.isEdge();var y=r.pstyle(a+"text-rotation");var m=r.pstyle("text-outline-width").pfValue;var b=r.pstyle("text-border-width").pfValue;var x=b/2;var w=r.pstyle("text-background-padding").pfValue;var E=c;var k=f;var _=k/2;var D=E/2;var C,S,T,P;if(g){C=v-_;S=v+_;T=d-D;P=d+D}else{switch(u.value){case"left":C=v-k;S=v;break;case"center":C=v-_;S=v+_;break;case"right":C=v;S=v+k;break}switch(l.value){case"top":T=d-E;P=d;break;case"center":T=d-D;P=d+D;break;case"bottom":T=d;P=d+E;break}}C+=h-Math.max(m,x)-w;S+=h+Math.max(m,x)+w;T+=p-Math.max(m,x)-w;P+=p+Math.max(m,x)+w;var I=n||"main";var M=i.labelBounds;var O=M[I]=M[I]||{};O.x1=C;O.y1=T;O.x2=S;O.y2=P;O.w=S-C;O.h=P-T;Yt(O,1);var z=g&&y.strValue==="autorotate";var N=y.pfValue!=null&&y.pfValue!==0;if(z||N){var A=z?si(i.rstyle,"labelAngle",n):y.pfValue;var B=Math.cos(A);var L=Math.sin(A);var j=(C+S)/2;var R=(T+P)/2;if(!g){switch(u.value){case"left":j=S;break;case"right":j=C;break}switch(l.value){case"top":R=P;break;case"bottom":R=T;break}}var F=function e(t,r){t=t-j;r=r-R;return{x:t*B-r*L+j,y:t*L+r*B+R}};var V=F(C,T);var q=F(C,P);var G=F(S,T);var Y=F(S,P);C=Math.min(V.x,q.x,G.x,Y.x);S=Math.max(V.x,q.x,G.x,Y.x);T=Math.min(V.y,q.y,G.y,Y.y);P=Math.max(V.y,q.y,G.y,Y.y)}var W=I+"Rot";var X=M[W]=M[W]||{};X.x1=C;X.y1=T;X.x2=S;X.y2=P;X.w=S-C;X.h=P-T;ii(t,C,T,S,P);ii(i.labelBounds.all,C,T,S,P)}return t};var fi=function e(t,r){var n=t._private.cy;var a=n.styleEnabled();var i=n.headless();var o=Rt();var s=t._private;var u=t.isNode();var l=t.isEdge();var f,c,v,d;var h,p;var g=s.rstyle;var y=u&&a?t.pstyle("bounds-expansion").pfValue:[0];var m=function e(t){return t.pstyle("display").value!=="none"};var b=!a||m(t)&&(!l||m(t.source())&&m(t.target()));if(b){var x=0;var w=0;if(a&&r.includeOverlays){x=t.pstyle("overlay-opacity").value;if(x!==0){w=t.pstyle("overlay-padding").value}}var E=0;var k=0;if(a){E=t.pstyle("width").pfValue;k=E/2}if(u&&r.includeNodes){var _=t.position();h=_.x;p=_.y;var D=t.outerWidth();var C=D/2;var S=t.outerHeight();var T=S/2;f=h-C;c=h+C;v=p-T;d=p+T;ii(o,f,v,c,d)}else if(l&&r.includeEdges){if(a&&!i){var P=t.pstyle("curve-style").strValue;f=Math.min(g.srcX,g.midX,g.tgtX);c=Math.max(g.srcX,g.midX,g.tgtX);v=Math.min(g.srcY,g.midY,g.tgtY);d=Math.max(g.srcY,g.midY,g.tgtY);f-=k;c+=k;v-=k;d+=k;ii(o,f,v,c,d);if(P==="haystack"){var I=g.haystackPts;if(I&&I.length===2){f=I[0].x;v=I[0].y;c=I[1].x;d=I[1].y;if(f>c){var M=f;f=c;c=M}if(v>d){var O=v;v=d;d=O}ii(o,f-k,v-k,c+k,d+k)}}else if(P==="bezier"||P==="unbundled-bezier"||P==="segments"||P==="taxi"){var z;switch(P){case"bezier":case"unbundled-bezier":z=g.bezierPts;break;case"segments":case"taxi":z=g.linePts;break}if(z!=null){for(var N=0;Nc){var F=f;f=c;c=F}if(v>d){var V=v;v=d;d=V}f-=k;c+=k;v-=k;d+=k;ii(o,f,v,c,d)}}if(a&&r.includeEdges&&l){ui(o,t,"mid-source");ui(o,t,"mid-target");ui(o,t,"source");ui(o,t,"target")}if(a){var q=t.pstyle("ghost").value==="yes";if(q){var G=t.pstyle("ghost-offset-x").pfValue;var Y=t.pstyle("ghost-offset-y").pfValue;ii(o,o.x1+G,o.y1+Y,o.x2+G,o.y2+Y)}}var W=s.bodyBounds=s.bodyBounds||{};Xt(W,o);Wt(W,y);Yt(W,1);if(a){f=o.x1;c=o.x2;v=o.y1;d=o.y2;ii(o,f-w,v-w,c+w,d+w)}var X=s.overlayBounds=s.overlayBounds||{};Xt(X,o);Wt(X,y);Yt(X,1);var $=s.labelBounds=s.labelBounds||{};if($.all!=null){Vt($.all)}else{$.all=Rt()}if(a&&r.includeLabels){if(r.includeMainLabels){li(o,t,null)}if(l){if(r.includeSourceLabels){li(o,t,"source")}if(r.includeTargetLabels){li(o,t,"target")}}}}o.x1=ai(o.x1);o.y1=ai(o.y1);o.x2=ai(o.x2);o.y2=ai(o.y2);o.w=ai(o.x2-o.x1);o.h=ai(o.y2-o.y1);if(o.w>0&&o.h>0&&b){Wt(o,y);Yt(o,1)}return o};var ci=function e(t){var r=0;var n=function e(t){return(t?1:0)<0&&arguments[0]!==undefined?arguments[0]:Vi;var t=arguments.length>1?arguments[1]:undefined;for(var r=0;r=0;s--){o(s)}return this};Gi.removeAllListeners=function(){return this.removeListener("*")};Gi.emit=Gi.trigger=function(e,t,r){var n=this.listeners;var a=n.length;this.emitting++;if(!C(t)){t=[t]}Xi(this,(function(e,i){if(r!=null){n=[{event:i.event,type:i.type,namespace:i.namespace,callback:r}];a=n.length}var o=function r(a){var o=n[a];if(o.type===i.type&&(!o.namespace||o.namespace===i.namespace||o.namespace===ji)&&e.eventMatches(e.context,o,i)){var s=[i];if(t!=null){Ke(s,t)}e.beforeEmit(e.context,o,i);if(o.conf&&o.conf.one){e.listeners=e.listeners.filter((function(e){return e!==o}))}var u=e.callbackContext(e.context,o,i);var l=o.callback.apply(u,s);e.afterEmit(e.context,o,i);if(l===false){i.stopPropagation();i.preventDefault()}}};for(var s=0;s1&&!o){var s=this.length-1;var u=this[s];var l=u._private.data.id;this[s]=undefined;this[t]=u;i.set(l,{ele:u,index:t})}this.length--;return this},unmergeOne:function e(t){t=t[0];var r=this._private;var n=t._private.data.id;var a=r.map;var i=a.get(n);if(!i){return this}var o=i.index;this.unmergeAt(o);return this},unmerge:function e(t){var r=this._private.cy;if(!t){return this}if(t&&_(t)){var n=t;t=r.mutableElements().filter(n)}for(var a=0;a=0;r--){var n=this[r];if(t(n)){this.unmergeAt(r)}}return this},map:function e(t,r){var n=[];var a=this;for(var i=0;ie){e=s;n=o}}return{value:e,ele:n}},min:function e(t,r){var e=Infinity;var n;var a=this;for(var i=0;i=0&&i1&&arguments[1]!==undefined?arguments[1]:true;var n=this[0];var a=n.cy();if(!a.styleEnabled()){return}if(n){var i=n._private.style[t];if(i!=null){return i}else if(r){return a.style().getDefaultProperty(t)}else{return null}}},numericStyle:function e(t){var r=this[0];if(!r.cy().styleEnabled()){return}if(r){var n=r.pstyle(t);return n.pfValue!==undefined?n.pfValue:n.value}},numericStyleUnits:function e(t){var r=this[0];if(!r.cy().styleEnabled()){return}if(r){return r.pstyle(t).units}},renderedStyle:function e(t){var r=this.cy();if(!r.styleEnabled()){return this}var n=this[0];if(n){return r.style().getRenderedStyle(n,t)}},style:function e(t,r){var n=this.cy();if(!n.styleEnabled()){return this}var a=false;var e=n.style();if(S(t)){var i=t;e.applyBypass(this,i,a);this.emitAndNotify("style")}else if(_(t)){if(r===undefined){var o=this[0];if(o){return e.getStylePropertyValue(o,t)}else{return}}else{e.applyBypass(this,t,r,a);this.emitAndNotify("style")}}else if(t===undefined){var s=this[0];if(s){return e.getRawStyle(s)}else{return}}return this},removeStyle:function e(t){var r=this.cy();if(!r.styleEnabled()){return this}var n=false;var a=r.style();var i=this;if(t===undefined){for(var o=0;o0){t.push(f[0])}t.push(s[0])}}return this.spawn(t,{unique:true}).filter(e)}),"neighborhood"),closedNeighborhood:function e(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function e(t){return this.neighborhood(t)}});bo.neighbourhood=bo.neighborhood;bo.closedNeighbourhood=bo.closedNeighborhood;bo.openNeighbourhood=bo.openNeighborhood;ne(bo,{source:Ra((function e(t){var r=this[0];var n;if(r){n=r._private.source||r.cy().collection()}return n&&t?n.filter(t):n}),"source"),target:Ra((function e(t){var r=this[0];var n;if(r){n=r._private.target||r.cy().collection()}return n&&t?n.filter(t):n}),"target"),sources:ko({attr:"source"}),targets:ko({attr:"target"})});function ko(e){return function t(r){var n=[];for(var a=0;a0);return e},component:function e(){var t=this[0];return t.cy().mutableElements().components(t)[0]}});bo.componentsOf=bo.components;var Co={generate:function e(t,r,n){var a=n!=null?n:Ye();while(t.hasElementWithId(a)){a=Ye()}return a}};var So=function e(t,r,n){if(t===undefined||!A(t)){je("A collection must have a reference to the core");return}var a=new et;var i=false;if(!r){r=[]}else if(r.length>0&&S(r[0])&&!z(r[0])){i=true;var o=[];var s=new nt;for(var u=0,l=r.length;u0&&arguments[0]!==undefined?arguments[0]:true;var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var r=this;var n=r.cy();var a=n._private;var i=[];var o=[];var s;for(var u=0,l=r.length;u0){var L=new So(n,s);for(var R=0;R0&&arguments[0]!==undefined?arguments[0]:true;var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var r=this;var n=[];var a={};var i=r._private.cy;function o(e){var t=e._private.edges;for(var r=0;r0){if(e){S.emitAndNotify("remove")}else if(t){S.emit("remove")}}for(var T=0;T0){a=u}else{n=u}}while(Math.abs(i)>o&&++l=i){return m(t,f)}else if(c===0){return f}else{return x(t,n,n+l)}}var E=false;function k(){E=true;if(e!==t||r!==n){b()}}var _=function a(i){if(!E){k()}if(e===t&&r===n){return i}if(i===0){return 0}if(i===1){return 1}return g(w(i),t,n)};_.getControlPoints=function(){return[{x:e,y:t},{x:r,y:n}]};var D="generateBezier("+[e,t,r,n]+")";_.toString=function(){return D};return _} /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var Mo=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,n){var a={x:t.x+n.dx*r,v:t.v+n.dv*r,tension:t.tension,friction:t.friction};return{dx:a.v,dv:e(a)}}function r(r,n){var a={dx:r.v,dv:e(r)},i=t(r,n*.5,a),o=t(r,n*.5,i),s=t(r,n,o),u=1/6*(a.dx+2*(i.dx+o.dx)+s.dx),l=1/6*(a.dv+2*(i.dv+o.dv)+s.dv);r.x=r.x+u*n;r.v=r.v+l*n;return r}return function e(t,n,a){var i={x:-1,v:0,tension:null,friction:null},o=[0],s=0,u=1/1e4,l=16/1e3,f,c,v;t=parseFloat(t)||500;n=parseFloat(n)||20;a=a||null;i.tension=t;i.friction=n;f=a!==null;if(f){s=e(t,n);c=s/a*l}else{c=l}for(;;){v=r(v||i,c);o.push(1+v.x);s+=16;if(!(Math.abs(v.x)>u&&Math.abs(v.v)>u)){break}}return!f?s:function(e){return o[e*(o.length-1)|0]}}}();var Oo=function e(t,r,n,a){var i=Io(t,r,n,a);return function(e,t,r){return e+(t-e)*i(r)}};var zo={linear:function e(t,r,n){return t+(r-t)*n},ease:Oo(.25,.1,.25,1),"ease-in":Oo(.42,0,1,1),"ease-out":Oo(0,0,.58,1),"ease-in-out":Oo(.42,0,.58,1),"ease-in-sine":Oo(.47,0,.745,.715),"ease-out-sine":Oo(.39,.575,.565,1),"ease-in-out-sine":Oo(.445,.05,.55,.95),"ease-in-quad":Oo(.55,.085,.68,.53),"ease-out-quad":Oo(.25,.46,.45,.94),"ease-in-out-quad":Oo(.455,.03,.515,.955),"ease-in-cubic":Oo(.55,.055,.675,.19),"ease-out-cubic":Oo(.215,.61,.355,1),"ease-in-out-cubic":Oo(.645,.045,.355,1),"ease-in-quart":Oo(.895,.03,.685,.22),"ease-out-quart":Oo(.165,.84,.44,1),"ease-in-out-quart":Oo(.77,0,.175,1),"ease-in-quint":Oo(.755,.05,.855,.06),"ease-out-quint":Oo(.23,1,.32,1),"ease-in-out-quint":Oo(.86,0,.07,1),"ease-in-expo":Oo(.95,.05,.795,.035),"ease-out-expo":Oo(.19,1,.22,1),"ease-in-out-expo":Oo(1,0,0,1),"ease-in-circ":Oo(.6,.04,.98,.335),"ease-out-circ":Oo(.075,.82,.165,1),"ease-in-out-circ":Oo(.785,.135,.15,.86),spring:function e(t,r,n){if(n===0){return zo.linear}var e=Mo(t,r,n);return function(t,r,n){return t+(r-t)*e(n)}},"cubic-bezier":Oo};function No(e,t,r,n,a){if(n===1){return r}if(t===r){return r}var i=a(t,r,n);if(e==null){return i}if(e.roundValue||e.color){i=Math.round(i)}if(e.min!==undefined){i=Math.max(i,e.min)}if(e.max!==undefined){i=Math.min(i,e.max)}return i}function Ao(e,t){if(e.pfValue!=null||e.value!=null){if(e.pfValue!=null&&(t==null||t.type.units!=="%")){return e.pfValue}else{return e.value}}else{return e}}function Bo(e,t,r,n,a){var i=a!=null?a.type:null;if(r<0){r=0}else if(r>1){r=1}var o=Ao(e,a);var s=Ao(t,a);if(P(o)&&P(s)){return No(i,o,s,r,n)}else if(C(o)&&C(s)){var u=[];for(var l=0;l0){if(d==="spring"){h.push(o.duration)}o.easingImpl=zo[d].apply(null,h)}else{o.easingImpl=zo[d]}}}var p=o.easingImpl;var g;if(o.duration===0){g=1}else{g=(r-u)/o.duration}if(o.applying){g=o.progress}if(g<0){g=0}else if(g>1){g=1}if(o.delay==null){var y=o.startPosition;var m=o.position;if(m&&a&&!e.locked()){var b={};if(jo(y.x,m.x)){b.x=Bo(y.x,m.x,g,p)}if(jo(y.y,m.y)){b.y=Bo(y.y,m.y,g,p)}e.position(b)}var x=o.startPan;var w=o.pan;var E=i.pan;var k=w!=null&&n;if(k){if(jo(x.x,w.x)){E.x=Bo(x.x,w.x,g,p)}if(jo(x.y,w.y)){E.y=Bo(x.y,w.y,g,p)}e.emit("pan")}var D=o.startZoom;var C=o.zoom;var S=C!=null&&n;if(S){if(jo(D,C)){i.zoom=jt(i.minZoom,Bo(D,C,g,p),i.maxZoom)}e.emit("zoom")}if(k||S){e.emit("viewport")}var T=o.style;if(T&&T.length>0&&a){for(var P=0;P=0;r--){var n=t[r];n()}t.splice(0,t.length)};for(var f=i.length-1;f>=0;f--){var c=i[f];var v=c._private;if(v.stopped){i.splice(f,1);v.hooked=false;v.playing=false;v.started=false;l(v.frames);continue}if(!v.playing&&!v.applying){continue}if(v.playing&&v.applying){v.applying=false}if(!v.started){Ro(t,c,e)}Lo(t,c,e,r);if(v.applying){v.applying=false}l(v.frames);if(v.step!=null){v.step(e)}if(c.completed()){i.splice(f,1);v.hooked=false;v.playing=false;v.started=false;l(v.completes)}s=true}if(!r&&i.length===0&&o.length===0){n.push(t)}return s}var i=false;for(var o=0;o0){t.notify("draw",r)}else{t.notify("draw")}}r.unmerge(n);t.emit("step")}var Vo={animate:ua.animate(),animation:ua.animation(),animated:ua.animated(),clearQueue:ua.clearQueue(),delay:ua.delay(),delayAnimation:ua.delayAnimation(),stop:ua.stop(),addToAnimationPool:function e(t){var r=this;if(!r.styleEnabled()){return}r._private.aniEles.merge(t)},stopAnimationLoop:function e(){this._private.animationsRunning=false},startAnimationLoop:function e(){var t=this;t._private.animationsRunning=true;if(!t.styleEnabled()){return}function r(){if(!t._private.animationsRunning){return}pe((function e(n){Fo(n,t);r()}))}var n=t.renderer();if(n&&n.beforeRender){n.beforeRender((function e(r,n){Fo(n,t)}),n.beforeRenderPriorities.animations)}else{r()}}};var qo={qualifierCompare:function e(t,r){if(t==null||r==null){return t==null&&r==null}else{return t.sameText(r)}},eventMatches:function e(t,r,n){var a=r.qualifier;if(a!=null){return t!==n.target&&z(n.target)&&a.matches(n.target)}return true},addEventFields:function e(t,r){r.cy=t;r.target=t},callbackContext:function e(t,r,n){return r.qualifier!=null?n.target:t}};var Go=function e(t){if(_(t)){return new Ba(t)}else{return t}};var Yo={createEmitter:function e(){var t=this._private;if(!t.emitter){t.emitter=new qi(qo,this)}return this},emitter:function e(){return this._private.emitter},on:function e(t,r,n){this.emitter().on(t,Go(r),n);return this},removeListener:function e(t,r,n){this.emitter().removeListener(t,Go(r),n);return this},removeAllListeners:function e(){this.emitter().removeAllListeners();return this},one:function e(t,r,n){this.emitter().one(t,Go(r),n);return this},once:function e(t,r,n){this.emitter().one(t,Go(r),n);return this},emit:function e(t,r){this.emitter().emit(t,r);return this},emitAndNotify:function e(t,r){this.emit(t);this.notify(t,r);return this}};ua.eventAliasesOn(Yo);var Wo={png:function e(t){var r=this._private.renderer;t=t||{};return r.png(t)},jpg:function e(t){var r=this._private.renderer;t=t||{};t.bg=t.bg||"#fff";return r.jpg(t)}};Wo.jpeg=Wo.jpg;var Xo={layout:function e(t){var r=this;if(t==null){je("Layout options must be specified to make a layout");return}if(t.name==null){je("A `name` must be specified to make a layout");return}var n=t.name;var a=r.extension("layout",n);if(a==null){je("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;if(_(t.eles)){i=r.$(t.eles)}else{i=t.eles!=null?t.eles:r.$()}var e=new a(ne({},t,{cy:r,eles:i}));return e}};Xo.createLayout=Xo.makeLayout=Xo.layout;var $o={notify:function e(t,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var a=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();if(r!=null){a.merge(r)}return}if(!n.notificationsEnabled){return}var i=this.renderer();if(this.destroyed()||!i){return}i.notify(t,r)},notifications:function e(t){var r=this._private;if(t===undefined){return r.notificationsEnabled}else{r.notificationsEnabled=t?true:false}return this},noNotifications:function e(t){this.notifications(false);t();this.notifications(true)},batching:function e(){return this._private.batchCount>0},startBatch:function e(){var t=this._private;if(t.batchCount==null){t.batchCount=0}if(t.batchCount===0){t.batchStyleEles=this.collection();t.batchNotifications={}}t.batchCount++;return this},endBatch:function e(){var t=this._private;if(t.batchCount===0){return this}t.batchCount--;if(t.batchCount===0){t.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(t.batchNotifications).forEach((function(e){var n=t.batchNotifications[e];if(n.empty()){r.notify(e)}else{r.notify(e,n)}}))}return this},batch:function e(t){this.startBatch();t();this.endBatch();return this},batchData:function e(t){var r=this;return this.batch((function(){var e=Object.keys(t);for(var n=0;n0){r.removeChild(r.childNodes[0])}}t._private.renderer=null;t.mutableElements().forEach((function(e){var t=e._private;t.rscratch={};t.rstyle={};t.animation.current=[];t.animation.queue=[]}))},onRender:function e(t){return this.on("render",t)},offRender:function e(t){return this.off("render",t)}};Uo.invalidateDimensions=Uo.resize;var Ko={collection:function e(t,r){if(_(t)){return this.$(t)}else if(O(t)){return t.collection()}else if(C(t)){return new So(this,t,r)}return new So(this)},nodes:function e(t){var e=this.$((function(e){return e.isNode()}));if(t){return e.filter(t)}return e},edges:function e(t){var e=this.$((function(e){return e.isEdge()}));if(t){return e.filter(t)}return e},$:function e(t){var r=this._private.elements;if(t){return r.filter(t)}else{return r.spawnSelf()}},mutableElements:function e(){return this._private.elements}};Ko.elements=Ko.filter=Ko.$;var Zo={};var Qo="t";var Jo="f";Zo.apply=function(e){var t=this;var r=t._private;var n=r.cy;var a=n.collection();if(r.newStyle){r.contextStyles={};r.propDiffs={};t.cleanElements(e,true)}for(var i=0;i0;if(v||c&&d){var h=void 0;if(v&&d){h=l.properties}else if(v){h=l.properties}else if(d){h=l.mappedProperties}for(var p=0;p1){x=1}if(s.color){var E=n.valueMin[0];var k=n.valueMax[0];var _=n.valueMin[1];var D=n.valueMax[1];var C=n.valueMin[2];var S=n.valueMax[2];var T=n.valueMin[3]==null?1:n.valueMin[3];var I=n.valueMax[3]==null?1:n.valueMax[3];var M=[Math.round(E+(k-E)*x),Math.round(_+(D-_)*x),Math.round(C+(S-C)*x),Math.round(T+(I-T)*x)];i={bypass:n.bypass,name:n.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else if(s.number){var O=n.valueMin+(n.valueMax-n.valueMin)*x;i=this.parse(n.name,O,n.bypass,v)}else{return false}if(!i){p();return false}i.mapping=n;n=i;break}case o.data:{var z=n.field.split(".");var N=c.data;for(var A=0;A0&&i>0){var s={};var u=false;for(var l=0;l0){e.delayAnimation(o).play().promise().then(t)}else{t()}})).then((function(){return e.animation({style:s,duration:i,easing:e.pstyle("transition-timing-function").value,queue:false}).play().promise()})).then((function(){r.removeBypasses(e,a);e.emitAndNotify("style");n.transitioning=false}))}else if(n.transitioning){this.removeBypasses(e,a);e.emitAndNotify("style");n.transitioning=false}};Zo.checkTrigger=function(e,t,r,n,a,i){var o=this.properties[t];var s=a(o);if(s!=null&&s(r,n)){i(o)}};Zo.checkZOrderTrigger=function(e,t,r,n){var a=this;this.checkTrigger(e,t,r,n,(function(e){return e.triggersZOrder}),(function(){a._private.cy.notify("zorder",e)}))};Zo.checkBoundsTrigger=function(e,t,r,n){this.checkTrigger(e,t,r,n,(function(e){return e.triggersBounds}),(function(a){e.dirtyCompoundBoundsCache();e.dirtyBoundingBoxCache();if((e.pstyle("curve-style").value==="bezier"||t==="curve-style"&&(r==="bezier"||n==="bezier"))&&a.triggersBoundsOfParallelBeziers){e.parallelEdges().forEach((function(e){if(e.isBundledBezier()){e.dirtyBoundingBoxCache()}}))}}))};Zo.checkTriggers=function(e,t,r,n){e.dirtyStyleCache();this.checkZOrderTrigger(e,t,r,n);this.checkBoundsTrigger(e,t,r,n)};var es={};es.applyBypass=function(e,t,r,n){var a=this;var i=[];var o=true;if(t==="*"||t==="**"){if(r!==undefined){for(var s=0;sa.length){n=n.substr(a.length)}else{n=""}}function u(){if(i.length>o.length){i=i.substr(o.length)}else{i=""}}for(;;){var l=n.match(/^\s*$/);if(l){break}var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Fe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}a=f[0];var c=f[1];if(c!=="core"){var v=new Ba(c);if(v.invalid){Fe("Skipping parsing of block: Invalid selector found in string stylesheet: "+c);s();continue}}var d=f[2];var h=false;i=d;var p=[];for(;;){var g=i.match(/^\s*$/);if(g){break}var y=i.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!y){Fe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d);h=true;break}o=y[0];var m=y[1];var b=y[2];var x=t.properties[m];if(!x){Fe("Skipping property: Invalid property name in: "+o);u();continue}var w=r.parse(m,b);if(!w){Fe("Skipping property: Invalid property definition in: "+o);u();continue}p.push({name:m,val:b});u()}if(h){s();break}r.selector(c);for(var E=0;E=7&&t[0]==="d"&&(f=new RegExp(s.data.regex).exec(t))){if(r){return false}var v=s.data;return{name:e,value:f,strValue:""+t,mapped:v,field:f[1],bypass:r}}else if(t.length>=10&&t[0]==="m"&&(c=new RegExp(s.mapData.regex).exec(t))){if(r){return false}if(l.multiple){return false}var d=s.mapData;if(!(l.color||l.number)){return false}var h=this.parse(e,c[4]);if(!h||h.mapped){return false}var p=this.parse(e,c[5]);if(!p||p.mapped){return false}if(h.pfValue===p.pfValue||h.strValue===p.strValue){Fe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+h.strValue+"`");return this.parse(e,h.strValue)}else if(l.color){var g=h.value;var y=p.value;var m=g[0]===y[0]&&g[1]===y[1]&&g[2]===y[2]&&(g[3]===y[3]||(g[3]==null||g[3]===1)&&(y[3]==null||y[3]===1));if(m){return false}}return{name:e,value:c,strValue:""+t,mapped:d,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:h.value,valueMax:p.value,bypass:r}}if(l.multiple&&n!=="multiple"){var b;if(u){b=t.split(/\s+/)}else if(C(t)){b=t}else{b=[t]}if(l.evenMultiple&&b.length%2!==0){return null}var x=[];var w=[];var E=[];var k="";var S=false;for(var T=0;T0?" ":"")+P.strValue}if(l.validate&&!l.validate(x,w)){return null}if(l.singleEnum&&S){if(x.length===1&&_(x[0])){return{name:e,value:x[0],strValue:x[0],bypass:r}}else{return null}}return{name:e,value:x,pfValue:E,strValue:k,bypass:r,units:w}}var M=function n(){for(var a=0;al.max||l.strictMax&&t===l.max)){return null}var B={name:e,value:t,strValue:""+t+(O?O:""),units:O,bypass:r};if(l.unitless||O!=="px"&&O!=="em"){B.pfValue=t}else{B.pfValue=O==="px"||!O?t:this.getEmSizeInPixels()*t}if(O==="ms"||O==="s"){B.pfValue=O==="ms"?t:1e3*t}if(O==="deg"||O==="rad"){B.pfValue=O==="rad"?t:Tt(t)}if(O==="%"){B.pfValue=t/100}return B}else if(l.propList){var L=[];var j=""+t;if(j==="none");else{var R=j.split(/\s*,\s*|\s+/);for(var F=0;F0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((o-2*r)/n.w,(s-2*r)/n.h);u=u>this._private.maxZoom?this._private.maxZoom:u;u=u=n.minZoom){n.maxZoom=r}return this},minZoom:function e(t){if(t===undefined){return this._private.minZoom}else{return this.zoomRange({min:t})}},maxZoom:function e(t){if(t===undefined){return this._private.maxZoom}else{return this.zoomRange({max:t})}},getZoomedViewport:function e(t){var r=this._private;var n=r.pan;var a=r.zoom;var i;var o;var s=false;if(!r.zoomingEnabled){s=true}if(P(t)){o=t}else if(S(t)){o=t.level;if(t.position!=null){i=wt(t.position,a,n)}else if(t.renderedPosition!=null){i=t.renderedPosition}if(i!=null&&!r.panningEnabled){s=true}}o=o>r.maxZoom?r.maxZoom:o;o=or.maxZoom||!r.zoomingEnabled){o=true}else{r.zoom=u;i.push("zoom")}}if(a&&(!o||!t.cancelOnFailedZoom)&&r.panningEnabled){var l=t.pan;if(P(l.x)){r.pan.x=l.x;s=false}if(P(l.y)){r.pan.y=l.y;s=false}if(!s){i.push("pan")}}if(i.length>0){i.push("viewport");this.emit(i.join(" "));this.notify("viewport")}return this},center:function e(t){var r=this.getCenterPan(t);if(r){this._private.pan=r;this.emit("pan viewport");this.notify("viewport")}return this},getCenterPan:function e(t,r){if(!this._private.panningEnabled){return}if(_(t)){var n=t;t=this.mutableElements().filter(n)}else if(!O(t)){t=this.mutableElements()}if(t.length===0){return}var a=t.boundingBox();var i=this.width();var o=this.height();r=r===undefined?this._private.zoom:r;var s={x:(i-r*(a.x1+a.x2))/2,y:(o-r*(a.y1+a.y2))/2};return s},reset:function e(){if(!this._private.panningEnabled||!this._private.zoomingEnabled){return this}this.viewport({pan:{x:0,y:0},zoom:1});return this},invalidateSize:function e(){this._private.sizeCache=null},size:function e(){var t=this._private;var r=t.container;return t.sizeCache=t.sizeCache||(r?function(){var e=g.getComputedStyle(r);var t=function t(r){return parseFloat(e.getPropertyValue(r))};return{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}}():{width:1,height:1})},width:function e(){return this.size().width},height:function e(){return this.size().height},extent:function e(){var t=this._private.pan;var r=this._private.zoom;var n=this.renderedExtent();var a={x1:(n.x1-t.x)/r,x2:(n.x2-t.x)/r,y1:(n.y1-t.y)/r,y2:(n.y2-t.y)/r};a.w=a.x2-a.x1;a.h=a.y2-a.y1;return a},renderedExtent:function e(){var t=this.width();var r=this.height();return{x1:0,y1:0,x2:t,y2:r,w:t,h:r}}};cs.centre=cs.center;cs.autolockNodes=cs.autolock;cs.autoungrabifyNodes=cs.autoungrabify;var vs={data:ua.data({field:"data",bindingEvent:"data",allowBinding:true,allowSetting:true,settingEvent:"data",settingTriggersEvent:true,triggerFnName:"trigger",allowGetting:true}),removeData:ua.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:true}),scratch:ua.data({field:"scratch",bindingEvent:"scratch",allowBinding:true,allowSetting:true,settingEvent:"scratch",settingTriggersEvent:true,triggerFnName:"trigger",allowGetting:true}),removeScratch:ua.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:true})};vs.attr=vs.data;vs.removeAttr=vs.removeData;var ds=function e(t){var r=this;t=ne({},t);var n=t.container;if(n&&!M(n)&&M(n[0])){n=n[0]}var a=n?n._cyreg:null;a=a||{};if(a&&a.cy){a.cy.destroy();a={}}var i=a.readies=a.readies||[];if(n){n._cyreg=a}a.cy=r;var o=g!==undefined&&n!==undefined&&!t.headless;var s=t;s.layout=ne({name:o?"grid":"null"},s.layout);s.renderer=ne({name:o?"canvas":"null"},s.renderer);var u=function e(t,r,n){if(r!==undefined){return r}else if(n!==undefined){return n}else{return t}};var l=this._private={container:n,ready:false,options:s,elements:new So(this),listeners:[],aniEles:new So(this),data:{},scratch:{},layout:null,renderer:null,destroyed:false,notificationsEnabled:true,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(true,s.zoomingEnabled),userZoomingEnabled:u(true,s.userZoomingEnabled),panningEnabled:u(true,s.panningEnabled),userPanningEnabled:u(true,s.userPanningEnabled),boxSelectionEnabled:u(true,s.boxSelectionEnabled),autolock:u(false,s.autolock,s.autolockNodes),autoungrabify:u(false,s.autoungrabify,s.autoungrabifyNodes),autounselectify:u(false,s.autounselectify),styleEnabled:s.styleEnabled===undefined?o:s.styleEnabled,zoom:P(s.zoom)?s.zoom:1,pan:{x:S(s.pan)&&P(s.pan.x)?s.pan.x:0,y:S(s.pan)&&P(s.pan.y)?s.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:false};this.createEmitter();this.selectionType(s.selectionType);this.zoomRange({min:s.minZoom,max:s.maxZoom});var f=function e(t,r){var n=t.some(V);if(n){return ra.all(t).then(r)}else{r(t)}};if(l.styleEnabled){r.setStyle([])}var c=ne({},s,s.renderer);r.initRenderer(c);var v=function e(t,n,a){r.notifications(false);var i=r.mutableElements();if(i.length>0){i.remove()}if(t!=null){if(S(t)||C(t)){r.add(t)}}r.one("layoutready",(function(e){r.notifications(true);r.emit(e);r.one("load",n);r.emitAndNotify("load")})).one("layoutstop",(function(){r.one("done",a);r.emit("done")}));var o=ne({},r._private.options.layout);o.eles=r.elements();r.layout(o).run()};f([s.style,s.elements],(function(e){var t=e[0];var n=e[1];if(l.styleEnabled){r.style().append(t)}v(n,(function(){r.startAnimationLoop();l.ready=true;if(D(s.ready)){r.on("ready",s.ready)}for(var e=0;e0;var u=Rt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});var l;if(O(t.roots)){l=t.roots}else if(C(t.roots)){var f=[];for(var c=0;c0){var N=z();var A=T(N,I);if(A){N.outgoers().filter((function(e){return e.isNode()&&n.has(e)})).forEach(M)}else if(A===null){Fe("Detected double maximal shift for node `"+N.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var B=0;if(t.avoidOverlap){for(var L=0;L0&&y[0].length<=3?f/2:0);var d=2*Math.PI/y[a].length*i;if(a===0&&y[0].length===1){v=1}return{x:K.x+v*Math.cos(d),y:K.y+v*Math.sin(d)}}};a.layoutPositions(this,t,Q);return this};var bs={fit:true,padding:30,boundingBox:undefined,avoidOverlap:true,nodeDimensionsIncludeLabels:false,spacingFactor:undefined,radius:undefined,startAngle:3/2*Math.PI,sweep:undefined,clockwise:true,sort:undefined,animate:false,animationDuration:500,animationEasing:undefined,animateFilter:function e(t,r){return true},ready:undefined,stop:undefined,transform:function e(t,r){return r}};function xs(e){this.options=ne({},bs,e)}xs.prototype.run=function(){var e=this.options;var t=e;var r=e.cy;var n=t.eles;var a=t.counterclockwise!==undefined?!t.counterclockwise:t.clockwise;var i=n.nodes().not(":parent");if(t.sort){i=i.sort(t.sort)}var o=Rt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});var s={x:o.x1+o.w/2,y:o.y1+o.h/2};var u=t.sweep===undefined?2*Math.PI-2*Math.PI/i.length:t.sweep;var l=u/Math.max(1,i.length-1);var f;var c=0;for(var v=0;v1&&t.avoidOverlap){c*=1.75;var y=Math.cos(l)-Math.cos(0);var m=Math.sin(l)-Math.sin(0);var b=Math.sqrt(c*c/(y*y+m*m));f=Math.max(b,f)}var x=function e(r,n){var i=t.startAngle+n*l*(a?1:-1);var o=f*Math.cos(i);var u=f*Math.sin(i);var c={x:s.x+o,y:s.y+u};return c};i.layoutPositions(this,t,x);return this};var ws={fit:true,padding:30,startAngle:3/2*Math.PI,sweep:undefined,clockwise:true,equidistant:false,minNodeSpacing:10,boundingBox:undefined,avoidOverlap:true,nodeDimensionsIncludeLabels:false,height:undefined,width:undefined,spacingFactor:undefined,concentric:function e(t){return t.degree()},levelWidth:function e(t){return t.maxDegree()/4},animate:false,animationDuration:500,animationEasing:undefined,animateFilter:function e(t,r){return true},ready:undefined,stop:undefined,transform:function e(t,r){return r}};function Es(e){this.options=ne({},ws,e)}Es.prototype.run=function(){var e=this.options;var t=e;var r=t.counterclockwise!==undefined?!t.counterclockwise:t.clockwise;var n=e.cy;var a=t.eles;var i=a.nodes().not(":parent");var o=Rt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});var s={x:o.x1+o.w/2,y:o.y1+o.h/2};var u=[];var l=0;for(var f=0;f0){var w=Math.abs(m[0].value-x.value);if(w>=g){m=[];y.push(m)}}m.push(x)}var E=l+t.minNodeSpacing;if(!t.avoidOverlap){var k=y.length>0&&y[0].length>1;var _=Math.min(o.w,o.h)/2-E;var D=_/(y.length+k?1:0);E=Math.min(E,D)}var C=0;for(var S=0;S1&&t.avoidOverlap){var M=Math.cos(I)-Math.cos(0);var O=Math.sin(I)-Math.sin(0);var z=Math.sqrt(E*E/(M*M+O*O));C=Math.max(z,C)}T.r=C;C+=E}if(t.equidistant){var N=0;var A=0;for(var B=0;B=e.numIter){return false}zs(n,e);n.temperature=n.temperature*e.coolingFactor;if(n.temperature=e.animationThreshold){i()}pe(t)}};f()}else{while(l){l=o(u);u++}Ws(n,e);s()}return this};Ds.prototype.stop=function(){this.stopped=true;if(this.thread){this.thread.stop()}this.emit("layoutstop");return this};Ds.prototype.destroy=function(){if(this.thread){this.thread.stop()}return this};var Cs=function e(t,r,n){var a=n.eles.edges();var i=n.eles.nodes();var o={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:n.initialTemp,clientWidth:t.width(),clientHeight:t.width(),boundingBox:Rt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()})};var s=n.eles.components();var u={};for(var l=0;l0){o.graphSet.push(k);for(var l=0;la.count){return 0}else{return a.graph}};var Ts=function e(t,r,n,a){var i=a.graphSet[n];if(-10){var c=a.nodeOverlap*f;var v=Math.sqrt(s*s+u*u);var d=c*s/v;var h=c*u/v}else{var p=js(t,s,u);var g=js(r,-1*s,-1*u);var y=g.x-p.x;var m=g.y-p.y;var b=y*y+m*m;var v=Math.sqrt(b);var c=(t.nodeRepulsion+r.nodeRepulsion)/b;var d=c*y/v;var h=c*m/v}if(!t.isLocked){t.offsetX-=d;t.offsetY-=h}if(!r.isLocked){r.offsetX+=d;r.offsetY+=h}return};var Ls=function e(t,r,n,a){if(n>0){var i=t.maxX-r.minX}else{var i=r.maxX-t.minX}if(a>0){var o=t.maxY-r.minY}else{var o=r.maxY-t.minY}if(i>=0&&o>=0){return Math.sqrt(i*i+o*o)}else{return 0}};var js=function e(t,r,n){var a=t.positionX;var i=t.positionY;var o=t.height||1;var s=t.width||1;var u=n/r;var l=o/s;var f={};if(0===r&&0n){f.x=a;f.y=i+o/2;return f}if(0r&&-1*l<=u&&u<=l){f.x=a-s/2;f.y=i-s*n/2/r;return f}if(0=l)){f.x=a+o*r/2/n;f.y=i+o/2;return f}if(0>n&&(u<=-1*l||u>=l)){f.x=a-o*r/2/n;f.y=i-o/2;return f}return f};var Rs=function e(t,r){for(var n=0;nn){var g=r.gravity*d/p;var y=r.gravity*h/p;v.offsetX+=g;v.offsetY+=y}}}};var Vs=function e(t,r){var n=[];var a=0;var i=-1;n.push.apply(n,t.graphSet[0]);i+=t.graphSet[0].length;while(a<=i){var o=n[a++];var s=t.idToIndex[o];var u=t.layoutNodes[s];var l=u.children;if(0n){var i={x:n*t/a,y:n*r/a}}else{var i={x:t,y:r}}return i};var Ys=function e(t,r){var n=t.parentId;if(null==n){return}var a=r.layoutNodes[r.idToIndex[n]];var i=false;if(null==a.maxX||t.maxX+a.padRight>a.maxX){a.maxX=t.maxX+a.padRight;i=true}if(null==a.minX||t.minX-a.padLefta.maxY){a.maxY=t.maxY+a.padBottom;i=true}if(null==a.minY||t.minY-a.padTopy){h+=g+r.componentSpacing;d=0;p=0;g=0}}};var Xs={fit:true,padding:30,boundingBox:undefined,avoidOverlap:true,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:false,spacingFactor:undefined,condense:false,rows:undefined,cols:undefined,position:function e(t){},sort:undefined,animate:false,animationDuration:500,animationEasing:undefined,animateFilter:function e(t,r){return true},ready:undefined,stop:undefined,transform:function e(t,r){return r}};function $s(e){this.options=ne({},Xs,e)}$s.prototype.run=function(){var e=this.options;var t=e;var r=e.cy;var n=t.eles;var a=n.nodes().not(":parent");if(t.sort){a=a.sort(t.sort)}var i=Rt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0){a.layoutPositions(this,t,(function(e){return{x:i.x1,y:i.y1}}))}else{var o=a.size();var s=Math.sqrt(o*i.h/i.w);var u=Math.round(s);var l=Math.round(i.w/i.h*s);var f=function e(t){if(t==null){return Math.min(u,l)}else{var r=Math.min(u,l);if(r==u){u=t}else{l=t}}};var c=function e(t){if(t==null){return Math.max(u,l)}else{var r=Math.max(u,l);if(r==u){u=t}else{l=t}}};var v=t.rows;var d=t.cols!=null?t.cols:t.columns;if(v!=null&&d!=null){u=v;l=d}else if(v!=null&&d==null){u=v;l=Math.ceil(o/u)}else if(v==null&&d!=null){l=d;u=Math.ceil(o/l)}else if(l*u>o){var h=f();var p=c();if((h-1)*p>=o){f(h-1)}else if((p-1)*h>=o){c(p-1)}}else{while(l*u=o){c(y+1)}else{f(g+1)}}}var m=i.w/l;var b=i.h/u;if(t.condense){m=0;b=0}if(t.avoidOverlap){for(var x=0;x=l){M=0;I++}};var z={};for(var N=0;N(b=ar(e,t,x[w],x[w+1],x[w+2],x[w+3]))){g(r,b);return true}}}else if(o.edgeType==="bezier"||o.edgeType==="multibezier"||o.edgeType==="self"||o.edgeType==="compound"){var x=o.allpts;for(var w=0;w+5(b=nr(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5]))){g(r,b);return true}}}var p=p||n.source;var m=m||n.target;var E=a.getArrowWidth(u,c);var k=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(var w=0;w0){y(p);y(m)}}function b(e,t,r){return Ze(e,t,r)}function x(r,n){var a=r._private;var i=v;var o;if(n){o=n+"-"}else{o=""}r.boundingBox();var s=a.labelBounds[n||"main"];var u=r.pstyle(o+"label").value;var l=r.pstyle("text-events").strValue==="yes";if(!l||!u){return}var f=a.rstyle;var c=b(f,"labelX",n);var d=b(f,"labelY",n);var h=b(a.rscratch,"labelAngle",n);var p=s.x1-i;var y=s.x2+i;var m=s.y1-i;var x=s.y2+i;if(h){var w=Math.cos(h);var E=Math.sin(h);var k=function e(t,r){t=t-c;r=r-d;return{x:t*w-r*E+c,y:t*E+r*w+d}};var _=k(p,m);var D=k(p,x);var C=k(y,m);var S=k(y,x);var T=[_.x,_.y,C.x,C.y,S.x,S.y,D.x,D.y];if(ir(e,t,T)){g(r);return true}}else{if(Ut(s,e,t)){g(r);return true}}}for(var w=o.length-1;w>=0;w--){var E=o[w];if(E.isNode()){y(E)||x(E)}else{m(E)||x(E)||x(E,"source")||x(E,"target")}}return s};iu.getAllInBox=function(e,t,r,n){var a=this.getCachedZSortedEles().interactive;var i=[];var o=Math.min(e,r);var s=Math.max(e,r);var u=Math.min(t,n);var l=Math.max(t,n);e=o;r=s;t=u;n=l;var f=Rt({x1:e,y1:t,x2:r,y2:n});for(var c=0;c0){return Math.max(t-r,0)}else{return Math.min(t+r,0)}};var P=T(C,_);var I=T(S,D);var M=false;if(m===l){y=Math.abs(P)>Math.abs(I)?a:n}else if(m===u||m===s){y=n;M=true}else if(m===i||m===o){y=a;M=true}var O=y===n;var z=O?I:P;var N=O?S:C;var A=Mt(N);var B=false;if(!(M&&(x||E))&&(m===s&&N<0||m===u&&N>0||m===i&&N>0||m===o&&N<0)){A*=-1;z=A*Math.abs(z);B=true}var L;if(x){var j=w<0?1+w:w;L=j*z}else{var R=w<0?z:0;L=R+w*A}var F=function e(t){return Math.abs(t)=Math.abs(z)};var V=F(L);var q=F(Math.abs(z)-Math.abs(L));var G=V||q;if(G&&!B){if(O){var Y=Math.abs(N)<=v/2;var W=Math.abs(C)<=d/2;if(Y){var X=(f.x1+f.x2)/2;var $=f.y1,H=f.y2;r.segpts=[X,$,X,H]}else if(W){var U=(f.y1+f.y2)/2;var K=f.x1,Z=f.x2;r.segpts=[K,U,Z,U]}else{r.segpts=[f.x1,f.y2]}}else{var Q=Math.abs(N)<=c/2;var J=Math.abs(S)<=h/2;if(Q){var ee=(f.y1+f.y2)/2;var te=f.x1,re=f.x2;r.segpts=[te,ee,re,ee]}else if(J){var ne=(f.x1+f.x2)/2;var ae=f.y1,ie=f.y2;r.segpts=[ne,ae,ne,ie]}else{r.segpts=[f.x2,f.y1]}}}else{if(O){var oe=f.y1+L+(g?v/2*A:0);var se=f.x1,ue=f.x2;r.segpts=[se,oe,ue,oe]}else{var le=f.x1+L+(g?c/2*A:0);var fe=f.y1,ce=f.y2;r.segpts=[le,fe,le,ce]}}};su.tryToCorrectInvalidPoints=function(e,t){var r=e._private.rscratch;if(r.edgeType==="bezier"){var n=t.srcPos,a=t.tgtPos,i=t.srcW,o=t.srcH,s=t.tgtW,u=t.tgtH,l=t.srcShape,f=t.tgtShape;var c=!P(r.startX)||!P(r.startY);var v=!P(r.arrowStartX)||!P(r.arrowStartY);var d=!P(r.endX)||!P(r.endY);var h=!P(r.arrowEndX)||!P(r.arrowEndY);var p=3;var g=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth;var y=p*g;var m=Ot({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY});var b=md.poolIndex()){var h=v;v=d;d=h}var p=u.srcPos=v.position();var g=u.tgtPos=d.position();var y=u.srcW=v.outerWidth();var m=u.srcH=v.outerHeight();var b=u.tgtW=d.outerWidth();var x=u.tgtH=d.outerHeight();var w=u.srcShape=r.nodeShapes[t.getNodeShape(v)];var E=u.tgtShape=r.nodeShapes[t.getNodeShape(d)];u.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k0){var W=i;var X=zt(W,kt(r));var $=zt(W,kt(Y));var H=X;if($2){var U=zt(W,{x:Y[2],y:Y[3]});if(U0){var ue=o;var le=zt(ue,kt(r));var fe=zt(ue,kt(se));var ce=le;if(fe2){var ve=zt(ue,{x:se[2],y:se[3]});if(ve=f||b){v={cp:g,segment:m};break}}if(v){break}}var x=v.cp;var w=v.segment;var E=(f-d)/w.length;var k=w.t1-w.t0;var _=l?w.t0+k*E:w.t1-k*E;_=jt(0,_,1);t=Bt(x.p0,x.p1,x.p2,_);s=pu(x.p0,x.p1,x.p2,_);break}case"straight":case"segments":case"haystack":{var D=0,C,S;var T,P;var I=n.allpts.length;for(var M=0;M+3=f){break}}var O=f-S;var z=O/C;z=jt(0,z,1);t=Lt(T,P,z);s=hu(T,P);break}}o("labelX",a,t.x);o("labelY",a,t.y);o("labelAutoAngle",a,s)};l("source");l("target");this.applyLabelDimensions(e)};vu.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e);if(e.isEdge()){this.applyPrefixedLabelDimensions(e,"source");this.applyPrefixedLabelDimensions(e,"target")}};vu.applyPrefixedLabelDimensions=function(e,t){var r=e._private;var n=this.getLabelText(e,t);var a=this.calculateLabelDimensions(e,n);var i=e.pstyle("line-height").pfValue;var o=e.pstyle("text-wrap").strValue;var s=Ze(r.rscratch,"labelWrapCachedLines",t)||[];var u=o!=="wrap"?1:Math.max(s.length,1);var l=a.height/u;var f=l*i;var c=a.width;var v=a.height+(u-1)*(i-1)*l;Qe(r.rstyle,"labelWidth",t,c);Qe(r.rscratch,"labelWidth",t,c);Qe(r.rstyle,"labelHeight",t,v);Qe(r.rscratch,"labelHeight",t,v);Qe(r.rscratch,"labelLineHeight",t,f)};vu.getLabelText=function(e,t){var r=e._private;var n=t?t+"-":"";var a=e.pstyle(n+"label").strValue;var i=e.pstyle("text-transform").value;var o=function e(n,a){if(a){Qe(r.rscratch,n,t,a);return a}else{return Ze(r.rscratch,n,t)}};if(!a){return""}if(i=="none");else if(i=="uppercase"){a=a.toUpperCase()}else if(i=="lowercase"){a=a.toLowerCase()}var s=e.pstyle("text-wrap").value;if(s==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u){return o("labelWrapCachedText")}var l="​";var f=a.split("\n");var c=e.pstyle("text-max-width").pfValue;var v=e.pstyle("text-overflow-wrap").value;var d=v==="anywhere";var h=[];var p=/[\s\u200b]+/;var g=d?"":" ";for(var y=0;yc){var E=m.split(p);var k="";for(var _=0;_P){break}I+=a[z];if(z===a.length-1){O=true}}if(!O){I+=M}return I}return a};vu.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue;var r=e.pstyle("text-halign").strValue;if(t==="auto"){if(e.isNode()){switch(r){case"left":return"right";case"right":return"left";default:return"center"}}else{return"center"}}else{return t}};vu.calculateLabelDimensions=function(e,t){var r=this;var n=Se(t,e._private.labelDimsKey);var a=r.labelDimCache||(r.labelDimCache=[]);var i=a[n];if(i!=null){return i}var o=1;var s=e.pstyle("font-style").strValue;var u=o*e.pstyle("font-size").pfValue+"px";var l=e.pstyle("font-family").strValue;var f=e.pstyle("font-weight").strValue;var c=this.labelCalcDiv;if(!c){c=this.labelCalcDiv=document.createElement("div");document.body.appendChild(c)}var v=c.style;v.fontFamily=l;v.fontStyle=s;v.fontSize=u;v.fontWeight=f;v.position="absolute";v.left="-9999px";v.top="-9999px";v.zIndex="-1";v.visibility="hidden";v.pointerEvents="none";v.padding="0";v.lineHeight="1";v.whiteSpace="pre";c.textContent=t;return a[n]={width:Math.ceil(c.clientWidth/o),height:Math.ceil(c.clientHeight/o)}};vu.calculateLabelAngle=function(e,t){var r=e._private;var n=r.rscratch;var a=e.isEdge();var i=t?t+"-":"";var o=e.pstyle(i+"text-rotation");var s=o.strValue;if(s==="none"){return 0}else if(a&&s==="autorotate"){return n.labelAutoAngle}else if(s==="autorotate"){return 0}else{return o.pfValue}};vu.calculateLabelAngles=function(e){var t=this;var r=e.isEdge();var n=e._private;var a=n.rscratch;a.labelAngle=t.calculateLabelAngle(e);if(r){a.sourceLabelAngle=t.calculateLabelAngle(e,"source");a.targetLabelAngle=t.calculateLabelAngle(e,"target")}};var gu={};var yu=28;var mu=false;gu.getNodeShape=function(e){var t=this;var r=e.pstyle("shape").value;if(r==="cutrectangle"&&(e.width()1&&arguments[1]!==undefined?arguments[1]:true;t.merge(r);if(n){for(var a=0;a=e.desktopTapThreshold2}var I=n(i);if(E){e.hoverData.tapholdCancelled=true}var M=function t(){var r=e.hoverData.dragDelta=e.hoverData.dragDelta||[];if(r.length===0){r.push(x[0]);r.push(x[1])}else{r[0]+=x[0];r[1]+=x[1]}};s=true;r(y,["mousemove","vmousemove","tapdrag"],i,{x:c[0],y:c[1]});var O=function t(){e.data.bgActivePosistion=undefined;if(!e.hoverData.selecting){u.emit({originalEvent:i,type:"boxstart",position:{x:c[0],y:c[1]}})}p[4]=1;e.hoverData.selecting=true;e.redrawHint("select",true);e.redraw()};if(e.hoverData.which===3){if(E){var z={originalEvent:i,type:"cxtdrag",position:{x:c[0],y:c[1]}};if(b){b.emit(z)}else{u.emit(z)}e.hoverData.cxtDragged=true;if(!e.hoverData.cxtOver||y!==e.hoverData.cxtOver){if(e.hoverData.cxtOver){e.hoverData.cxtOver.emit({originalEvent:i,type:"cxtdragout",position:{x:c[0],y:c[1]}})}e.hoverData.cxtOver=y;if(y){y.emit({originalEvent:i,type:"cxtdragover",position:{x:c[0],y:c[1]}})}}}}else if(e.hoverData.dragging){s=true;if(u.panningEnabled()&&u.userPanningEnabled()){var N;if(e.hoverData.justStartedPan){var A=e.hoverData.mdownPos;N={x:(c[0]-A[0])*l,y:(c[1]-A[1])*l};e.hoverData.justStartedPan=false}else{N={x:x[0]*l,y:x[1]*l}}u.panBy(N);e.hoverData.dragged=true}c=e.projectIntoViewport(i.clientX,i.clientY)}else if(p[4]==1&&(b==null||b.pannable())){if(E){if(!e.hoverData.dragging&&u.boxSelectionEnabled()&&(I||!u.panningEnabled()||!u.userPanningEnabled())){O()}else if(!e.hoverData.selecting&&u.panningEnabled()&&u.userPanningEnabled()){var B=a(b,e.hoverData.downs);if(B){e.hoverData.dragging=true;e.hoverData.justStartedPan=true;p[4]=0;e.data.bgActivePosistion=kt(v);e.redrawHint("select",true);e.redraw()}}if(b&&b.pannable()&&b.active()){b.unactivate()}}}else{if(b&&b.pannable()&&b.active()){b.unactivate()}if((!b||!b.grabbed())&&y!=m){if(m){r(m,["mouseout","tapdragout"],i,{x:c[0],y:c[1]})}if(y){r(y,["mouseover","tapdragover"],i,{x:c[0],y:c[1]})}e.hoverData.last=y}if(b){if(E){if(u.boxSelectionEnabled()&&I){if(b&&b.grabbed()){g(w);b.emit("freeon");w.emit("free");if(e.dragData.didDrag){b.emit("dragfreeon");w.emit("dragfree")}}O()}else if(b&&b.grabbed()&&e.nodeIsDraggable(b)){var L=!e.dragData.didDrag;if(L){e.redrawHint("eles",true)}e.dragData.didDrag=true;var j=u.collection();if(!e.hoverData.draggingEles){h(w,{inDragLayer:true})}var R={x:0,y:0};if(P(x[0])&&P(x[1])){R.x+=x[0];R.y+=x[1];if(L){var F=e.hoverData.dragDelta;if(F&&P(F[0])&&P(F[1])){R.x+=F[0];R.y+=F[1]}}}for(var V=0;V0){e.redrawHint("eles",true)}e.dragData.possibleDragElements=c=s.collection()}if(f==v&&!e.dragData.didDrag&&!e.hoverData.selecting){if(f!=null&&f._private.selectable){if(e.hoverData.dragging);else if(s.selectionType()==="additive"||d){if(f.selected()){f.unselect(["tapunselect"])}else{f.select(["tapselect"])}}else{if(!d){s.$(t).unmerge(f).unselect(["tapunselect"]);f.select(["tapselect"])}}e.redrawHint("eles",true)}}if(e.hoverData.selecting){var y=s.collection(e.getAllInBox(l[0],l[1],l[2],l[3]));e.redrawHint("select",true);if(y.length>0){e.redrawHint("eles",true)}s.emit({type:"boxend",originalEvent:i,position:{x:u[0],y:u[1]}});var m=function e(t){return t.selectable()&&!t.selected()};if(s.selectionType()==="additive"){y.emit("box").stdFilter(m).select().emit("boxselect")}else{if(!d){s.$(t).unmerge(y).unselect()}y.emit("box").stdFilter(m).select().emit("boxselect")}e.redraw()}if(e.hoverData.dragging){e.hoverData.dragging=false;e.redrawHint("select",true);e.redrawHint("eles",true);e.redraw()}if(!l[4]){e.redrawHint("drag",true);e.redrawHint("eles",true);var b=v&&v.grabbed();g(c);if(b){v.emit("freeon");c.emit("free");if(e.dragData.didDrag){v.emit("dragfreeon");c.emit("dragfree")}}}}l[4]=0;e.hoverData.down=null;e.hoverData.cxtStarted=false;e.hoverData.draggingEles=false;e.hoverData.selecting=false;e.hoverData.isOverThresholdDrag=false;e.dragData.didDrag=false;e.hoverData.dragged=false;e.hoverData.dragDelta=[];e.hoverData.mdownPos=null;e.hoverData.mdownGPos=null}),false);var C=function t(r){if(e.scrollingPage){return}var n=e.cy;var a=n.zoom();var i=n.pan();var o=e.projectIntoViewport(r.clientX,r.clientY);var s=[o[0]*a+i.x,o[1]*a+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||_()){r.preventDefault();return}if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){r.preventDefault();e.data.wheelZooming=true;clearTimeout(e.data.wheelTimeout);e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=false;e.redrawHint("eles",true);e.redraw()}),150);var u;if(r.deltaY!=null){u=r.deltaY/-250}else if(r.wheelDeltaY!=null){u=r.wheelDeltaY/1e3}else{u=r.wheelDelta/1e3}u=u*e.wheelSensitivity;var l=r.deltaMode===1;if(l){u*=33}var f=n.zoom()*Math.pow(10,u);if(r.type==="gesturechange"){f=e.gestureStartZoom*r.scale}n.zoom({level:f,renderedPosition:{x:s[0],y:s[1]}})}};e.registerBinding(e.container,"wheel",C,true);e.registerBinding(window,"scroll",(function t(r){e.scrollingPage=true;clearTimeout(e.scrollingPageTimeout);e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=false}),250)}),true);e.registerBinding(e.container,"gesturestart",(function t(r){e.gestureStartZoom=e.cy.zoom();if(!e.hasTouchStarted){r.preventDefault()}}),true);e.registerBinding(e.container,"gesturechange",(function(t){if(!e.hasTouchStarted){C(t)}}),true);e.registerBinding(e.container,"mouseout",(function t(r){var n=e.projectIntoViewport(r.clientX,r.clientY);e.cy.emit({originalEvent:r,type:"mouseout",position:{x:n[0],y:n[1]}})}),false);e.registerBinding(e.container,"mouseover",(function t(r){var n=e.projectIntoViewport(r.clientX,r.clientY);e.cy.emit({originalEvent:r,type:"mouseover",position:{x:n[0],y:n[1]}})}),false);var S,T,I,M;var O,z;var N,A;var B,L;var j,R;var F;var V=function e(t,r,n,a){return Math.sqrt((n-t)*(n-t)+(a-r)*(a-r))};var q=function e(t,r,n,a){return(n-t)*(n-t)+(a-r)*(a-r)};var G;e.registerBinding(e.container,"touchstart",G=function t(n){e.hasTouchStarted=true;if(!D(n)){return}m();e.touchData.capture=true;e.data.bgActivePosistion=undefined;var a=e.cy;var i=e.touchData.now;var o=e.touchData.earlier;if(n.touches[0]){var s=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);i[0]=s[0];i[1]=s[1]}if(n.touches[1]){var s=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);i[2]=s[0];i[3]=s[1]}if(n.touches[2]){var s=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);i[4]=s[0];i[5]=s[1]}if(n.touches[1]){e.touchData.singleTouchMoved=true;g(e.dragData.touchDragEles);var u=e.findContainerClientCoords();B=u[0];L=u[1];j=u[2];R=u[3];S=n.touches[0].clientX-B;T=n.touches[0].clientY-L;I=n.touches[1].clientX-B;M=n.touches[1].clientY-L;F=0<=S&&S<=j&&0<=I&&I<=j&&0<=T&&T<=R&&0<=M&&M<=R;var l=a.pan();var c=a.zoom();O=V(S,T,I,M);z=q(S,T,I,M);N=[(S+I)/2,(T+M)/2];A=[(N[0]-l.x)/c,(N[1]-l.y)/c];var v=200;var d=v*v;if(z=1){var C=e.touchData.startPosition=[];for(var P=0;P=e.touchTapThreshold2}if(i&&e.touchData.cxt){n.preventDefault();var k=n.touches[0].clientX-B,_=n.touches[0].clientY-L;var C=n.touches[1].clientX-B,N=n.touches[1].clientY-L;var j=q(k,_,C,N);var R=j/z;var G=150;var Y=G*G;var W=1.5;var X=W*W;if(R>=X||j>=Y){e.touchData.cxt=false;e.data.bgActivePosistion=undefined;e.redrawHint("select",true);var $={originalEvent:n,type:"cxttapend",position:{x:u[0],y:u[1]}};if(e.touchData.start){e.touchData.start.unactivate().emit($);e.touchData.start=null}else{s.emit($)}}}if(i&&e.touchData.cxt){var $={originalEvent:n,type:"cxtdrag",position:{x:u[0],y:u[1]}};e.data.bgActivePosistion=undefined;e.redrawHint("select",true);if(e.touchData.start){e.touchData.start.emit($)}else{s.emit($)}if(e.touchData.start){e.touchData.start._private.grabbed=false}e.touchData.cxtDragged=true;var H=e.findNearestElement(u[0],u[1],true,true);if(!e.touchData.cxtOver||H!==e.touchData.cxtOver){if(e.touchData.cxtOver){e.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:u[0],y:u[1]}})}e.touchData.cxtOver=H;if(H){H.emit({originalEvent:n,type:"cxtdragover",position:{x:u[0],y:u[1]}})}}}else if(i&&n.touches[2]&&s.boxSelectionEnabled()){n.preventDefault();e.data.bgActivePosistion=undefined;this.lastThreeTouch=+new Date;if(!e.touchData.selecting){s.emit({originalEvent:n,type:"boxstart",position:{x:u[0],y:u[1]}})}e.touchData.selecting=true;e.touchData.didSelect=true;o[4]=1;if(!o||o.length===0||o[0]===undefined){o[0]=(u[0]+u[2]+u[4])/3;o[1]=(u[1]+u[3]+u[5])/3;o[2]=(u[0]+u[2]+u[4])/3+1;o[3]=(u[1]+u[3]+u[5])/3+1}else{o[2]=(u[0]+u[2]+u[4])/3;o[3]=(u[1]+u[3]+u[5])/3}e.redrawHint("select",true);e.redraw()}else if(i&&n.touches[1]&&!e.touchData.didSelect&&s.zoomingEnabled()&&s.panningEnabled()&&s.userZoomingEnabled()&&s.userPanningEnabled()){n.preventDefault();e.data.bgActivePosistion=undefined;e.redrawHint("select",true);var U=e.dragData.touchDragEles;if(U){e.redrawHint("drag",true);for(var K=0;K0&&!e.hoverData.draggingEles&&!e.swipePanning&&e.data.bgActivePosistion!=null){e.data.bgActivePosistion=undefined;e.redrawHint("select",true);e.redraw()}},false);var W;e.registerBinding(window,"touchcancel",W=function t(r){var n=e.touchData.start;e.touchData.capture=false;if(n){n.unactivate()}});var X;e.registerBinding(window,"touchend",X=function n(a){var i=e.touchData.start;var o=e.touchData.capture;if(o){if(a.touches.length===0){e.touchData.capture=false}a.preventDefault()}else{return}var s=e.selection;e.swipePanning=false;e.hoverData.draggingEles=false;var u=e.cy;var l=u.zoom();var f=e.touchData.now;var c=e.touchData.earlier;if(a.touches[0]){var v=e.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);f[0]=v[0];f[1]=v[1]}if(a.touches[1]){var v=e.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);f[2]=v[0];f[3]=v[1]}if(a.touches[2]){var v=e.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);f[4]=v[0];f[5]=v[1]}if(i){i.unactivate()}var d;if(e.touchData.cxt){d={originalEvent:a,type:"cxttapend",position:{x:f[0],y:f[1]}};if(i){i.emit(d)}else{u.emit(d)}if(!e.touchData.cxtDragged){var h={originalEvent:a,type:"cxttap",position:{x:f[0],y:f[1]}};if(i){i.emit(h)}else{u.emit(h)}}if(e.touchData.start){e.touchData.start._private.grabbed=false}e.touchData.cxt=false;e.touchData.start=null;e.redraw();return}if(!a.touches[2]&&u.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=false;var p=u.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));s[0]=undefined;s[1]=undefined;s[2]=undefined;s[3]=undefined;s[4]=0;e.redrawHint("select",true);u.emit({type:"boxend",originalEvent:a,position:{x:f[0],y:f[1]}});var y=function e(t){return t.selectable()&&!t.selected()};p.emit("box").stdFilter(y).select().emit("boxselect");if(p.nonempty()){e.redrawHint("eles",true)}e.redraw()}if(i!=null){i.unactivate()}if(a.touches[2]){e.data.bgActivePosistion=undefined;e.redrawHint("select",true)}else if(a.touches[1]);else if(a.touches[0]);else if(!a.touches[0]){e.data.bgActivePosistion=undefined;e.redrawHint("select",true);var m=e.dragData.touchDragEles;if(i!=null){var b=i._private.grabbed;g(m);e.redrawHint("drag",true);e.redrawHint("eles",true);if(b){i.emit("freeon");m.emit("free");if(e.dragData.didDrag){i.emit("dragfreeon");m.emit("dragfree")}}r(i,["touchend","tapend","vmouseup","tapdragout"],a,{x:f[0],y:f[1]});i.unactivate();e.touchData.start=null}else{var x=e.findNearestElement(f[0],f[1],true,true);r(x,["touchend","tapend","vmouseup","tapdragout"],a,{x:f[0],y:f[1]})}var w=e.touchData.startPosition[0]-f[0];var E=w*w;var k=e.touchData.startPosition[1]-f[1];var _=k*k;var D=E+_;var C=D*l*l;if(!e.touchData.singleTouchMoved){if(!i){u.$(":selected").unselect(["tapunselect"])}r(i,["tap","vclick"],a,{x:f[0],y:f[1]})}if(i!=null&&!e.dragData.didDrag&&i._private.selectable&&C0){return p[0]}}return null};var d=Object.keys(c);for(var h=0;h0){return v}return Qt(i,o,t,r,n,a,s)},checkPoint:function e(t,r,n,a,i,o,s){var u=wr(a,i);var l=2*u;if(or(t,r,this.points,o,s,a,i-l,[0,-1],n)){return true}if(or(t,r,this.points,o,s,a-l,i,[0,-1],n)){return true}var f=a/2+2*n;var c=i/2+2*n;var v=[o-f,s-c,o-f,s,o+f,s,o+f,s-c];if(ir(t,r,v)){return true}if(cr(t,r,l,l,o+a/2-u,s+i/2-u,n)){return true}if(cr(t,r,l,l,o-a/2+u,s+i/2-u,n)){return true}return false}}};_u.registerNodeShapes=function(){var e=this.nodeShapes={};var t=this;this.generateEllipse();this.generatePolygon("triangle",mr(3,0));this.generateRoundPolygon("round-triangle",mr(3,0));this.generatePolygon("rectangle",mr(4,0));e["square"]=e["rectangle"];this.generateRoundRectangle();this.generateCutRectangle();this.generateBarrel();this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r);this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",mr(5,0));this.generateRoundPolygon("round-pentagon",mr(5,0));this.generatePolygon("hexagon",mr(6,0));this.generateRoundPolygon("round-hexagon",mr(6,0));this.generatePolygon("heptagon",mr(7,0));this.generateRoundPolygon("round-heptagon",mr(7,0));this.generatePolygon("octagon",mr(8,0));this.generateRoundPolygon("round-octagon",mr(8,0));var n=new Array(20);{var a=xr(5,0);var i=xr(5,Math.PI/5);var o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=t.deqFastCost*g){break}}else{if(i){if(h>=t.deqCost*l||h>=t.deqAvgCost*u){break}}else if(p>=t.deqNoDrawCost*Iu){break}}var y=t.deq(r,v,c);if(y.length>0){for(var m=0;m0){t.onDeqd(r,f);if(!i&&t.shouldRedraw(r,f,v,c)){a()}}};var s=t.priority||Le;n.beforeRender(o,s(r))}}};var Ou=function(){function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Ae;u(this,e);this.idsByKey=new et;this.keyForId=new et;this.cachesByLvl=new et;this.lvls=[];this.getKey=t;this.doesEleInvalidateKey=r}f(e,[{key:"getIdsFor",value:function e(t){if(t==null){je("Can not get id list for null key")}var r=this.idsByKey;var n=this.idsByKey.get(t);if(!n){n=new nt;r.set(t,n)}return n}},{key:"addIdForKey",value:function e(t,r){if(t!=null){this.getIdsFor(t).add(r)}}},{key:"deleteIdForKey",value:function e(t,r){if(t!=null){this.getIdsFor(t)["delete"](r)}}},{key:"getNumberOfIdsForKey",value:function e(t){if(t==null){return 0}else{return this.getIdsFor(t).size}}},{key:"updateKeyMappingFor",value:function e(t){var r=t.id();var n=this.keyForId.get(r);var a=this.getKey(t);this.deleteIdForKey(n,r);this.addIdForKey(a,r);this.keyForId.set(r,a)}},{key:"deleteKeyMappingFor",value:function e(t){var r=t.id();var n=this.keyForId.get(r);this.deleteIdForKey(n,r);this.keyForId["delete"](r)}},{key:"keyHasChangedFor",value:function e(t){var r=t.id();var n=this.keyForId.get(r);var a=this.getKey(t);return n!==a}},{key:"isInvalid",value:function e(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function e(t){var r=this.cachesByLvl,n=this.lvls;var a=r.get(t);if(!a){a=new et;r.set(t,a);n.push(t)}return a}},{key:"getCache",value:function e(t,r){return this.getCachesAt(r).get(t)}},{key:"get",value:function e(t,r){var n=this.getKey(t);var a=this.getCache(n,r);if(a!=null){this.updateKeyMappingFor(t)}return a}},{key:"getForCachedKey",value:function e(t,r){var n=this.keyForId.get(t.id());var a=this.getCache(n,r);return a}},{key:"hasCache",value:function e(t,r){return this.getCachesAt(r).has(t)}},{key:"has",value:function e(t,r){var n=this.getKey(t);return this.hasCache(n,r)}},{key:"setCache",value:function e(t,r,n){n.key=t;this.getCachesAt(r).set(t,n)}},{key:"set",value:function e(t,r,n){var a=this.getKey(t);this.setCache(a,r,n);this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function e(t,r){this.getCachesAt(r)["delete"](t)}},{key:"delete",value:function e(t,r){var n=this.getKey(t);this.deleteCache(n,r)}},{key:"invalidateKey",value:function e(t){var r=this;this.lvls.forEach((function(e){return r.deleteCache(t,e)}))}},{key:"invalidate",value:function e(t){var r=t.id();var n=this.keyForId.get(r);this.deleteKeyMappingFor(t);var a=this.doesEleInvalidateKey(t);if(a){this.invalidateKey(n)}return a||this.getNumberOfIdsForKey(n)===0}}]);return e}();var zu=25;var Nu=50;var Au=-4;var Bu=3;var Lu=7.99;var ju=8;var Ru=1024;var Fu=1024;var Vu=1024;var qu=.2;var Gu=.8;var Yu=10;var Wu=.15;var Xu=.1;var $u=.9;var Hu=.9;var Uu=100;var Ku=1;var Zu={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"};var Qu=$e({getKey:null,doesEleInvalidateKey:Ae,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Ne,allowEdgeTxrCaching:true,allowParentTxrCaching:true});var Ju=function e(t,r){var n=this;n.renderer=t;n.onDequeues=[];var a=Qu(r);ne(n,a);n.lookup=new Ou(a.getKey,a.doesEleInvalidateKey);n.setupDequeueing()};var el=Ju.prototype;el.reasons=Zu;el.getTextureQueue=function(e){var t=this;t.eleImgCaches=t.eleImgCaches||{};return t.eleImgCaches[e]=t.eleImgCaches[e]||[]};el.getRetiredTextureQueue=function(e){var t=this;var r=t.eleImgCaches.retired=t.eleImgCaches.retired||{};var n=r[e]=r[e]||[];return n};el.getElementQueue=function(){var e=this;var t=e.eleCacheQueue=e.eleCacheQueue||new o((function(e,t){return t.reqs-e.reqs}));return t};el.getElementKeyToQueue=function(){var e=this;var t=e.eleKeyToCacheQueue=e.eleKeyToCacheQueue||{};return t};el.getElement=function(e,t,r,n,a){var i=this;var o=this.renderer;var s=o.cy.zoom();var u=this.lookup;if(t.w===0||t.h===0||isNaN(t.w)||isNaN(t.h)||!e.visible()){return null}if(!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent()){return null}if(n==null){n=Math.ceil(It(s*r))}if(n=Lu||n>Bu){return null}var l=Math.pow(2,n);var f=t.h*l;var c=t.w*l;var v=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,v)){return null}var d=u.get(e,n);if(d&&d.invalidated){d.invalidated=false;d.texture.invalidatedWidth-=d.width}if(d){return d}var h;if(f<=zu){h=zu}else if(f<=Nu){h=Nu}else{h=Math.ceil(f/Nu)*Nu}if(f>Vu||c>Fu){return null}var p=i.getTextureQueue(h);var g=p[p.length-2];var y=function e(){return i.recycleTexture(h,c)||i.addTexture(h,c)};if(!g){g=p[p.length-1]}if(!g){g=y()}if(g.width-g.usedWidthn;S--){D=i.getElement(e,t,r,S,Zu.downscale)}C()}else{i.queueElement(e,E.level-1);return E}}else{var T;if(!b&&!x&&!w){for(var P=n-1;P>=Au;P--){var I=u.get(e,P);if(I){T=I;break}}}if(m(T)){i.queueElement(e,n);return T}g.context.translate(g.usedWidth,0);g.context.scale(l,l);this.drawElement(g.context,e,t,v,false);g.context.scale(1/l,1/l);g.context.translate(-g.usedWidth,0)}d={x:g.usedWidth,texture:g,level:n,scale:l,width:c,height:f,scaledLabelShown:v};g.usedWidth+=Math.ceil(c+ju);g.eleCaches.push(d);u.set(e,n,d);i.checkTextureFullness(g);return d};el.invalidateElements=function(e){for(var t=0;t=qu*e.width){this.retireTexture(e)}};el.checkTextureFullness=function(e){var t=this;var r=t.getTextureQueue(e.height);if(e.usedWidth/e.width>Gu&&e.fullnessChecks>=Yu){He(r,e)}else{e.fullnessChecks++}};el.retireTexture=function(e){var t=this;var r=e.height;var n=t.getTextureQueue(r);var a=this.lookup;He(n,e);e.retired=true;var i=e.eleCaches;for(var o=0;o=t){o.retired=false;o.usedWidth=0;o.invalidatedWidth=0;o.fullnessChecks=0;Ue(o.eleCaches);o.context.setTransform(1,0,0,1,0,0);o.context.clearRect(0,0,o.width,o.height);He(a,o);n.push(o);return o}}};el.queueElement=function(e,t){var r=this;var n=r.getElementQueue();var a=r.getElementKeyToQueue();var i=this.getKey(e);var o=a[i];if(o){o.level=Math.max(o.level,t);o.eles.merge(e);o.reqs++;n.updateItem(o)}else{var s={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(s);a[i]=s}};el.dequeue=function(e){var t=this;var r=t.getElementQueue();var n=t.getElementKeyToQueue();var a=[];var i=t.lookup;for(var o=0;o0){var s=r.pop();var u=s.key;var l=s.eles[0];var f=i.hasCache(l,s.level);n[u]=null;if(f){continue}a.push(s);var c=t.getBoundingBox(l);t.getElement(l,c,e,s.level,Zu.dequeue)}else{break}}return a};el.removeFromQueue=function(e){var t=this;var r=t.getElementQueue();var n=t.getElementKeyToQueue();var a=this.getKey(e);var i=n[a];if(i!=null){if(i.eles.length===1){i.reqs=ze;r.updateItem(i);r.pop();n[a]=null}else{i.eles.unmerge(e)}}};el.onDequeue=function(e){this.onDequeues.push(e)};el.offDequeue=function(e){He(this.onDequeues,e)};el.setupDequeueing=Mu.setupDequeueing({deqRedrawThreshold:Uu,deqCost:Wu,deqAvgCost:Xu,deqNoDrawCost:$u,deqFastCost:Hu,deq:function e(t,r,n){return t.dequeue(r,n)},onDeqd:function e(t,r){for(var n=0;n=al||r>nl){return null}}n.validateLayersElesOrdering(r,e);var u=n.layersByLevel;var l=Math.pow(2,r);var f=u[r]=u[r]||[];var c;var v=n.levelIsComplete(r,e);var d;var h=function t(){var a=function t(r){n.validateLayersElesOrdering(r,e);if(n.levelIsComplete(r,e)){d=u[r];return true}};var i=function e(t){if(d){return}for(var n=r+t;rl<=n&&n<=nl;n+=t){if(a(n)){break}}};i(+1);i(-1);for(var o=f.length-1;o>=0;o--){var s=f[o];if(s.invalid){He(f,s)}}};if(!v){h()}else{return f}var p=function t(){if(!c){c=Rt();for(var r=0;rdl){return null}var o=n.makeLayer(c,r);if(a!=null){var s=f.indexOf(a)+1;f.splice(s,0,o)}else if(t.insert===undefined||t.insert){f.unshift(o)}return o};if(n.skipping&&!s){return null}var y=null;var m=e.length/tl;var b=!s;for(var x=0;x=m||!Zt(y.bb,w.boundingBox())){y=g({insert:true,after:y});if(!y){return null}}if(d||b){n.queueLayer(y,w)}else{n.drawEleInLayer(y,w,r,t)}y.eles.push(w);k[r]=y}if(d){return d}if(b){return null}return f};gl.getEleLevelForLayerLevel=function(e,t){return e};gl.drawEleInLayer=function(e,t,r,n){var a=this;var i=this.renderer;var o=e.context;var s=t.boundingBox();if(s.w===0||s.h===0||!t.visible()){return}r=a.getEleLevelForLayerLevel(r,n);{i.setImgSmoothing(o,false)}{i.drawCachedElement(o,t,null,null,r,hl)}{i.setImgSmoothing(o,true)}};gl.levelIsComplete=function(e,t){var r=this;var n=r.layersByLevel[e];if(!n||n.length===0){return false}var a=0;for(var i=0;i0){return false}if(o.invalid){return false}a+=o.eles.length}if(a!==t.length){return false}return true};gl.validateLayersElesOrdering=function(e,t){var r=this.layersByLevel[e];if(!r){return}for(var n=0;n0){t=true;break}}return t};gl.invalidateElements=function(e){var t=this;if(e.length===0){return}t.lastInvalidationTime=ge();if(e.length===0||!t.haveLayers()){return}t.updateElementsInLayers(e,(function e(r,n,a){t.invalidateLayer(r)}))};gl.invalidateLayer=function(e){this.lastInvalidationTime=ge();if(e.invalid){return}var t=e.level;var r=e.eles;var n=this.layersByLevel[t];He(n,e);e.elesQueue=[];e.invalid=true;if(e.replacement){e.replacement.invalid=true}for(var a=0;a3&&arguments[3]!==undefined?arguments[3]:true;var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var i=arguments.length>5&&arguments[5]!==undefined?arguments[5]:true;var o=this;var s=t._private.rscratch;if(i&&!t.visible()){return}if(s.badLine||s.allpts==null||isNaN(s.allpts[0])){return}var u;if(r){u=r;e.translate(-u.x1,-u.y1)}var l=i?t.pstyle("opacity").value:1;var f=t.pstyle("line-style").value;var c=t.pstyle("width").pfValue;var v=t.pstyle("line-cap").value;var d=function r(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:l;e.lineWidth=c;e.lineCap=v;o.eleStrokeStyle(e,t,n);o.drawEdgePath(t,e,s.allpts,f);e.lineCap="butt"};var h=function r(){if(!a){return}o.drawEdgeOverlay(e,t)};var p=function r(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:l;o.drawArrowheads(e,t,n)};var g=function r(){o.drawElementText(e,t,null,n)};e.lineJoin="round";var y=t.pstyle("ghost").value==="yes";if(y){var m=t.pstyle("ghost-offset-x").pfValue;var b=t.pstyle("ghost-offset-y").pfValue;var x=t.pstyle("ghost-opacity").value;var w=l*x;e.translate(m,b);d(w);p(w);e.translate(-m,-b)}d();p();h();g();if(r){e.translate(u.x1,u.y1)}};zl.drawEdgeOverlay=function(e,t){if(!t.visible()){return}var r=t.pstyle("overlay-opacity").value;if(r===0){return}var n=this;var a=n.usePaths();var i=t._private.rscratch;var o=t.pstyle("overlay-padding").pfValue;var s=2*o;var u=t.pstyle("overlay-color").value;e.lineWidth=s;if(i.edgeType==="self"&&!a){e.lineCap="butt"}else{e.lineCap="round"}n.colorStrokeStyle(e,u[0],u[1],u[2],r);n.drawEdgePath(t,e,i.allpts,"solid")};zl.drawEdgePath=function(e,t,r,n){var a=e._private.rscratch;var i=t;var o;var s=false;var u=this.usePaths();var l=e.pstyle("line-dash-pattern").pfValue;var f=e.pstyle("line-dash-offset").pfValue;if(u){var c=r.join("$");var v=a.pathCacheKey&&a.pathCacheKey===c;if(v){o=t=a.pathCache;s=true}else{o=t=new Path2D;a.pathCacheKey=c;a.pathCache=o}}if(i.setLineDash){switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l);i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}}if(!s&&!a.badLine){if(t.beginPath){t.beginPath()}t.moveTo(r[0],r[1]);switch(a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+35&&arguments[5]!==undefined?arguments[5]:true;var o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(t)){return}}else if(n===false){return}if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value){return}var u=o.getLabelJustification(t);e.textAlign=u;e.textBaseline="bottom"}else{var l=t.element()._private.rscratch.badLine;var f=t.pstyle("label");var c=t.pstyle("source-label");var v=t.pstyle("target-label");if(l||(!f||!f.value)&&(!c||!c.value)&&(!v||!v.value)){return}e.textAlign="center";e.textBaseline="bottom"}var d=!r;var h;if(r){h=r;e.translate(-h.x1,-h.y1)}if(a==null){o.drawText(e,t,null,d,i);if(t.isEdge()){o.drawText(e,t,"source",d,i);o.drawText(e,t,"target",d,i)}}else{o.drawText(e,t,a,d,i)}if(r){e.translate(h.x1,h.y1)}};Al.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==undefined?arguments[2]:true;var n=t.pstyle("font-style").strValue;var a=t.pstyle("font-size").pfValue+"px";var i=t.pstyle("font-family").strValue;var o=t.pstyle("font-weight").strValue;var s=r?t.effectiveOpacity()*t.pstyle("text-opacity").value:1;var u=t.pstyle("text-outline-opacity").value*s;var l=t.pstyle("color").value;var f=t.pstyle("text-outline-color").value;e.font=n+" "+o+" "+a+" "+i;e.lineJoin="round";this.colorFillStyle(e,l[0],l[1],l[2],s);this.colorStrokeStyle(e,f[0],f[1],f[2],u)};function Bl(e,t,r,n,a){var i=arguments.length>5&&arguments[5]!==undefined?arguments[5]:5;e.beginPath();e.moveTo(t+i,r);e.lineTo(t+n-i,r);e.quadraticCurveTo(t+n,r,t+n,r+i);e.lineTo(t+n,r+a-i);e.quadraticCurveTo(t+n,r+a,t+n-i,r+a);e.lineTo(t+i,r+a);e.quadraticCurveTo(t,r+a,t,r+a-i);e.lineTo(t,r+i);e.quadraticCurveTo(t,r,t+i,r);e.closePath();e.fill()}Al.getTextAngle=function(e,t){var r;var n=e._private;var a=n.rscratch;var i=t?t+"-":"";var o=e.pstyle(i+"text-rotation");var s=Ze(a,"labelAngle",t);if(o.strValue==="autorotate"){r=e.isEdge()?s:0}else if(o.strValue==="none"){r=0}else{r=o.pfValue}return r};Al.drawText=function(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var i=t._private;var o=i.rscratch;var s=a?t.effectiveOpacity():1;if(a&&(s===0||t.pstyle("text-opacity").value===0)){return}if(r==="main"){r=null}var u=Ze(o,"labelX",r);var l=Ze(o,"labelY",r);var f,c;var v=this.getLabelText(t,r);if(v!=null&&v!==""&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(e,t,a);var d=r?r+"-":"";var h=Ze(o,"labelWidth",r);var p=Ze(o,"labelHeight",r);var g=t.pstyle(d+"text-margin-x").pfValue;var y=t.pstyle(d+"text-margin-y").pfValue;var m=t.isEdge();var b=t.pstyle("text-halign").value;var x=t.pstyle("text-valign").value;if(m){b="center";x="center"}u+=g;l+=y;var w;if(!n){w=0}else{w=this.getTextAngle(t,r)}if(w!==0){f=u;c=l;e.translate(f,c);e.rotate(w);u=0;l=0}switch(x){case"top":break;case"center":l+=p/2;break;case"bottom":l+=p;break}var E=t.pstyle("text-background-opacity").value;var k=t.pstyle("text-border-opacity").value;var _=t.pstyle("text-border-width").pfValue;var D=t.pstyle("text-background-padding").pfValue;if(E>0||_>0&&k>0){var C=u-D;switch(b){case"left":C-=h;break;case"center":C-=h/2;break}var S=l-p-D;var T=h+2*D;var P=p+2*D;if(E>0){var I=e.fillStyle;var M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+E*s+")";var O=t.pstyle("text-background-shape").strValue;if(O.indexOf("round")===0){Bl(e,C,S,T,P,2)}else{e.fillRect(C,S,T,P)}e.fillStyle=I}if(_>0&&k>0){var z=e.strokeStyle;var N=e.lineWidth;var A=t.pstyle("text-border-color").value;var B=t.pstyle("text-border-style").value;e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+k*s+")";e.lineWidth=_;if(e.setLineDash){switch(B){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=_/4;e.setLineDash([]);break;case"solid":e.setLineDash([]);break}}e.strokeRect(C,S,T,P);if(B==="double"){var L=_/2;e.strokeRect(C+L,S+L,T-L*2,P-L*2)}if(e.setLineDash){e.setLineDash([])}e.lineWidth=N;e.strokeStyle=z}}var j=2*t.pstyle("text-outline-width").pfValue;if(j>0){e.lineWidth=j}if(t.pstyle("text-wrap").value==="wrap"){var R=Ze(o,"labelWrapCachedLines",r);var F=Ze(o,"labelLineHeight",r);var V=h/2;var q=this.getLabelJustification(t);if(q==="auto");else if(b==="left"){if(q==="left"){u+=-h}else if(q==="center"){u+=-V}}else if(b==="center"){if(q==="left"){u+=-V}else if(q==="right"){u+=V}}else if(b==="right"){if(q==="center"){u+=V}else if(q==="right"){u+=h}}switch(x){case"top":l-=(R.length-1)*F;break;case"center":case"bottom":l-=(R.length-1)*F;break}for(var G=0;G0){e.strokeText(R[G],u,l)}e.fillText(R[G],u,l);l+=F}}else{if(j>0){e.strokeText(v,u,l)}e.fillText(v,u,l)}if(w!==0){e.rotate(-w);e.translate(-f,-c)}}};var Ll={};Ll.drawNode=function(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var i=arguments.length>5&&arguments[5]!==undefined?arguments[5]:true;var o=this;var s,u;var l=t._private;var f=l.rscratch;var c=t.position();if(!P(c.x)||!P(c.y)){return}if(i&&!t.visible()){return}var v=i?t.effectiveOpacity():1;var d=o.usePaths();var h;var p=false;var g=t.padding();s=t.width()+2*g;u=t.height()+2*g;var y;if(r){y=r;e.translate(-y.x1,-y.y1)}var m=t.pstyle("background-image");var b=m.value;var x=new Array(b.length);var w=new Array(b.length);var E=0;for(var k=0;k0&&arguments[0]!==undefined?arguments[0]:I;o.eleFillStyle(e,t,n)};var A=function t(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:z;o.colorStrokeStyle(e,M[0],M[1],M[2],r)};var B=t.pstyle("shape").strValue;var L=t.pstyle("shape-polygon-points").pfValue;if(d){e.translate(c.x,c.y);var j=o.nodePathCache=o.nodePathCache||[];var R=Te(B==="polygon"?B+","+L.join(","):B,""+u,""+s);var F=j[R];if(F!=null){h=F;p=true;f.pathCache=h}else{h=new Path2D;j[R]=f.pathCache=h}}var V=function r(){if(!p){var n=c;if(d){n={x:0,y:0}}o.nodeShapes[o.getNodeShape(t)].draw(h||e,n.x,n.y,s,u)}if(d){e.fill(h)}else{e.fill()}};var q=function r(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:v;var a=l.backgrounding;var i=0;for(var s=0;s0&&arguments[0]!==undefined?arguments[0]:false;var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:v;if(o.hasPie(t)){o.drawPie(e,t,a);if(n){if(!d){o.nodeShapes[o.getNodeShape(t)].draw(e,c.x,c.y,s,u)}}}};var Y=function t(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:v;var n=(S>0?S:-S)*r;var a=S>0?0:255;if(S!==0){o.colorFillStyle(e,a,a,a,n);if(d){e.fill(h)}else{e.fill()}}};var W=function t(){if(T>0){e.lineWidth=T;e.lineCap="butt";if(e.setLineDash){switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([]);break}}if(d){e.stroke(h)}else{e.stroke()}if(O==="double"){e.lineWidth=T/3;var r=e.globalCompositeOperation;e.globalCompositeOperation="destination-out";if(d){e.stroke(h)}else{e.stroke()}e.globalCompositeOperation=r}if(e.setLineDash){e.setLineDash([])}}};var X=function r(){if(a){o.drawNodeOverlay(e,t,c,s,u)}};var $=function r(){o.drawElementText(e,t,null,n)};var H=t.pstyle("ghost").value==="yes";if(H){var U=t.pstyle("ghost-offset-x").pfValue;var K=t.pstyle("ghost-offset-y").pfValue;var Z=t.pstyle("ghost-opacity").value;var Q=Z*v;e.translate(U,K);N(Z*I);V();q(Q);G(S!==0||T!==0);Y(Q);A(Z*z);W();e.translate(-U,-K)}N();V();q();G(S!==0||T!==0);Y();A();W();if(d){e.translate(-c.x,-c.y)}$();X();if(r){e.translate(y.x1,y.y1)}};Ll.drawNodeOverlay=function(e,t,r,n,a){var i=this;if(!t.visible()){return}var o=t.pstyle("overlay-padding").pfValue;var s=t.pstyle("overlay-opacity").value;var u=t.pstyle("overlay-color").value;if(s>0){r=r||t.position();if(n==null||a==null){var l=t.padding();n=t.width()+2*l;a=t.height()+2*l}i.colorFillStyle(e,u[0],u[1],u[2],s);i.nodeShapes["roundrectangle"].draw(e,r.x,r.y,n+o*2,a+o*2);e.fill()}};Ll.hasPie=function(e){e=e[0];return e._private.hasPie};Ll.drawPie=function(e,t,r,n){t=t[0];n=n||t.position();var a=t.cy().style();var i=t.pstyle("pie-size");var o=n.x;var s=n.y;var u=t.width();var l=t.height();var f=Math.min(u,l)/2;var c=0;var v=this.usePaths();if(v){o=0;s=0}if(i.units==="%"){f=f*i.pfValue}else if(i.pfValue!==undefined){f=i.pfValue/2}for(var d=1;d<=a.pieBackgroundN;d++){var h=t.pstyle("pie-"+d+"-background-size").value;var p=t.pstyle("pie-"+d+"-background-color").value;var g=t.pstyle("pie-"+d+"-background-opacity").value*r;var y=h/100;if(y+c>1){y=1-c}var m=1.5*Math.PI+2*Math.PI*c;var b=2*Math.PI*y;var x=m+b;if(h===0||c>=1||c+y>1){continue}e.beginPath();e.moveTo(o,s);e.arc(o,s,f,m,x);e.closePath();this.colorFillStyle(e,p[0],p[1],p[2],g);e.fill();c+=y}};var jl={};var Rl=100;jl.getPixelRatio=function(){var e=this.data.contexts[0];if(this.forcedPixelRatio!=null){return this.forcedPixelRatio}var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t};jl.paintCache=function(e){var t=this.paintCaches=this.paintCaches||[];var r=true;var n;for(var a=0;ao.minMbLowQualFrames){o.motionBlurPxRatio=o.mbPxRBlurry}}if(o.clearingMotionBlur){o.motionBlurPxRatio=1}if(o.textureDrawLastFrame&&!c){f[o.NODE]=true;f[o.SELECT_BOX]=true}var m=u.style();var b=u.zoom();var x=a!==undefined?a:b;var w=u.pan();var E={x:w.x,y:w.y};var k={zoom:b,pan:{x:w.x,y:w.y}};var _=o.prevViewport;var D=_===undefined||k.zoom!==_.zoom||k.pan.x!==_.pan.x||k.pan.y!==_.pan.y;if(!D&&!(p&&!h)){o.motionBlurPxRatio=1}if(i){E=i}x*=s;E.x*=s;E.y*=s;var C=o.getCachedZSortedEles();function S(e,t,r,n,a){var i=e.globalCompositeOperation;e.globalCompositeOperation="destination-out";o.colorFillStyle(e,255,255,255,o.motionBlurTransparency);e.fillRect(t,r,n,a);e.globalCompositeOperation=i}function T(e,n){var s,u,f,c;if(!o.clearingMotionBlur&&(e===l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||e===l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])){s={x:w.x*d,y:w.y*d};u=b*d;f=o.canvasWidth*d;c=o.canvasHeight*d}else{s=E;u=x;f=o.canvasWidth;c=o.canvasHeight}e.setTransform(1,0,0,1,0,0);if(n==="motionBlur"){S(e,0,0,f,c)}else if(!t&&(n===undefined||n)){e.clearRect(0,0,f,c)}if(!r){e.translate(s.x,s.y);e.scale(u,u)}if(i){e.translate(i.x,i.y)}if(a){e.scale(a,a)}}if(!c){o.textureDrawLastFrame=false}if(c){o.textureDrawLastFrame=true;if(!o.textureCache){o.textureCache={};o.textureCache.bb=u.mutableElements().boundingBox();o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var P=o.data.bufferContexts[o.TEXTURE_BUFFER];P.setTransform(1,0,0,1,0,0);P.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult);o.render({forcedContext:P,drawOnlyNodeLayer:true,forcedPxRatio:s*o.textureMult});var k=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};k.mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}f[o.DRAG]=false;f[o.NODE]=false;var I=l.contexts[o.NODE];var M=o.textureCache.texture;var k=o.textureCache.viewport;I.setTransform(1,0,0,1,0,0);if(v){S(I,0,0,k.width,k.height)}else{I.clearRect(0,0,k.width,k.height)}var O=m.core("outside-texture-bg-color").value;var z=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(I,O[0],O[1],O[2],z);I.fillRect(0,0,k.width,k.height);var b=u.zoom();T(I,false);I.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s);I.drawImage(M,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else if(o.textureOnViewport&&!t){o.textureCache=null}var N=u.extent();var A=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated();var B=o.hideEdgesOnViewport&&A;var L=[];L[o.NODE]=!f[o.NODE]&&v&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur;if(L[o.NODE]){o.clearedForMotionBlur[o.NODE]=true}L[o.DRAG]=!f[o.DRAG]&&v&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur;if(L[o.DRAG]){o.clearedForMotionBlur[o.DRAG]=true}if(f[o.NODE]||r||n||L[o.NODE]){var j=v&&!L[o.NODE]&&d!==1;var I=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]);var R=v&&!j?"motionBlur":undefined;T(I,R);if(B){o.drawCachedNodes(I,C.nondrag,s,N)}else{o.drawLayeredElements(I,C.nondrag,s,N)}if(o.debug){o.drawDebugPoints(I,C.nondrag)}if(!r&&!v){f[o.NODE]=false}}if(!n&&(f[o.DRAG]||r||L[o.DRAG])){var j=v&&!L[o.DRAG]&&d!==1;var I=t||(j?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]);T(I,v&&!j?"motionBlur":undefined);if(B){o.drawCachedNodes(I,C.drag,s,N)}else{o.drawCachedElements(I,C.drag,s,N)}if(o.debug){o.drawDebugPoints(I,C.drag)}if(!r&&!v){f[o.DRAG]=false}}if(o.showFps||!n&&f[o.SELECT_BOX]&&!r){var I=t||l.contexts[o.SELECT_BOX];T(I);if(o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var b=o.cy.zoom();var F=m.core("selection-box-border-width").value/b;I.lineWidth=F;I.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")";I.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]);if(F>0){I.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")";I.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1])}}if(l.bgActivePosistion&&!o.hoverData.selecting){var b=o.cy.zoom();var V=l.bgActivePosistion;I.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")";I.beginPath();I.arc(V.x,V.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI);I.fill()}var q=o.lastRedrawTime;if(o.showFps&&q){q=Math.round(q);var G=Math.round(1e3/q);I.setTransform(1,0,0,1,0,0);I.fillStyle="rgba(255, 0, 0, 0.75)";I.strokeStyle="rgba(255, 0, 0, 0.75)";I.lineWidth=1;I.fillText("1 frame = "+q+" ms = "+G+" fps",0,20);var Y=60;I.strokeRect(0,30,250,20);I.fillRect(0,30,250*Math.min(G/Y,1),20)}if(!r){f[o.SELECT_BOX]=false}}if(v&&d!==1){var W=l.contexts[o.NODE];var X=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE];var $=l.contexts[o.DRAG];var H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG];var U=function e(t,r,n){t.setTransform(1,0,0,1,0,0);if(n||!y){t.clearRect(0,0,o.canvasWidth,o.canvasHeight)}else{S(t,0,0,o.canvasWidth,o.canvasHeight)}var a=d;t.drawImage(r,0,0,o.canvasWidth*a,o.canvasHeight*a,0,0,o.canvasWidth,o.canvasHeight)};if(f[o.NODE]||L[o.NODE]){U(W,X,L[o.NODE]);f[o.NODE]=false}if(f[o.DRAG]||L[o.DRAG]){U($,H,L[o.DRAG]);f[o.DRAG]=false}}o.prevViewport=k;if(o.clearingMotionBlur){o.clearingMotionBlur=false;o.motionBlurCleared=true;o.motionBlur=true}if(v){o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null;o.clearedForMotionBlur[o.NODE]=false;o.clearedForMotionBlur[o.DRAG]=false;o.motionBlur=false;o.clearingMotionBlur=!c;o.mbFrames=0;f[o.NODE]=true;f[o.DRAG]=true;o.redraw()}),Rl)}if(!t){u.emit("render")}};var Fl={};Fl.drawPolygonPath=function(e,t,r,n,a,i){var o=n/2;var s=a/2;if(e.beginPath){e.beginPath()}e.moveTo(t+o*i[0],r+s*i[1]);for(var u=1;u0&&o>0){d.clearRect(0,0,i,o);d.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(e.full){d.translate(-n.x1*l,-n.y1*l);d.scale(l,l);this.drawElements(d,h);d.scale(1/l,1/l);d.translate(n.x1*l,n.y1*l)}else{var p=t.pan();var g={x:p.x*l,y:p.y*l};l*=t.zoom();d.translate(g.x,g.y);d.scale(l,l);this.drawElements(d,h);d.scale(1/l,1/l);d.translate(-g.x,-g.y)}if(e.bg){d.globalCompositeOperation="destination-over";d.fillStyle=e.bg;d.rect(0,0,i,o);d.fill()}}return v};function Hl(e,t){var r=atob(e);var n=new ArrayBuffer(r.length);var a=new Uint8Array(n);for(var i=0;i=0){e._idleTimeoutId=setTimeout((function t(){if(e._onTimeout)e._onTimeout()}),t)}};r(109);t.setImmediate=typeof self!=="undefined"&&self.setImmediate||typeof e!=="undefined"&&e.setImmediate||this&&this.setImmediate;t.clearImmediate=typeof self!=="undefined"&&self.clearImmediate||typeof e!=="undefined"&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(6))},function(e,t,r){(function(e,t){(function(e,r){"use strict";if(e.setImmediate){return}var n=1;var a={};var i=false;var o=e.document;var s;function u(e){if(typeof e!=="function"){e=new Function(""+e)}var t=new Array(arguments.length-1);for(var r=0;r=t||r<0||v&&n>=o}function k(){var e=y();if(w(e)){return _(e)}u=setTimeout(k,x(e))}function _(e){u=undefined;if(d&&a){return h(e)}a=i=undefined;return s}function D(){if(u!==undefined){clearTimeout(u)}f=0;a=l=i=u=undefined}function C(){return u===undefined?s:_(y())}function S(){var e=y(),r=w(e);a=arguments;i=this;l=e;if(r){if(u===undefined){return m(l)}if(v){u=setTimeout(k,t);return h(l)}}if(u===undefined){u=setTimeout(k,t)}return s}S.cancel=D;S.flush=C;return S}function b(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function x(e){return!!e&&typeof e=="object"}function w(e){return typeof e=="symbol"||x(e)&&h.call(e)==a}function E(e){if(typeof e=="number"){return e}if(w(e)){return n}if(b(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=b(t)?t+"":t}if(typeof e!="string"){return e===0?e:+e}e=e.replace(i,"");var r=s.test(e);return r||u.test(e)?l(e.slice(2),r?2:8):o.test(e)?n:+e}e.exports=m}).call(this,r(6))},function(e,t,r){e.exports=r(112)},function(e,t,r){var n,a,i;(function(){var r,o,s,u,l,f,c,v,d,h,p,g,y,m,b;s=Math.floor,h=Math.min;o=function(e,t){if(et){return 1}return 0};d=function(e,t,r,n,a){var i;if(r==null){r=0}if(a==null){a=o}if(r<0){throw new Error("lo must be non-negative")}if(n==null){n=e.length}while(rr;0<=r?t++:t--){c.push(t)}return c}.apply(this).reverse();f=[];for(n=0,i=l.length;ng;a=0<=g?++c:--c){y.push(l(e,r))}return y};m=function(e,t,r,n){var a,i,s;if(n==null){n=o}a=e[r];while(r>t){s=r-1>>1;i=e[s];if(n(a,i)<0){e[r]=i;r=s;continue}break}return e[r]=a};b=function(e,t,r){var n,a,i,s,u;if(r==null){r=o}a=e.length;u=t;i=e[t];n=2*t+1;while(n 0){\n containerPos.top += borderThickness;\n containerPos.left += borderThickness;\n }\n \n // var left = containerPos.left + renderedPos.x;\n // var top = containerPos.top + renderedPos.y;\n //$cxtMenu.css('left', left);\n //$cxtMenu.css('top', top);\n\n\n var containerHeight = $(cy.container()).innerHeight();\n var containerWidth = $(cy.container()).innerWidth(); \n\n var horizontalSplit = containerHeight/2 ;\n var verticalSplit = containerWidth/2 ;\n var windowHeight = $(window).height();\n var windowWidth = $(window).width(); \n \n \n //When user click on bottom-left part of window\n if(renderedPos.y > horizontalSplit && renderedPos.x <= verticalSplit) {\n $cxtMenu.css(\"left\", renderedPos.x + containerPos.left);\n $cxtMenu.css(\"bottom\", windowHeight - (containerPos.top + renderedPos.y));\n $cxtMenu.css(\"right\", \"auto\");\n $cxtMenu.css(\"top\", \"auto\");\n } else if(renderedPos.y > horizontalSplit && renderedPos.x > verticalSplit) {\n //When user click on bottom-right part of window\n $cxtMenu.css(\"right\", windowWidth - (containerPos.left+ renderedPos.x));\n $cxtMenu.css(\"bottom\", windowHeight - (containerPos.top + renderedPos.y));\n $cxtMenu.css(\"left\", \"auto\");\n $cxtMenu.css(\"top\", \"auto\");\n } else if(renderedPos.y <= horizontalSplit && renderedPos.x <= verticalSplit) {\n //When user click on top-left part of window\n $cxtMenu.css(\"left\", renderedPos.x + containerPos.left);\n $cxtMenu.css(\"top\", renderedPos.y + containerPos.top);\n $cxtMenu.css(\"right\", \"auto\");\n $cxtMenu.css(\"bottom\", \"auto\");\n } else {\n //When user click on top-right part of window\n $cxtMenu.css(\"right\", windowWidth - (renderedPos.x + containerPos.left));\n $cxtMenu.css(\"top\", renderedPos.y + containerPos.top);\n $cxtMenu.css(\"left\", \"auto\");\n $cxtMenu.css(\"bottom\", \"auto\");\n }\n }\n }\n\n function createAndAppendMenuItemComponents(menuItems) {\n for (var i = 0; i < menuItems.length; i++) {\n createAndAppendMenuItemComponent(menuItems[i]);\n }\n }\n\n function createAndAppendMenuItemComponent(menuItem) {\n // Create and append menu item\n var $menuItemComponent = createMenuItemComponent(menuItem);\n appendComponentToCxtMenu($menuItemComponent);\n\n performBindings($menuItemComponent, menuItem.onClickFunction, menuItem.selector, menuItem.coreAsWell);\n }//insertComponentBeforeExistingItem(component, existingItemID)\n\n function createAndInsertMenuItemComponentBeforeExistingComponent(menuItem, existingComponentID) {\n // Create and insert menu item\n var $menuItemComponent = createMenuItemComponent(menuItem);\n insertComponentBeforeExistingItem($menuItemComponent, existingComponentID);\n\n performBindings($menuItemComponent, menuItem.onClickFunction, menuItem.selector, menuItem.coreAsWell);\n }\n\n // create cxtMenu and append it to body\n function createAndAppendCxtMenuComponent() {\n var classes = getClassStr(options.contextMenuClasses);\n// classes += ' cy-context-menus-cxt-menu';\n $cxtMenu = $('
');\n $cxtMenu.addClass('cy-context-menus-cxt-menu');\n setScratchProp('cxtMenu', $cxtMenu);\n\n $('body').append($cxtMenu);\n return $cxtMenu;\n }\n\n // Creates a menu item as an html component\n function createMenuItemComponent(item) {\n var classStr = getMenuItemClassStr(options.menuItemClasses, item.hasTrailingDivider);\n var itemStr = '';\n };\n\n var $menuItemComponent = $(itemStr);\n\n $menuItemComponent.data('selector', item.selector); \n $menuItemComponent.data('on-click-function', item.onClickFunction);\n $menuItemComponent.data('show', (typeof(item.show) === 'undefined' || item.show)); \n return $menuItemComponent;\n }\n\n // Appends the given component to cxtMenu\n function appendComponentToCxtMenu(component) {\n $cxtMenu.append(component);\n bindMenuItemClickFunction(component);\n }\n\n // Insert the given component to cxtMenu just before the existing item with given ID\n function insertComponentBeforeExistingItem(component, existingItemID) {\n var $existingItem = $('#' + existingItemID);\n component.insertBefore($existingItem);\n }\n\n function destroyCxtMenu() {\n if(!getScratchProp('active')) {\n return;\n }\n\n removeAndUnbindMenuItems();\n\n cy.off('tapstart', eventCyTapStart);\n\n $cxtMenu.remove();\n $cxtMenu = undefined;\n setScratchProp($cxtMenu, undefined);\n setScratchProp('active', false);\n setScratchProp('anyVisibleChild', false);\n }\n\n function removeAndUnbindMenuItems() {\n var children = $cxtMenu.children();\n\n $(children).each(function() {\n removeAndUnbindMenuItem($(this));\n });\n }\n\n function removeAndUnbindMenuItem(itemID) {\n var $component = typeof itemID === 'string' ? $('#' + itemID) : itemID;\n var cxtfcn = $component.data('cy-context-menus-cxtfcn');\n var selector = $component.data('selector');\n var callOnClickFcn = $component.data('call-on-click-function');\n var cxtCoreFcn = $component.data('cy-context-menus-cxtcorefcn');\n \n if(cxtfcn) {\n cy.off(options.evtType, selector, cxtfcn);\n }\n\n if(cxtCoreFcn) {\n cy.off(options.evtType, cxtCoreFcn);\n }\n\n if(callOnClickFcn) {\n $component.off('click', callOnClickFcn);\n }\n\n $component.remove();\n }\n\n function moveBeforeOtherMenuItemComponent(componentID, existingComponentID) {\n if( componentID === existingComponentID ) {\n return;\n }\n\n var $component = $('#' + componentID).detach();\n var $existingComponent = $('#' + existingComponentID);\n\n $component.insertBefore($existingComponent);\n }\n\n function bindMenuItemClickFunction(component) {\n component.click( function() {\n hideComponent($cxtMenu);\n setScratchProp('cxtMenuPosition', undefined);\n });\n }\n\n function disableComponent(componentID) {\n $('#' + componentID).attr('disabled', true);\n }\n\n function enableComponent(componentID) {\n $('#' + componentID).attr('disabled', false);\n }\n\n function setTrailingDivider(componentID, status) {\n var $component = $('#' + componentID);\n if(status) {\n $component.addClass(dividerCSSClass);\n }\n else {\n $component.removeClass(dividerCSSClass);\n }\n }\n\n // Get an extension instance to enable users to access extension methods\n function getInstance(cy) {\n var instance = {\n // Returns whether the extension is active\n isActive: function() {\n return getScratchProp('active');\n },\n // Appends given menu item to the menu items list.\n appendMenuItem: function(item) {\n createAndAppendMenuItemComponent(item);\n return cy;\n },\n // Appends menu items in the given list to the menu items list.\n appendMenuItems: function(items) {\n createAndAppendMenuItemComponents(items);\n return cy;\n },\n // Removes the menu item with given ID.\n removeMenuItem: function(itemID) {\n removeAndUnbindMenuItem(itemID);\n return cy;\n },\n // Sets whether the menuItem with given ID will have a following divider.\n setTrailingDivider: function(itemID, status) {\n setTrailingDivider(itemID, status);\n return cy;\n },\n // Inserts given item before the existingitem.\n insertBeforeMenuItem: function(item, existingItemID) {\n createAndInsertMenuItemComponentBeforeExistingComponent(item, existingItemID);\n return cy;\n },\n // Moves the item with given ID before the existingitem.\n moveBeforeOtherMenuItem: function(itemID, existingItemID) {\n moveBeforeOtherMenuItemComponent(itemID, existingItemID);\n return cy;\n },\n // Disables the menu item with given ID.\n disableMenuItem: function(itemID) {\n disableComponent(itemID);\n return cy;\n },\n // Enables the menu item with given ID.\n enableMenuItem: function(itemID) {\n enableComponent(itemID);\n return cy;\n },\n // Disables the menu item with given ID.\n hideMenuItem: function(itemID) {\n $('#'+itemID).data('show', false);\n hideComponent($('#'+itemID));\n return cy;\n },\n // Enables the menu item with given ID.\n showMenuItem: function(itemID) {\n $('#'+itemID).data('show', true);\n displayComponent($('#'+itemID));\n return cy;\n },\n // Destroys the extension instance\n destroy: function() {\n destroyCxtMenu();\n return cy;\n }\n };\n\n return instance;\n }\n\n if ( opts !== 'get' ) {\n // merge the options with default ones\n options = extend(defaults, opts);\n setScratchProp('options', options);\n\n // Clear old context menu if needed\n if(getScratchProp('active')) {\n destroyCxtMenu();\n }\n\n setScratchProp('active', true);\n\n $cxtMenu = createAndAppendCxtMenuComponent();\n\n var menuItems = options.menuItems;\n createAndAppendMenuItemComponents(menuItems);\n\n bindCyEvents();\n preventDefaultContextTap();\n }\n \n return getInstance(this);\n });\n };\n\n if( typeof module !== 'undefined' && module.exports ){ // expose as a commonjs module\n module.exports = register;\n }\n\n if( typeof define !== 'undefined' && define.amd ){ // expose as an amd/requirejs module\n define('cytoscape-context-menus', function(){\n return register;\n });\n }\n\n if( typeof cytoscape !== 'undefined' && $ ){ // expose to global cytoscape (i.e. window.cytoscape)\n register( cytoscape, $ );\n }\n\n})();\n"},function(e,t,r){},function(e,t,r){var n;(function(){"use strict";var a=function(e){if(!e){return}r(117);var t=false;var n={snapToGridOnRelease:true,snapToGridDuringDrag:false,snapToAlignmentLocationOnRelease:false,snapToAlignmentLocationDuringDrag:false,distributionGuidelines:false,geometricGuideline:false,initPosAlignment:false,centerToEdgeAlignment:false,resize:false,parentPadding:false,drawGrid:true,gridSpacing:20,snapToGridCenter:true,zoomDash:true,panGrid:false,gridStackOrder:-1,gridColor:"#dedede",lineWidth:1,guidelinesStackOrder:4,guidelinesTolerance:2,guidelinesStyle:{strokeStyle:"#8b7d6b",geometricGuidelineRange:400,range:100,minDistRange:10,distGuidelineOffset:10,horizontalDistColor:"#ff0000",verticalDistColor:"#00ff00",initPosAlignmentColor:"#0000ff",lineDash:[0,0],horizontalDistLine:[0,0],verticalDistLine:[0,0],initPosAlignmentLine:[0,0]},parentSpacing:-1};var a=r(118);var i=r(119);var o=r(120);var s=r(121);var u=r(122);var l=r(123);var f=r(125);var c=r(126);var v=r(127);function d(e){if(!e.scratch("_gridGuide")){e.scratch("_gridGuide",{})}return e.scratch("_gridGuide")}e("core","gridGuide",(function(r){var h=this;var p=d(h);var g=Object.extend({},p.options||n,r);p.options=g;if(!p.initialized){var y,m,b,x,w,E,k,_;y=a(h,g.gridSpacing,g.snapToGridCenter);m=s(g.gridSpacing);b=i(h,y);x=o(g,h,v);E=l(g,h,v);k=f(g,h);w=u(h,y,m,b,x,E,k,g);_=c(e,h,t);t=true;w.init(g);p.initialized=true;p.eventsController=w}else{var w=p.eventsController;w.syncWithOptions(g)}return this}))};if(true&&e.exports){e.exports=a}if(true){!(n=function(){return a}.call(t,r,t,e),n!==undefined&&(e.exports=n))}if(typeof cytoscape!=="undefined"){a(cytoscape)}})()},function(e,t){Object.extend=function(e){e=e||{};for(var t=1;t\n \n \n \n \n \n \n \n \n \n \n \n';var v=new Image;f=encodeURIComponent(f);v.onload=function(){c();u.drawImage(v,0,0)};v.src="data:image/svg+xml,"+f};var c=function(){var e=t.width();var r=t.height();u.clearRect(0,0,e,r)};var v=r((function(){o.height=t.height();o.width=t.width();o.style.position="absolute";o.style.top=0;o.style.left=0;o.style.zIndex=n.gridStackOrder;setTimeout((function(){o.height=t.height();o.width=t.width();var e=i(o);var r=i(s);o.style.top=-(e.top-r.top);o.style.left=-(e.left-r.left);f()}),0)}),250);return{initCanvas:v,resizeCanvas:v,resetCanvas:l,clearCanvas:c,drawGrid:f,changeOptions:a,sizeCanvas:f}}},function(e,t){e.exports=function(e){var t=function(t){e=Number(t.gridSpacing)};var r=function(e){if(!e.scratch("_gridGuide"))e.scratch("_gridGuide",{});return e.scratch("_gridGuide")};function n(t){var n=t.width();var a=t.height();var i=Math.round((n-e)/(e*2))*(e*2);var o=Math.round((a-e)/(e*2))*(e*2);i=i>0?i+e:e;o=o>0?o+e:e;if(n!=i||a!=o){t.style({width:i,height:o});r(t).resize={oldWidth:n,oldHeight:a}}}function a(e){var t=r(e).resize;if(t)e.style({width:t.oldWidth,height:t.oldHeight})}return{resizeNode:n,recoverNodeDimensions:a,changeOptions:t}}},function(e,t){e.exports=function(e,t,r,n,a,i,o,s){var u=function(e){return function(t){e(t)}};var l={snapToGridDuringDrag:new u(h),resize:new u(m),snapToGridOnRelease:new u(E),drawGrid:new u(D),guidelines:new u(z),parentPadding:new u(B)};function f(e,t){return function(r){var n=r.target||r.cyTarget;if(!n.is(":parent")||t)e(n)}}function c(t){return function(){e.nodes().not(":parent").each((function(e,r){if(typeof e==="number"){e=r}t(e)}))}}function v(t){return function(){e.nodes().each((function(e,r){if(typeof e==="number"){e=r}t(e)}))}}function d(e){return e?"on":"off"}function h(t){e[d(t)]("tapstart","node",n.onTapStartNode)}var p=c(r.resizeNode);var g=f(r.resizeNode);var y=c(r.recoverNodeDimensions);function m(t){e[d(t)]("ready",p);t?p():y()}var b=v(t.snapNodesTopDown);var x=v(t.recoverSnapNode);var w=f(t.snapNode,true);function E(r){e[d(r)]("add","node",w);e[d(r)]("ready",b);e[d(r)]("free","node",t.onFreeNode);if(r){b()}else{x()}}var k=function(){if(j.zoomDash)a.drawGrid()};var _=function(){if(j.panGrid)a.drawGrid()};function D(t){e[d(t)]("zoom",k);e[d(t)]("pan",_);if(t){a.initCanvas();e.on("resize",a.resizeCanvas)}else{a.clearCanvas();a.resetCanvas();e.off("resize",a.resizeCanvas)}}var C=null;var S=function(e){var t=e.target||e.cyTarget;var r=t.selected()?e.cy.$(":selected"):t;C=i.getTopMostNodes(r.nodes());i.lines.init(C)};var T=function(e){if(this.id()==C.id()){i.lines.update(C);if(j.snapToAlignmentLocationDuringDrag)i.lines.snapToAlignmentLocation(C)}};var P=function(e){if(j.snapToAlignmentLocationOnRelease)i.lines.snapToAlignmentLocation(C);i.lines.destroy();C=null};var I=function(e){i.lines.resize()};var M=function(e){i.getMousePos(e)};var O=function(t){if(C){i.setMousePos(e.pan());i.lines.init(C)}};function z(t){if(t){i.resizeCanvas();e.on("tapstart","node",M);e.on("grab",S);e.on("pan",O);e.on("drag","node",T);e.on("free",P);window.addEventListener("resize",I)}else{e.off("tapstart","node",M);e.off("grab",S);e.off("pan",O);e.off("drag","node",T);e.off("free",P);i.resetCanvas();window.removeEventListener("resize",I)}}var N=function(t){o.setPaddingOfParent(e.nodes(":parent"),t)};var A=function(e){o.setPaddingOfParent(e,true)};function B(t){N(t);e[d(t)]("ready",N);e[d(t)]("add","node:parent",f(A,true))}var L={};var j;var R={drawGrid:["gridSpacing","zoomDash","panGrid","gridStackOrder","gridColor","lineWidth","lineDash"],guidelines:["gridSpacing","guidelinesStackOrder","guidelinesTolerance","guidelinesStyle","distributionGuidelines","range","minDistRange","geometricGuidelineRange"],resize:["gridSpacing"],parentPadding:["gridSpacing","parentSpacing"],snapToGridOnRelease:["gridSpacing","snapToGridCenter"]};function F(e){j=Object.extend({},e);e.guidelines=e.initPosAlignment||e.distributionGuidelines||e.geometricGuideline;for(var n in e)if(L[n]!=e[n])if(l.hasOwnProperty(n)){l[n](e[n])}else{for(var s in R){var u=R[s];if(u.indexOf(n)>=0){if(s=="drawGrid"){a.changeOptions(e);if(e.drawGrid)a.resizeCanvas()}if(s=="snapToGridOnRelease"){t.changeOptions(e);if(e.snapToGridOnRelease)b()}if(s=="guidelines")i.changeOptions(e);if(s=="resize"){r.changeOptions(e);if(e.resize)p()}if(s=="parentPadding")o.changeOptions(e)}}}L=Object.extend({},L,e)}return{init:F,syncWithOptions:F}}},function(e,t,r){e.exports=function(e,t,n){var a=r(124);var i=e;var o=function(e){i=e;if(i.guidelinesTolerance==0)i.guidelinesTolerance=.001};var s=function(e){var t=e.getBoundingClientRect();return{top:t.top+document.documentElement.scrollTop,left:t.left+document.documentElement.scrollLeft}};var u=function(){var e=t.scratch("_guidelines");if(!e)e=t.scratch("_guidelines",{});return e};var l=n((function(){f();c.height=t.height();c.width=t.width();c.style.position="absolute";c.style.top=0;c.style.left=0;c.style.zIndex=i.guidelinesStackOrder;setTimeout((function(){c.height=t.height();c.width=t.width();var e=s(c);var r=s(v);c.style.top=-(e.top-r.top);c.style.left=-(e.left-r.left)}),0)}),250);var f=function(){var e=t.width();var r=t.height();d.clearRect(0,0,e,r)};var c=document.createElement("canvas");var v=t.container();var d=c.getContext("2d");v.append(c);var h=function(){c.height=0;c.width=0;c.style.position="absolute";c.style.top=0;c.style.left=0;c.style.zIndex=i.guidelinesStackOrder};h();var p=null;var g=null;var y;var m;var b={};var x={};var w={h:null,v:null};b.getDims=function(e){var t=e.renderedPosition();var r=e.renderedWidth();var n=e.renderedHeight();var a={left:Number(e.renderedStyle("padding-left").replace("px","")),right:Number(e.renderedStyle("padding-right").replace("px","")),top:Number(e.renderedStyle("padding-top").replace("px","")),bottom:Number(e.renderedStyle("padding-bottom").replace("px",""))};return{horizontal:{center:t.x,left:Math.round(t.x-(a.left+r/2)),right:Math.round(t.x+(a.right+r/2))},vertical:{center:t.y,top:Math.round(t.y-(a.top+n/2)),bottom:Math.round(t.y+(a.bottom+n/2))}}};b.init=function(e){p=a();g=a();if(!y){x.x=t.pan("x");x.y=t.pan("y");y=e.renderedPosition()}var r=t.nodes(":visible");m=e.union(e.ancestors());m=m.union(e.descendants());r.not(m).each((function(e,t){if(typeof e==="number"){e=t}var r=b.getDims(e);["left","center","right"].forEach((function(t){var n=r.horizontal[t];if(g.get(n))g.get(n).push(e);else g=g.insert(n,[e])}));["top","center","bottom"].forEach((function(t){var n=r.vertical[t];if(p.get(n))p.get(n).push(e);else p=p.insert(n,[e])}))}));d.lineWidth=i.lineWidth;b.update(e)};b.destroy=function(){b.clear();p=null;g=null;y=null;k={};w={h:null,v:null};if(O){O.unlock();O=undefined}};b.clear=f;b.drawLine=function(e,t,r,n){d.setLineDash(n);d.beginPath();d.moveTo(e.x,e.y);d.lineTo(t.x,t.y);d.strokeStyle=r;d.stroke()};b.drawArrow=function(e,t){if(t=="right"){d.setLineDash([]);d.beginPath();d.moveTo(e.x-5,e.y-5);d.lineTo(e.x,e.y);d.lineTo(e.x-5,e.y+5);d.stroke()}else if(t=="left"){d.setLineDash([]);d.beginPath();d.moveTo(e.x+5,e.y-5);d.lineTo(e.x,e.y);d.lineTo(e.x+5,e.y+5);d.stroke()}else if(t=="top"){d.setLineDash([]);d.beginPath();d.moveTo(e.x-5,e.y+5);d.lineTo(e.x,e.y);d.lineTo(e.x+5,e.y+5);d.stroke()}else if(t=="bottom"){d.setLineDash([]);d.beginPath();d.moveTo(e.x-5,e.y-5);d.lineTo(e.x,e.y);d.lineTo(e.x+5,e.y-5);d.stroke()}};b.drawCross=function(e){d.setLineDash([]);d.beginPath();d.moveTo(e.x-5,e.y+5);d.lineTo(e.x+5,e.y-5);d.moveTo(e.x-5,e.y-5);d.lineTo(e.x+5,e.y+5);d.stroke()};calculateOffset=function(e,r){var n=e[0],a=b.getDims(n)[r]["center"];var o=e[0],s=b.getDims(o)[r]["center"];for(var u=0;us){s=b.getDims(l)[r]["center"];o=l}}if(r=="horizontal")var f=(a+s)/2i.guidelinesStyle.minDistRange){var v=Math.round(2*o)-e;g.forEach((function(e,a){for(var o=0;oMath.abs(w.hd)){w.h=w.hd}var u=calculateOffset([r,e,n],"vertical");b.drawLine({x:b.getDims(r)["horizontal"]["right"],y:u},{x:a["horizontal"]["left"],y:u},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(n)["horizontal"]["left"],y:u},{x:a["horizontal"]["right"],y:u},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(r)["horizontal"]["right"],y:u},{x:b.getDims(r)["horizontal"]["right"],y:b.getDims(r)["vertical"]["center"]},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(n)["horizontal"]["left"],y:u},{x:b.getDims(n)["horizontal"]["left"],y:b.getDims(n)["vertical"]["center"]},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:a["horizontal"]["left"],y:u},{x:a["horizontal"]["left"],y:s},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:a["horizontal"]["right"],y:u},{x:a["horizontal"]["right"],y:s},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawArrow({x:b.getDims(r)["horizontal"]["right"],y:u},"left");b.drawArrow({x:a["horizontal"]["left"],y:u},"right");b.drawArrow({x:a["horizontal"]["right"],y:u},"left");b.drawArrow({x:b.getDims(n)["horizontal"]["left"],y:u},"right")}else{var l=b.horizontalDistributionNext(e,"left");if(!l)b.horizontalDistributionNext(e,"right")}};b.verticalDistribution=function(e){var r=null,n=null;var a=b.getDims(e);var o=a["horizontal"]["center"];var s=a["vertical"]["center"];p.forEach((function(e,u){for(var l=0;li.guidelinesStyle.minDistRange){var v=Math.round(2*s-e);p.forEach((function(e,a){for(var s=0;sMath.abs(w.vd)){w.v=w.vd}var u=calculateOffset([r,e,n],"horizontal");b.drawLine({y:b.getDims(r)["vertical"]["bottom"],x:u},{y:a["vertical"]["top"],x:u},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({y:b.getDims(n)["vertical"]["top"],x:u},{y:a["vertical"]["bottom"],x:u},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({y:b.getDims(r)["vertical"]["bottom"],x:u},{y:b.getDims(r)["vertical"]["bottom"],x:b.getDims(r)["horizontal"]["center"]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({y:b.getDims(n)["vertical"]["top"],x:u},{y:b.getDims(n)["vertical"]["top"],x:b.getDims(n)["horizontal"]["center"]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({y:a["vertical"]["bottom"],x:u},{y:a["vertical"]["bottom"],x:o},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({y:a["vertical"]["top"],x:u},{y:a["vertical"]["top"],x:o},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawArrow({x:u,y:b.getDims(r)["vertical"]["bottom"]},"top");b.drawArrow({x:u,y:a["vertical"]["top"]},"bottom");b.drawArrow({x:u,y:b.getDims(n)["vertical"]["top"]},"bottom");b.drawArrow({x:u,y:a["vertical"]["bottom"]},"top")}else{var l=b.verticalDistributionNext(e,"below");if(!l)b.verticalDistributionNext(e,"above")}};b.searchForLine=function(e,r){var n,a,o,s,u,l,f;var c=b.getDims(r)[e];var v=Number.MAX_SAFE_INTEGER;if(e=="horizontal"){l=g;s="y";u="x";w.h=null}else{l=p;s="x";u="y";w.v=null}o=r.renderedPosition(s);for(var d in c){n=c[d];l.forEach((function(e,r){for(var n=0;ni.guidelinesStyle.minDistRange},right:function(e,t){return e-t>i.guidelinesStyle.minDistRange}};g.forEach((function(e,s){for(var c=0;cMath.abs(w.hd)){w.h=w.hd}b.drawDH(e,n,a,r);return true}else if(!i.geometricGuideline){w.h=null}return false};b.drawDH=function(e,t,r,n){var a=b.getDims(e)["vertical"]["center"];var o="right",s="left";if(n=="left"){o="left";s="right"}var u=calculateOffset([t,e,r],"vertical");b.drawLine({x:b.getDims(t)["horizontal"][s],y:u},{x:b.getDims(e)["horizontal"][o],y:u},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(e)["horizontal"][o],y:u},{x:b.getDims(e)["horizontal"][o],y:a},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(r)["horizontal"][s],y:u},{x:b.getDims(t)["horizontal"][o],y:u},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(r)["horizontal"][s],y:u},{x:b.getDims(r)["horizontal"][s],y:b.getDims(r)["vertical"]["center"]},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(t)["horizontal"][s],y:u},{x:b.getDims(t)["horizontal"][s],y:b.getDims(t)["vertical"]["center"]},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawLine({x:b.getDims(t)["horizontal"][o],y:u},{x:b.getDims(t)["horizontal"][o],y:b.getDims(t)["vertical"]["center"]},i.guidelinesStyle.horizontalDistColor,i.guidelinesStyle.horizontalDistLine);b.drawArrow({x:b.getDims(e)["horizontal"][o],y:u},s);b.drawArrow({x:b.getDims(t)["horizontal"][s],y:u},o);b.drawArrow({x:b.getDims(t)["horizontal"][o],y:u},s);b.drawArrow({x:b.getDims(r)["horizontal"][s],y:u},o)};b.verticalDistributionNext=function(e,r){var n=null,a=null;var o=b.getDims(e);var s=o["horizontal"]["center"];var u=o["vertical"]["center"];var l="top",f="bottom";var c=u-i.guidelinesStyle.range*t.zoom();if(r=="above"){l="bottom";f="top";c=u}var v={below:function(e,t){return t-e>i.guidelinesStyle.minDistRange},above:function(e,t){return e-t>i.guidelinesStyle.minDistRange}};p.forEach((function(e,u){for(var c=0;cMath.abs(w.vd)){w.v=w.vd}b.drawDV(e,n,a,r);return true}else if(!i.geometricGuideline){w.v=null}return false};b.drawDV=function(e,t,r,n){var a=b.getDims(e);var o=a["horizontal"]["center"];var s="top",u="bottom";if(n=="above"){s="bottom";u="top"}var l=calculateOffset([t,e,r],"horizontal");b.drawLine({x:l,y:a["vertical"][s]},{x:l,y:b.getDims(t)["vertical"][u]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({x:l,y:b.getDims(t)["vertical"][s]},{x:l,y:b.getDims(r)["vertical"][u]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({x:o,y:a["vertical"][s]},{x:l,y:a["vertical"][s]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({x:b.getDims(t)["horizontal"]["center"],y:b.getDims(t)["vertical"][u]},{x:l,y:b.getDims(t)["vertical"][u]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({x:b.getDims(t)["horizontal"]["center"],y:b.getDims(t)["vertical"][s]},{x:l,y:b.getDims(t)["vertical"][s]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawLine({x:l,y:b.getDims(r)["vertical"][u]},{x:b.getDims(r)["horizontal"]["center"],y:b.getDims(r)["vertical"][u]},i.guidelinesStyle.verticalDistColor,i.guidelinesStyle.verticalDistLine);b.drawArrow({x:l,y:a["vertical"][s]},u);b.drawArrow({x:l,y:b.getDims(t)["vertical"][u]},s);b.drawArrow({x:l,y:b.getDims(t)["vertical"][s]},u);b.drawArrow({x:l,y:b.getDims(r)["vertical"][u]},s)};b.update=function(e){b.clear();if(i.initPosAlignment){S(e)}e.each((function(e,t){if(typeof e==="number"){e=t}if(i.geometricGuideline){b.searchForLine("horizontal",e);b.searchForLine("vertical",e)}if(i.distributionGuidelines){b.horizontalDistribution(e);b.verticalDistribution(e)}}))};b.resize=function(){l()};function E(e){var t={};for(var r=0;r2*i.guidelinesTolerance||Math.abs(I.y-M.y)>2*i.guidelinesTolerance)){e.unlock();var r={};r.x=I.x-P.renderedPosition("x");r.y=I.y-P.renderedPosition("y");T(r,e)}}))}));var O;b.snapToAlignmentLocation=function(e){O=e;e.each((function(e,t){if(typeof e==="number"){e=t}var r=e.renderedPosition();if(w.h){M=I;r.x-=w.h;e.renderedPosition(r)}if(w.v){M=I;r.y-=w.v;e.renderedPosition(r)}if(w.v||w.h){w.h=null;w.v=null;O.lock()}}));b.update(e)};return{changeOptions:o,lines:b,getTopMostNodes:E,getMousePos:D,setMousePos:C,resizeCanvas:l,resetCanvas:h}}},function(e,t,r){"use strict";e.exports=b;var n=0;var a=1;function i(e,t,r,n,a,i){this._color=e;this.key=t;this.value=r;this.left=n;this.right=a;this._count=i}function o(e){return new i(e._color,e.key,e.value,e.left,e.right,e._count)}function s(e,t){return new i(e,t.key,t.value,t.left,t.right,t._count)}function u(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function l(e,t){this._compare=e;this.root=t}var f=l.prototype;Object.defineProperty(f,"keys",{get:function(){var e=[];this.forEach((function(t,r){e.push(t)}));return e}});Object.defineProperty(f,"values",{get:function(){var e=[];this.forEach((function(t,r){e.push(r)}));return e}});Object.defineProperty(f,"length",{get:function(){if(this.root){return this.root._count}return 0}});f.insert=function(e,t){var r=this._compare;var o=this.root;var f=[];var c=[];while(o){var v=r(e,o.key);f.push(o);c.push(v);if(v<=0){o=o.left}else{o=o.right}}f.push(new i(n,e,t,null,null,1));for(var d=f.length-2;d>=0;--d){var o=f[d];if(c[d]<=0){f[d]=new i(o._color,o.key,o.value,f[d+1],o.right,o._count+1)}else{f[d]=new i(o._color,o.key,o.value,o.left,f[d+1],o._count+1)}}for(var d=f.length-1;d>1;--d){var h=f[d-1];var o=f[d];if(h._color===a||o._color===a){break}var p=f[d-2];if(p.left===h){if(h.left===o){var g=p.right;if(g&&g._color===n){h._color=a;p.right=s(a,g);p._color=n;d-=1}else{p._color=n;p.left=h.right;h._color=a;h.right=p;f[d-2]=h;f[d-1]=o;u(p);u(h);if(d>=3){var y=f[d-3];if(y.left===p){y.left=h}else{y.right=h}}break}}else{var g=p.right;if(g&&g._color===n){h._color=a;p.right=s(a,g);p._color=n;d-=1}else{h.right=o.left;p._color=n;p.left=o.right;o._color=a;o.left=h;o.right=p;f[d-2]=o;f[d-1]=h;u(p);u(h);u(o);if(d>=3){var y=f[d-3];if(y.left===p){y.left=o}else{y.right=o}}break}}}else{if(h.right===o){var g=p.left;if(g&&g._color===n){h._color=a;p.left=s(a,g);p._color=n;d-=1}else{p._color=n;p.right=h.left;h._color=a;h.left=p;f[d-2]=h;f[d-1]=o;u(p);u(h);if(d>=3){var y=f[d-3];if(y.right===p){y.right=h}else{y.left=h}}break}}else{var g=p.left;if(g&&g._color===n){h._color=a;p.left=s(a,g);p._color=n;d-=1}else{h.left=o.right;p._color=n;p.right=o.left;o._color=a;o.right=h;o.left=p;f[d-2]=o;f[d-1]=h;u(p);u(h);u(o);if(d>=3){var y=f[d-3];if(y.right===p){y.right=o}else{y.left=o}}break}}}}f[0]._color=a;return new l(r,f[0])};function c(e,t){if(t.left){var r=c(e,t.left);if(r){return r}}var r=e(t.key,t.value);if(r){return r}if(t.right){return c(e,t.right)}}function v(e,t,r,n){var a=t(e,n.key);if(a<=0){if(n.left){var i=v(e,t,r,n.left);if(i){return i}}var i=r(n.key,n.value);if(i){return i}}if(n.right){return v(e,t,r,n.right)}}function d(e,t,r,n,a){var i=r(e,a.key);var o=r(t,a.key);var s;if(i<=0){if(a.left){s=d(e,t,r,n,a.left);if(s){return s}}if(o>0){s=n(a.key,a.value);if(s){return s}}}if(o>0&&a.right){return d(e,t,r,n,a.right)}}f.forEach=function e(t,r,n){if(!this.root){return}switch(arguments.length){case 1:return c(t,this.root);break;case 2:return v(r,this._compare,t,this.root);break;case 3:if(this._compare(r,n)>=0){return}return d(r,n,this._compare,t,this.root);break}};Object.defineProperty(f,"begin",{get:function(){var e=[];var t=this.root;while(t){e.push(t);t=t.left}return new h(this,e)}});Object.defineProperty(f,"end",{get:function(){var e=[];var t=this.root;while(t){e.push(t);t=t.right}return new h(this,e)}});f.at=function(e){if(e<0){return new h(this,[])}var t=this.root;var r=[];while(true){r.push(t);if(t.left){if(e=t.right._count){break}t=t.right}else{break}}return new h(this,[])};f.ge=function(e){var t=this._compare;var r=this.root;var n=[];var a=0;while(r){var i=t(e,r.key);n.push(r);if(i<=0){a=n.length}if(i<=0){r=r.left}else{r=r.right}}n.length=a;return new h(this,n)};f.gt=function(e){var t=this._compare;var r=this.root;var n=[];var a=0;while(r){var i=t(e,r.key);n.push(r);if(i<0){a=n.length}if(i<0){r=r.left}else{r=r.right}}n.length=a;return new h(this,n)};f.lt=function(e){var t=this._compare;var r=this.root;var n=[];var a=0;while(r){var i=t(e,r.key);n.push(r);if(i>0){a=n.length}if(i<=0){r=r.left}else{r=r.right}}n.length=a;return new h(this,n)};f.le=function(e){var t=this._compare;var r=this.root;var n=[];var a=0;while(r){var i=t(e,r.key);n.push(r);if(i>=0){a=n.length}if(i<0){r=r.left}else{r=r.right}}n.length=a;return new h(this,n)};f.find=function(e){var t=this._compare;var r=this.root;var n=[];while(r){var a=t(e,r.key);n.push(r);if(a===0){return new h(this,n)}if(a<=0){r=r.left}else{r=r.right}}return new h(this,[])};f.remove=function(e){var t=this.find(e);if(t){return t.remove()}return this};f.get=function(e){var t=this._compare;var r=this.root;while(r){var n=t(e,r.key);if(n===0){return r.value}if(n<=0){r=r.left}else{r=r.right}}return};function h(e,t){this.tree=e;this._stack=t}var p=h.prototype;Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}});Object.defineProperty(p,"node",{get:function(){if(this._stack.length>0){return this._stack[this._stack.length-1]}return null},enumerable:true});p.clone=function(){return new h(this.tree,this._stack.slice())};function g(e,t){e.key=t.key;e.value=t.value;e.left=t.left;e.right=t.right;e._color=t._color;e._count=t._count}function y(e){var t,r,i,l;for(var f=e.length-1;f>=0;--f){t=e[f];if(f===0){t._color=a;return}r=e[f-1];if(r.left===t){i=r.right;if(i.right&&i.right._color===n){i=r.right=o(i);l=i.right=o(i.right);r.right=i.left;i.left=r;i.right=l;i._color=r._color;t._color=a;r._color=a;l._color=a;u(r);u(i);if(f>1){var c=e[f-2];if(c.left===r){c.left=i}else{c.right=i}}e[f-1]=i;return}else if(i.left&&i.left._color===n){i=r.right=o(i);l=i.left=o(i.left);r.right=l.left;i.left=l.right;l.left=r;l.right=i;l._color=r._color;r._color=a;i._color=a;t._color=a;u(r);u(i);u(l);if(f>1){var c=e[f-2];if(c.left===r){c.left=l}else{c.right=l}}e[f-1]=l;return}if(i._color===a){if(r._color===n){r._color=a;r.right=s(n,i);return}else{r.right=s(n,i);continue}}else{i=o(i);r.right=i.left;i.left=r;i._color=r._color;r._color=n;u(r);u(i);if(f>1){var c=e[f-2];if(c.left===r){c.left=i}else{c.right=i}}e[f-1]=i;e[f]=r;if(f+11){var c=e[f-2];if(c.right===r){c.right=i}else{c.left=i}}e[f-1]=i;return}else if(i.right&&i.right._color===n){i=r.left=o(i);l=i.right=o(i.right);r.left=l.right;i.right=l.left;l.right=r;l.left=i;l._color=r._color;r._color=a;i._color=a;t._color=a;u(r);u(i);u(l);if(f>1){var c=e[f-2];if(c.right===r){c.right=l}else{c.left=l}}e[f-1]=l;return}if(i._color===a){if(r._color===n){r._color=a;r.left=s(n,i);return}else{r.left=s(n,i);continue}}else{i=o(i);r.left=i.right;i.right=r;i._color=r._color;r._color=n;u(r);u(i);if(f>1){var c=e[f-2];if(c.right===r){c.right=i}else{c.left=i}}e[f-1]=i;e[f]=r;if(f+1=0;--o){var r=e[o];if(r.left===e[o+1]){t[o]=new i(r._color,r.key,r.value,t[o+1],r.right,r._count)}else{t[o]=new i(r._color,r.key,r.value,r.left,t[o+1],r._count)}}r=t[t.length-1];if(r.left&&r.right){var s=t.length;r=r.left;while(r.right){t.push(r);r=r.right}var u=t[s-1];t.push(new i(r._color,u.key,u.value,r.left,r.right,r._count));t[s-1].key=r.key;t[s-1].value=r.value;for(var o=t.length-2;o>=s;--o){r=t[o];t[o]=new i(r._color,r.key,r.value,r.left,t[o+1],r._count)}t[s-1].left=t[s]}r=t[t.length-1];if(r._color===n){var f=t[t.length-2];if(f.left===r){f.left=null}else if(f.right===r){f.right=null}t.pop();for(var o=0;o0){return this._stack[this._stack.length-1].key}return},enumerable:true});Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0){return this._stack[this._stack.length-1].value}return},enumerable:true});Object.defineProperty(p,"index",{get:function(){var e=0;var t=this._stack;if(t.length===0){var r=this.tree.root;if(r){return r._count}return 0}else if(t[t.length-1].left){e=t[t.length-1].left._count}for(var n=t.length-2;n>=0;--n){if(t[n+1]===t[n].right){++e;if(t[n].left){e+=t[n].left._count}}}return e},enumerable:true});p.next=function(){var e=this._stack;if(e.length===0){return}var t=e[e.length-1];if(t.right){t=t.right;while(t){e.push(t);t=t.left}}else{e.pop();while(e.length>0&&e[e.length-1].right===t){t=e[e.length-1];e.pop()}}};Object.defineProperty(p,"hasNext",{get:function(){var e=this._stack;if(e.length===0){return false}if(e[e.length-1].right){return true}for(var t=e.length-1;t>0;--t){if(e[t-1].left===e[t]){return true}}return false}});p.update=function(e){var t=this._stack;if(t.length===0){throw new Error("Can't update empty node!")}var r=new Array(t.length);var n=t[t.length-1];r[r.length-1]=new i(n._color,n.key,e,n.left,n.right,n._count);for(var a=t.length-2;a>=0;--a){n=t[a];if(n.left===t[a+1]){r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count)}else{r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count)}}return new l(this.tree._compare,r[0])};p.prev=function(){var e=this._stack;if(e.length===0){return}var t=e[e.length-1];if(t.left){t=t.left;while(t){e.push(t);t=t.right}}else{e.pop();while(e.length>0&&e[e.length-1].left===t){t=e[e.length-1];e.pop()}}};Object.defineProperty(p,"hasPrev",{get:function(){var e=this._stack;if(e.length===0){return false}if(e[e.length-1].left){return true}for(var t=e.length-1;t>0;--t){if(e[t-1].right===e[t]){return true}}return false}});function m(e,t){if(et){return 1}return 0}function b(e){return new l(e||m,null)}},function(e,t){e.exports=function(e,t){var r=e;var n="_gridParentPadding";function a(){var e=r.parentSpacing<0?r.gridSpacing:r.parentSpacing;t.style().selector("."+n).style("compound-sizing-wrt-labels","exclude").style("padding-left",e).style("padding-right",e).style("padding-top",e).style("padding-bottom",e).update()}function i(e){r=e;padding=r.parentSpacing<0?r.gridSpacing:r.parentSpacing;a()}function o(e,t){if(t)e.addClass(n);else e.removeClass(n)}return{changeOptions:i,setPaddingOfParent:o}}},function(e,t){e.exports=function(e,t,r){function n(e,t,r){var n=e.union(e.descendants());n.filter(":childless").positions((function(e,n){if(typeof e==="number"){e=n}var a=e.position();return{x:a.x+t,y:a.y+r}}))}function a(e){var t={};for(var r=0;ra){b(d,u)}else{v=setTimeout(x,e)}}function w(){b(g,v)}function E(){s=arguments;f=n();c=this;d=g&&(v||!y);if(p===false){var e=y&&!v}else{if(!u&&!y){h=f}var t=p-(f-h),i=t<=0||t>p;if(i){if(u){u=clearTimeout(u)}h=f;l=r.apply(c,s)}else if(!u){u=setTimeout(w,t)}}if(i&&v){v=clearTimeout(v)}else if(!v&&a!==p){v=setTimeout(x,a)}if(e){i=true;l=r.apply(c,s)}if(i&&!v&&!u){s=c=undefined}return l}E.cancel=m;return E}function i(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}return a}();e.exports=r},function(e,t,r){(function t(n,a){if(true)e.exports=a(r(129));else{}})(this,(function(e){return function(e){var t={};function r(n){if(t[n]){return t[n].exports}var a=t[n]={i:n,l:false,exports:{}};e[n].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.i=function(e){return e};r.d=function(e,t,n){if(!r.o(e,t)){Object.defineProperty(e,t,{configurable:false,enumerable:true,get:n})}};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="";return r(r.s=3)}([function(e,t,r){"use strict";var n=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var a=function e(t){return typeof t==="function"};var i=r(2);var o=r(1);var s=r(4);function u(e){this.options=o({},i,e)}u.prototype.run=function(){var e=this.options;var t=this;var r=e.cy;var i=e.eles;var o=function e(t,r){return a(r)?r.apply(t,[t]):r};var u=e.boundingBox||{x1:0,y1:0,w:r.width(),h:r.height()};if(u.x2===undefined){u.x2=u.x1+u.w}if(u.w===undefined){u.w=u.x2-u.x1}if(u.y2===undefined){u.y2=u.y1+u.h}if(u.h===undefined){u.h=u.y2-u.y1}var l=new s.graphlib.Graph({multigraph:true,compound:true});var f={};var c=function e(t,r){if(r!=null){f[t]=r}};c("nodesep",e.nodeSep);c("edgesep",e.edgeSep);c("ranksep",e.rankSep);c("rankdir",e.rankDir);c("ranker",e.ranker);l.setGraph(f);l.setDefaultEdgeLabel((function(){return{}}));l.setDefaultNodeLabel((function(){return{}}));var v=i.nodes();for(var d=0;d1?t-1:0),n=1;n1){a.setNode(e,t)}else{a.setNode(e)}}));return this};s.prototype.setNode=function(e,t){if(n.has(this._nodes,e)){if(arguments.length>1){this._nodes[e]=t}return this}this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e);if(this._isCompound){this._parent[e]=i;this._children[e]={};this._children[i][e]=true}this._in[e]={};this._preds[e]={};this._out[e]={};this._sucs[e]={};++this._nodeCount;return this};s.prototype.node=function(e){return this._nodes[e]};s.prototype.hasNode=function(e){return n.has(this._nodes,e)};s.prototype.removeNode=function(e){var t=this;if(n.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e];if(this._isCompound){this._removeFromParentsChildList(e);delete this._parent[e];n.each(this.children(e),(function(e){t.setParent(e)}));delete this._children[e]}n.each(n.keys(this._in[e]),r);delete this._in[e];delete this._preds[e];n.each(n.keys(this._out[e]),r);delete this._out[e];delete this._sucs[e];--this._nodeCount}return this};s.prototype.setParent=function(e,t){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(n.isUndefined(t)){t=i}else{t+="";for(var r=t;!n.isUndefined(r);r=this.parent(r)){if(r===e){throw new Error("Setting "+t+" as parent of "+e+" would create a cycle")}}this.setNode(t)}this.setNode(e);this._removeFromParentsChildList(e);this._parent[e]=t;this._children[t][e]=true;return this};s.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]};s.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==i){return t}}};s.prototype.children=function(e){if(n.isUndefined(e)){e=i}if(this._isCompound){var t=this._children[e];if(t){return n.keys(t)}}else if(e===i){return this.nodes()}else if(this.hasNode(e)){return[]}};s.prototype.predecessors=function(e){var t=this._preds[e];if(t){return n.keys(t)}};s.prototype.successors=function(e){var t=this._sucs[e];if(t){return n.keys(t)}};s.prototype.neighbors=function(e){var t=this.predecessors(e);if(t){return n.union(t,this.successors(e))}};s.prototype.isLeaf=function(e){var t;if(this.isDirected()){t=this.successors(e)}else{t=this.neighbors(e)}return t.length===0};s.prototype.filterNodes=function(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var r=this;n.each(this._nodes,(function(r,n){if(e(n)){t.setNode(n,r)}}));n.each(this._edgeObjs,(function(e){if(t.hasNode(e.v)&&t.hasNode(e.w)){t.setEdge(e,r.edge(e))}}));var a={};function i(e){var n=r.parent(e);if(n===undefined||t.hasNode(n)){a[e]=n;return n}else if(n in a){return a[n]}else{return i(n)}}if(this._isCompound){n.each(t.nodes(),(function(e){t.setParent(e,i(e))}))}return t};s.prototype.setDefaultEdgeLabel=function(e){if(!n.isFunction(e)){e=n.constant(e)}this._defaultEdgeLabelFn=e;return this};s.prototype.edgeCount=function(){return this._edgeCount};s.prototype.edges=function(){return n.values(this._edgeObjs)};s.prototype.setPath=function(e,t){var r=this,a=arguments;n.reduce(e,(function(e,n){if(a.length>1){r.setEdge(e,n,t)}else{r.setEdge(e,n)}return n}));return this};s.prototype.setEdge=function(){var e,t,r,a,i=false,o=arguments[0];if(typeof o==="object"&&o!==null&&"v"in o){e=o.v;t=o.w;r=o.name;if(arguments.length===2){a=arguments[1];i=true}}else{e=o;t=arguments[1];r=arguments[3];if(arguments.length>2){a=arguments[2];i=true}}e=""+e;t=""+t;if(!n.isUndefined(r)){r=""+r}var s=f(this._isDirected,e,t,r);if(n.has(this._edgeLabels,s)){if(i){this._edgeLabels[s]=a}return this}if(!n.isUndefined(r)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}this.setNode(e);this.setNode(t);this._edgeLabels[s]=i?a:this._defaultEdgeLabelFn(e,t,r);var l=c(this._isDirected,e,t,r);e=l.v;t=l.w;Object.freeze(l);this._edgeObjs[s]=l;u(this._preds[t],e);u(this._sucs[e],t);this._in[t][s]=l;this._out[e][s]=l;this._edgeCount++;return this};s.prototype.edge=function(e,t,r){var n=arguments.length===1?v(this._isDirected,arguments[0]):f(this._isDirected,e,t,r);return this._edgeLabels[n]};s.prototype.hasEdge=function(e,t,r){var a=arguments.length===1?v(this._isDirected,arguments[0]):f(this._isDirected,e,t,r);return n.has(this._edgeLabels,a)};s.prototype.removeEdge=function(e,t,r){var n=arguments.length===1?v(this._isDirected,arguments[0]):f(this._isDirected,e,t,r),a=this._edgeObjs[n];if(a){e=a.v;t=a.w;delete this._edgeLabels[n];delete this._edgeObjs[n];l(this._preds[t],e);l(this._sucs[e],t);delete this._in[t][n];delete this._out[e][n];this._edgeCount--}return this};s.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var a=n.values(r);if(!t){return a}return n.filter(a,(function(e){return e.v===t}))}};s.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var a=n.values(r);if(!t){return a}return n.filter(a,(function(e){return e.w===t}))}};s.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);if(r){return r.concat(this.outEdges(e,t))}};function u(e,t){if(e[t]){e[t]++}else{e[t]=1}}function l(e,t){if(!--e[t]){delete e[t]}}function f(e,t,r,i){var s=""+t;var u=""+r;if(!e&&s>u){var l=s;s=u;u=l}return s+o+u+o+(n.isUndefined(i)?a:i)}function c(e,t,r,n){var a=""+t;var i=""+r;if(!e&&a>i){var o=a;a=i;i=o}var s={v:a,w:i};if(n){s.name=n}return s}function v(e,t){return f(e,t.v,t.w,t.name)}},function(e,t,r){var n;if(true){try{n={clone:r(135),constant:r(243),each:r(244),filter:r(253),has:r(292),isArray:r(193),isEmpty:r(294),isFunction:r(154),isUndefined:r(295),keys:r(187),map:r(296),reduce:r(298),size:r(301),transform:r(307),union:r(308),values:r(327)}}catch(e){}}if(!n){n=window._}e.exports=n},function(e,t,r){var n=r(136);var a=4;function i(e){return n(e,a)}e.exports=i},function(e,t,r){var n=r(137),a=r(181),i=r(182),o=r(185),s=r(207),u=r(211),l=r(212),f=r(213),c=r(217),v=r(221),d=r(223),h=r(224),p=r(229),g=r(230),y=r(237),m=r(193),b=r(194),x=r(239),w=r(161),E=r(241),k=r(187);var _=1,D=2,C=4;var S="[object Arguments]",T="[object Array]",P="[object Boolean]",I="[object Date]",M="[object Error]",O="[object Function]",z="[object GeneratorFunction]",N="[object Map]",A="[object Number]",B="[object Object]",L="[object RegExp]",j="[object Set]",R="[object String]",F="[object Symbol]",V="[object WeakMap]";var q="[object ArrayBuffer]",G="[object DataView]",Y="[object Float32Array]",W="[object Float64Array]",X="[object Int8Array]",$="[object Int16Array]",H="[object Int32Array]",U="[object Uint8Array]",K="[object Uint8ClampedArray]",Z="[object Uint16Array]",Q="[object Uint32Array]";var J={};J[S]=J[T]=J[q]=J[G]=J[P]=J[I]=J[Y]=J[W]=J[X]=J[$]=J[H]=J[N]=J[A]=J[B]=J[L]=J[j]=J[R]=J[F]=J[U]=J[K]=J[Z]=J[Q]=true;J[M]=J[O]=J[V]=false;function ee(e,t,r,T,P,I){var M,N=t&_,A=t&D,L=t&C;if(r){M=P?r(e,T,P,I):r(e)}if(M!==undefined){return M}if(!w(e)){return e}var j=m(e);if(j){M=p(e);if(!N){return l(e,M)}}else{var R=h(e),F=R==O||R==z;if(b(e)){return u(e,N)}if(R==B||R==S||F&&!P){M=A||F?{}:y(e);if(!N){return A?c(e,s(M,e)):f(e,o(M,e))}}else{if(!J[R]){return P?e:{}}M=g(e,R,N)}}I||(I=new n);var V=I.get(e);if(V){return V}I.set(e,M);if(E(e)){e.forEach((function(n){M.add(ee(n,t,r,n,e,I))}))}else if(x(e)){e.forEach((function(n,a){M.set(a,ee(n,t,r,a,e,I))}))}var q=L?A?d:v:A?keysIn:k;var G=j?undefined:q(e);a(G||e,(function(n,a){if(G){a=n;n=e[a]}i(M,a,ee(n,t,r,a,e,I))}));return M}e.exports=ee},function(e,t,r){var n=r(138),a=r(146),i=r(147),o=r(148),s=r(149),u=r(150);function l(e){var t=this.__data__=new n(e);this.size=t.size}l.prototype.clear=a;l.prototype["delete"]=i;l.prototype.get=o;l.prototype.has=s;l.prototype.set=u;e.exports=l},function(e,t,r){var n=r(139),a=r(140),i=r(143),o=r(144),s=r(145);function u(e){var t=-1,r=e==null?0:e.length;this.clear();while(++t-1}e.exports=a},function(e,t,r){var n=r(141);function a(e,t){var r=this.__data__,a=n(r,e);if(a<0){++this.size;r.push([e,t])}else{r[a][1]=t}return this}e.exports=a},function(e,t,r){var n=r(138);function a(){this.__data__=new n;this.size=0}e.exports=a},function(e,t){function r(e){var t=this.__data__,r=t["delete"](e);this.size=t.size;return r}e.exports=r},function(e,t){function r(e){return this.__data__.get(e)}e.exports=r},function(e,t){function r(e){return this.__data__.has(e)}e.exports=r},function(e,t,r){var n=r(138),a=r(151),i=r(166);var o=200;function s(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!a||s.length-1&&e%1==0&&e-1&&e%1==0&&e<=r}e.exports=n},function(e,t){function r(e){return function(t){return e(t)}}e.exports=r},function(e,t,r){(function(e){var n=r(158);var a=true&&t&&!t.nodeType&&t;var i=a&&typeof e=="object"&&e&&!e.nodeType&&e;var o=i&&i.exports===a;var s=o&&n.process;var u=function(){try{var e=i&&i.require&&i.require("util").types;if(e){return e}return s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=u}).call(this,r(77)(e))},function(e,t,r){var n=r(203),a=r(204);var i=Object.prototype;var o=i.hasOwnProperty;function s(e){if(!n(e)){return a(e)}var t=[];for(var r in Object(e)){if(o.call(e,r)&&r!="constructor"){t.push(r)}}return t}e.exports=s},function(e,t){var r=Object.prototype;function n(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||r;return e===n}e.exports=n},function(e,t,r){var n=r(205);var a=n(Object.keys,Object);e.exports=a},function(e,t){function r(e,t){return function(r){return e(t(r))}}e.exports=r},function(e,t,r){var n=r(154),a=r(199);function i(e){return e!=null&&a(e.length)&&!n(e)}e.exports=i},function(e,t,r){var n=r(186),a=r(208);function i(e,t){return e&&n(t,a(t),e)}e.exports=i},function(e,t,r){var n=r(188),a=r(209),i=r(206);function o(e){return i(e)?n(e,true):a(e)}e.exports=o},function(e,t,r){var n=r(161),a=r(203),i=r(210);var o=Object.prototype;var s=o.hasOwnProperty;function u(e){if(!n(e)){return i(e)}var t=a(e),r=[];for(var o in e){if(!(o=="constructor"&&(t||!s.call(e,o)))){r.push(o)}}return r}e.exports=u},function(e,t){function r(e){var t=[];if(e!=null){for(var r in Object(e)){t.push(r)}}return t}e.exports=r},function(e,t,r){(function(e){var n=r(157);var a=true&&t&&!t.nodeType&&t;var i=a&&typeof e=="object"&&e&&!e.nodeType&&e;var o=i&&i.exports===a;var s=o?n.Buffer:undefined,u=s?s.allocUnsafe:undefined;function l(e,t){if(t){return e.slice()}var r=e.length,n=u?u(r):new e.constructor(r);e.copy(n);return n}e.exports=l}).call(this,r(77)(e))},function(e,t){function r(e,t){var r=-1,n=e.length;t||(t=Array(n));while(++rv)){return false}var h=f.get(e);if(h&&f.get(t)){return h==t}var p=-1,g=true,y=r&s?new n:undefined;f.set(e,t);f.set(t,e);while(++p0&&r(f)){if(t>1){i(f,t-1,r,o,s)}else{n(s,f)}}else if(!o){s[s.length]=f}}return s}e.exports=i},function(e,t,r){var n=r(156),a=r(190),i=r(193);var o=n?n.isConcatSpreadable:undefined;function s(e){return i(e)||a(e)||!!(o&&e&&e[o])}e.exports=s},function(e,t,r){var n=r(252),a=r(312),i=r(314);function o(e,t){return i(a(e,t,n),e+"")}e.exports=o},function(e,t,r){var n=r(313);var a=Math.max;function i(e,t,r){t=a(t===undefined?e.length-1:t,0);return function(){var i=arguments,o=-1,s=a(i.length-t,0),u=Array(s);while(++o0){if(++t>=r){return arguments[0]}}else{t=0}return e.apply(undefined,arguments)}}e.exports=i},function(e,t,r){var n=r(261),a=r(318),i=r(323),o=r(265),s=r(324),u=r(268);var l=200;function f(e,t,r){var f=-1,c=a,v=e.length,d=true,h=[],p=h;if(r){d=false;c=i}else if(v>=l){var g=t?null:s(e);if(g){return u(g)}d=false;c=o;p=new n}else{p=t?[]:h}e:while(++f-1}e.exports=a},function(e,t,r){var n=r(320),a=r(321),i=r(322);function o(e,t,r){return t===t?i(e,t,r):n(e,a,r)}e.exports=o},function(e,t){function r(e,t,r,n){var a=e.length,i=r+(n?1:-1);while(n?i--:++i0){s=o.removeMin();u=i[s];if(u.distance===Number.POSITIVE_INFINITY){break}n(s).forEach(l)}return i}},function(e,t,r){var n=r(134);e.exports=a;function a(){this._arr=[];this._keyIndices={}}a.prototype.size=function(){return this._arr.length};a.prototype.keys=function(){return this._arr.map((function(e){return e.key}))};a.prototype.has=function(e){return n.has(this._keyIndices,e)};a.prototype.priority=function(e){var t=this._keyIndices[e];if(t!==undefined){return this._arr[t].priority}};a.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};a.prototype.add=function(e,t){var r=this._keyIndices;e=String(e);if(!n.has(r,e)){var a=this._arr;var i=a.length;r[e]=i;a.push({key:e,priority:t});this._decrease(i);return true}return false};a.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();delete this._keyIndices[e.key];this._heapify(0);return e.key};a.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority){throw new Error("New priority is greater than current priority. "+"Key: "+e+" Old: "+this._arr[r].priority+" New: "+t)}this._arr[r].priority=t;this._decrease(r)};a.prototype._heapify=function(e){var t=this._arr;var r=2*e,n=r+1,a=e;if(r>1;if(t[n].priority1||t.length===1&&e.hasEdge(t[0],t[0])}))}},function(e,t,r){var n=r(134);e.exports=a;function a(e){var t=0,r=[],a={},i=[];function o(s){var u=a[s]={onStack:true,lowlink:t,index:t++};r.push(s);e.successors(s).forEach((function(e){if(!n.has(a,e)){o(e);u.lowlink=Math.min(u.lowlink,a[e].lowlink)}else if(a[e].onStack){u.lowlink=Math.min(u.lowlink,a[e].index)}}));if(u.lowlink===u.index){var l=[],f;do{f=r.pop();a[f].onStack=false;l.push(f)}while(s!==f);i.push(l)}}e.nodes().forEach((function(e){if(!n.has(a,e)){o(e)}}));return i}},function(e,t,r){var n=r(134);e.exports=i;var a=n.constant(1);function i(e,t,r){return o(e,t||a,r||function(t){return e.outEdges(t)})}function o(e,t,r){var n={},a=e.nodes();a.forEach((function(e){n[e]={};n[e][e]={distance:0};a.forEach((function(t){if(e!==t){n[e][t]={distance:Number.POSITIVE_INFINITY}}}));r(e).forEach((function(r){var a=r.v===e?r.w:r.v,i=t(r);n[e][a]={distance:i,predecessor:e}}))}));a.forEach((function(e){var t=n[e];a.forEach((function(r){var i=n[r];a.forEach((function(r){var n=i[e];var a=t[r];var o=i[r];var s=n.distance+a.distance;if(s0){u=s.removeMin();if(n.has(o,u)){r.setEdge(u,o[u])}else if(f){throw new Error("Input graph is not connected: "+e)}else{f=true}e.nodeEdges(u).forEach(l)}return r}},function(e,t,r){"use strict";var n=r(346),a=r(391),i=r(394),o=r(396),s=r(395).normalizeRanks,u=r(400),l=r(395).removeEmptyRanks,f=r(401),c=r(402),v=r(403),d=r(404),h=r(413),p=r(395),g=r(130).Graph;e.exports=y;function y(e,t){var r=t&&t.debugTiming?p.time:p.notime;r("layout",(function(){var t=r(" buildLayoutGraph",(function(){return T(e)}));r(" runLayout",(function(){m(t,r)}));r(" updateInputGraph",(function(){b(e,t)}))}))}function m(e,t){t(" makeSpaceForEdgeLabels",(function(){P(e)}));t(" removeSelfEdges",(function(){j(e)}));t(" acyclic",(function(){a.run(e)}));t(" nestingGraph.run",(function(){f.run(e)}));t(" rank",(function(){o(p.asNonCompoundGraph(e))}));t(" injectEdgeLabelProxies",(function(){I(e)}));t(" removeEmptyRanks",(function(){l(e)}));t(" nestingGraph.cleanup",(function(){f.cleanup(e)}));t(" normalizeRanks",(function(){s(e)}));t(" assignRankMinMax",(function(){M(e)}));t(" removeEdgeLabelProxies",(function(){O(e)}));t(" normalize.run",(function(){i.run(e)}));t(" parentDummyChains",(function(){u(e)}));t(" addBorderSegments",(function(){c(e)}));t(" order",(function(){d(e)}));t(" insertSelfEdges",(function(){R(e)}));t(" adjustCoordinateSystem",(function(){v.adjust(e)}));t(" position",(function(){h(e)}));t(" positionSelfEdges",(function(){F(e)}));t(" removeBorderNodes",(function(){L(e)}));t(" normalize.undo",(function(){i.undo(e)}));t(" fixupEdgeLabelCoords",(function(){A(e)}));t(" undoCoordinateSystem",(function(){v.undo(e)}));t(" translateGraph",(function(){z(e)}));t(" assignNodeIntersects",(function(){N(e)}));t(" reversePoints",(function(){B(e)}));t(" acyclic.undo",(function(){a.undo(e)}))}function b(e,t){n.forEach(e.nodes(),(function(r){var n=e.node(r),a=t.node(r);if(n){n.x=a.x;n.y=a.y;if(t.children(r).length){n.width=a.width;n.height=a.height}}}));n.forEach(e.edges(),(function(r){var a=e.edge(r),i=t.edge(r);a.points=i.points;if(n.has(i,"x")){a.x=i.x;a.y=i.y}}));e.graph().width=t.graph().width;e.graph().height=t.graph().height}var x=["nodesep","edgesep","ranksep","marginx","marginy"],w={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},E=["acyclicer","ranker","rankdir","align"],k=["width","height"],_={width:0,height:0},D=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},S=["labelpos"];function T(e){var t=new g({multigraph:true,compound:true}),r=q(e.graph());t.setGraph(n.merge({},w,V(r,x),n.pick(r,E)));n.forEach(e.nodes(),(function(r){var a=q(e.node(r));t.setNode(r,n.defaults(V(a,k),_));t.setParent(r,e.parent(r))}));n.forEach(e.edges(),(function(r){var a=q(e.edge(r));t.setEdge(r,n.merge({},C,V(a,D),n.pick(a,S)))}));return t}function P(e){var t=e.graph();t.ranksep/=2;n.forEach(e.edges(),(function(r){var n=e.edge(r);n.minlen*=2;if(n.labelpos.toLowerCase()!=="c"){if(t.rankdir==="TB"||t.rankdir==="BT"){n.width+=n.labeloffset}else{n.height+=n.labeloffset}}}))}function I(e){n.forEach(e.edges(),(function(t){var r=e.edge(t);if(r.width&&r.height){var n=e.node(t.v),a=e.node(t.w),i={rank:(a.rank-n.rank)/2+n.rank,e:t};p.addDummyNode(e,"edge-proxy",i,"_ep")}}))}function M(e){var t=0;n.forEach(e.nodes(),(function(r){var a=e.node(r);if(a.borderTop){a.minRank=e.node(a.borderTop).rank;a.maxRank=e.node(a.borderBottom).rank;t=n.max(t,a.maxRank)}}));e.graph().maxRank=t}function O(e){n.forEach(e.nodes(),(function(t){var r=e.node(t);if(r.dummy==="edge-proxy"){e.edge(r.e).labelRank=r.rank;e.removeNode(t)}}))}function z(e){var t=Number.POSITIVE_INFINITY,r=0,a=Number.POSITIVE_INFINITY,i=0,o=e.graph(),s=o.marginx||0,u=o.marginy||0;function l(e){var n=e.x,o=e.y,s=e.width,u=e.height;t=Math.min(t,n-s/2);r=Math.max(r,n+s/2);a=Math.min(a,o-u/2);i=Math.max(i,o+u/2)}n.forEach(e.nodes(),(function(t){l(e.node(t))}));n.forEach(e.edges(),(function(t){var r=e.edge(t);if(n.has(r,"x")){l(r)}}));t-=s;a-=u;n.forEach(e.nodes(),(function(r){var n=e.node(r);n.x-=t;n.y-=a}));n.forEach(e.edges(),(function(r){var i=e.edge(r);n.forEach(i.points,(function(e){e.x-=t;e.y-=a}));if(n.has(i,"x")){i.x-=t}if(n.has(i,"y")){i.y-=a}}));o.width=r-t+s;o.height=i-a+u}function N(e){n.forEach(e.edges(),(function(t){var r=e.edge(t),n=e.node(t.v),a=e.node(t.w),i,o;if(!r.points){r.points=[];i=a;o=n}else{i=r.points[0];o=r.points[r.points.length-1]}r.points.unshift(p.intersectRect(n,i));r.points.push(p.intersectRect(a,o))}))}function A(e){n.forEach(e.edges(),(function(t){var r=e.edge(t);if(n.has(r,"x")){if(r.labelpos==="l"||r.labelpos==="r"){r.width-=r.labeloffset}switch(r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}}}))}function B(e){n.forEach(e.edges(),(function(t){var r=e.edge(t);if(r.reversed){r.points.reverse()}}))}function L(e){n.forEach(e.nodes(),(function(t){if(e.children(t).length){var r=e.node(t),a=e.node(r.borderTop),i=e.node(r.borderBottom),o=e.node(n.last(r.borderLeft)),s=e.node(n.last(r.borderRight));r.width=Math.abs(s.x-o.x);r.height=Math.abs(i.y-a.y);r.x=o.x+r.width/2;r.y=a.y+r.height/2}}));n.forEach(e.nodes(),(function(t){if(e.node(t).dummy==="border"){e.removeNode(t)}}))}function j(e){n.forEach(e.edges(),(function(t){if(t.v===t.w){var r=e.node(t.v);if(!r.selfEdges){r.selfEdges=[]}r.selfEdges.push({e:t,label:e.edge(t)});e.removeEdge(t)}}))}function R(e){var t=p.buildLayerMatrix(e);n.forEach(t,(function(t){var r=0;n.forEach(t,(function(t,a){var i=e.node(t);i.order=a+r;n.forEach(i.selfEdges,(function(t){p.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:i.rank,order:a+ ++r,e:t.e,label:t.label},"_se")}));delete i.selfEdges}))}))}function F(e){n.forEach(e.nodes(),(function(t){var r=e.node(t);if(r.dummy==="selfedge"){var n=e.node(r.e.v),a=n.x+n.width/2,i=n.y,o=r.x-a,s=n.height/2;e.setEdge(r.e,r.label);e.removeNode(t);r.label.points=[{x:a+2*o/3,y:i-s},{x:a+5*o/6,y:i-s},{x:a+o,y:i},{x:a+5*o/6,y:i+s},{x:a+2*o/3,y:i+s}];r.label.x=r.x;r.label.y=r.y}}))}function V(e,t){return n.mapValues(n.pick(e,t),Number)}function q(e){var t={};n.forEach(e,(function(e,r){t[r.toLowerCase()]=e}));return t}},function(e,t,r){var n;if(true){try{n={cloneDeep:r(347),constant:r(243),defaults:r(348),each:r(244),filter:r(253),find:r(350),flatten:r(356),forEach:r(245),forIn:r(357),has:r(292),isUndefined:r(295),last:r(358),map:r(296),mapValues:r(359),max:r(360),merge:r(363),min:r(371),minBy:r(373),now:r(374),pick:r(375),range:r(380),reduce:r(298),sortBy:r(383),uniqueId:r(388),values:r(327),zipObject:r(389)}}catch(e){}}if(!n){n=window._}e.exports=n},function(e,t,r){var n=r(136);var a=1,i=4;function o(e){return n(e,a|i)}e.exports=o},function(e,t,r){var n=r(311),a=r(142),i=r(349),o=r(208);var s=Object.prototype;var u=s.hasOwnProperty;var l=n((function(e,t){e=Object(e);var r=-1;var n=t.length;var l=n>2?t[2]:undefined;if(l&&i(t[0],t[1],l)){n=1}while(++r-1?s[u?t[l]:l]:undefined}}e.exports=o},function(e,t,r){var n=r(320),a=r(255),i=r(353);var o=Math.max;function s(e,t,r){var s=e==null?0:e.length;if(!s){return-1}var u=r==null?0:i(r);if(u<0){u=o(s+u,0)}return n(e,a(t,3),u)}e.exports=s},function(e,t,r){var n=r(354);function a(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}e.exports=a},function(e,t,r){var n=r(355);var a=1/0,i=17976931348623157e292;function o(e){if(!e){return e===0?e:0}e=n(e);if(e===a||e===-a){var t=e<0?-1:1;return t*i}return e===e?e:0}e.exports=o},function(e,t,r){var n=r(161),a=r(278);var i=0/0;var o=/^\s+|\s+$/g;var s=/^[-+]0x[0-9a-f]+$/i;var u=/^0b[01]+$/i;var l=/^0o[0-7]+$/i;var f=parseInt;function c(e){if(typeof e=="number"){return e}if(a(e)){return i}if(n(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=n(t)?t+"":t}if(typeof e!="string"){return e===0?e:+e}e=e.replace(o,"");var r=u.test(e);return r||l.test(e)?f(e.slice(2),r?2:8):s.test(e)?i:+e}e.exports=c},function(e,t,r){var n=r(309);function a(e){var t=e==null?0:e.length;return t?n(e,1):[]}e.exports=a},function(e,t,r){var n=r(248),a=r(251),i=r(208);function o(e,t){return e==null?e:n(e,a(t),i)}e.exports=o},function(e,t){function r(e){var t=e==null?0:e.length;return t?e[t-1]:undefined}e.exports=r},function(e,t,r){var n=r(183),a=r(247),i=r(255);function o(e,t){var r={};t=i(t,3);a(e,(function(e,a,i){n(r,a,t(e,a,i))}));return r}e.exports=o},function(e,t,r){var n=r(361),a=r(362),i=r(252);function o(e){return e&&e.length?n(e,i,a):undefined}e.exports=o},function(e,t,r){var n=r(278);function a(e,t,r){var a=-1,i=e.length;while(++at}e.exports=r},function(e,t,r){var n=r(364),a=r(370);var i=a((function(e,t,r){n(e,t,r)}));e.exports=i},function(e,t,r){var n=r(137),a=r(365),i=r(248),o=r(366),s=r(161),u=r(208),l=r(368);function f(e,t,r,c,v){if(e===t){return}i(t,(function(i,u){v||(v=new n);if(s(i)){o(e,t,u,r,f,c,v)}else{var d=c?c(l(e,u),i,u+"",e,t,v):undefined;if(d===undefined){d=i}a(e,u,d)}}),u)}e.exports=f},function(e,t,r){var n=r(183),a=r(142);function i(e,t,r){if(r!==undefined&&!a(e[t],r)||r===undefined&&!(t in e)){n(e,t,r)}}e.exports=i},function(e,t,r){var n=r(365),a=r(211),i=r(236),o=r(212),s=r(237),u=r(190),l=r(193),f=r(326),c=r(194),v=r(154),d=r(161),h=r(367),p=r(197),g=r(368),y=r(369);function m(e,t,r,m,b,x,w){var E=g(e,r),k=g(t,r),_=w.get(k);if(_){n(e,r,_);return}var D=x?x(E,k,r+"",e,t,w):undefined;var C=D===undefined;if(C){var S=l(k),T=!S&&c(k),P=!S&&!T&&p(k);D=k;if(S||T||P){if(l(E)){D=E}else if(f(E)){D=o(E)}else if(T){C=false;D=a(k,true)}else if(P){C=false;D=i(k,true)}else{D=[]}}else if(h(k)||u(k)){D=E;if(u(E)){D=y(E)}else if(!d(E)||v(E)){D=s(k)}}else{C=false}}if(C){w.set(k,D);b(D,k,m,x,w);w["delete"](k)}n(e,r,D)}e.exports=m},function(e,t,r){var n=r(155),a=r(220),i=r(192);var o="[object Object]";var s=Function.prototype,u=Object.prototype;var l=s.toString;var f=u.hasOwnProperty;var c=l.call(Object);function v(e){if(!i(e)||n(e)!=o){return false}var t=a(e);if(t===null){return true}var r=f.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&l.call(r)==c}e.exports=v},function(e,t){function r(e,t){if(t==="constructor"&&typeof e[t]==="function"){return}if(t=="__proto__"){return}return e[t]}e.exports=r},function(e,t,r){var n=r(186),a=r(208);function i(e){return n(e,a(e))}e.exports=i},function(e,t,r){var n=r(311),a=r(349);function i(e){return n((function(t,r){var n=-1,i=r.length,o=i>1?r[i-1]:undefined,s=i>2?r[2]:undefined;o=e.length>3&&typeof o=="function"?(i--,o):undefined;if(s&&a(r[0],r[1],s)){o=i<3?undefined:o;i=1}t=Object(t);while(++n1&&o(e,t[0],t[1])){t=[]}else if(r>2&&o(t[0],t[1],t[2])){t=[t[0]]}return a(e,n(t,1),[])}));e.exports=s},function(e,t,r){var n=r(284),a=r(255),i=r(297),o=r(385),s=r(200),u=r(386),l=r(252);function f(e,t,r){var f=-1;t=n(t.length?t:[l],s(a));var c=i(e,(function(e,r,a){var i=n(t,(function(t){return t(e)}));return{criteria:i,index:++f,value:e}}));return o(c,(function(e,t){return u(e,t,r)}))}e.exports=f},function(e,t){function r(e,t){var r=e.length;e.sort(t);while(r--){e[r]=e[r].value}return e}e.exports=r},function(e,t,r){var n=r(387);function a(e,t,r){var a=-1,i=e.criteria,o=t.criteria,s=i.length,u=r.length;while(++a=u){return l}var f=r[a];return l*(f=="desc"?-1:1)}}return e.index-t.index}e.exports=a},function(e,t,r){var n=r(278);function a(e,t){if(e!==t){var r=e!==undefined,a=e===null,i=e===e,o=n(e);var s=t!==undefined,u=t===null,l=t===t,f=n(t);if(!u&&!f&&!o&&e>t||o&&s&&l&&!u&&!f||a&&s&&l||!r&&l||!i){return 1}if(!a&&!o&&!f&&e0;--s){o=t[s].dequeue();if(o){n=n.concat(l(e,t,r,o,true));break}}}}return n}function l(e,t,r,a,i){var o=i?[]:undefined;n.forEach(e.inEdges(a.v),(function(n){var a=e.edge(n),s=e.node(n.v);if(i){o.push({v:n.v,w:n.w})}s.out-=a;c(t,r,s)}));n.forEach(e.outEdges(a.v),(function(n){var a=e.edge(n),i=n.w,o=e.node(i);o["in"]-=a;c(t,r,o)}));e.removeNode(a.v);return o}function f(e,t){var r=new a,o=0,s=0;n.forEach(e.nodes(),(function(e){r.setNode(e,{v:e,in:0,out:0})}));n.forEach(e.edges(),(function(e){var n=r.edge(e.v,e.w)||0,a=t(e),i=n+a;r.setEdge(e.v,e.w,i);s=Math.max(s,r.node(e.v).out+=a);o=Math.max(o,r.node(e.w)["in"]+=a)}));var u=n.range(s+o+3).map((function(){return new i}));var l=o+1;n.forEach(r.nodes(),(function(e){c(u,l,r.node(e))}));return{graph:r,buckets:u,zeroIdx:l}}function c(e,t,r){if(!r.out){e[0].enqueue(r)}else if(!r["in"]){e[e.length-1].enqueue(r)}else{e[r.out-r["in"]+t].enqueue(r)}}},function(e,t){e.exports=r;function r(){var e={};e._next=e._prev=e;this._sentinel=e}r.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e){n(t);return t}};r.prototype.enqueue=function(e){var t=this._sentinel;if(e._prev&&e._next){n(e)}e._next=t._next;t._next._prev=e;t._next=e;e._prev=t};r.prototype.toString=function(){var e=[],t=this._sentinel,r=t._prev;while(r!==t){e.push(JSON.stringify(r,a));r=r._prev}return"["+e.join(", ")+"]"};function n(e){e._prev._next=e._next;e._next._prev=e._prev;delete e._next;delete e._prev}function a(e,t){if(e!=="_next"&&e!=="_prev"){return t}}},function(e,t,r){"use strict";var n=r(346),a=r(395);e.exports={run:i,undo:s};function i(e){e.graph().dummyChains=[];n.forEach(e.edges(),(function(t){o(e,t)}))}function o(e,t){var r=t.v,n=e.node(r).rank,i=t.w,o=e.node(i).rank,s=t.name,u=e.edge(t),l=u.labelRank;if(o===n+1)return;e.removeEdge(t);var f,c,v;for(v=0,++n;nMath.abs(a)*s){if(i<0){s=-s}u=s*a/i;l=s}else{if(a<0){o=-o}u=o;l=o*i/a}return{x:r+u,y:n+l}}function c(e){var t=n.map(n.range(p(e)+1),(function(){return[]}));n.forEach(e.nodes(),(function(r){var a=e.node(r),i=a.rank;if(!n.isUndefined(i)){t[i][a.order]=r}}));return t}function v(e){var t=n.min(n.map(e.nodes(),(function(t){return e.node(t).rank})));n.forEach(e.nodes(),(function(r){var a=e.node(r);if(n.has(a,"rank")){a.rank-=t}}))}function d(e){var t=n.min(n.map(e.nodes(),(function(t){return e.node(t).rank})));var r=[];n.forEach(e.nodes(),(function(n){var a=e.node(n).rank-t;if(!r[a]){r[a]=[]}r[a].push(n)}));var a=0,i=e.graph().nodeRankFactor;n.forEach(r,(function(t,r){if(n.isUndefined(t)&&r%i!==0){--a}else if(a){n.forEach(t,(function(t){e.node(t).rank+=a}))}}))}function h(e,t,r,n){var a={width:0,height:0};if(arguments.length>=4){a.rank=r;a.order=n}return i(e,"border",a,t)}function p(e){return n.max(n.map(e.nodes(),(function(t){var r=e.node(t).rank;if(!n.isUndefined(r)){return r}})))}function g(e,t){var r={lhs:[],rhs:[]};n.forEach(e,(function(e){if(t(e)){r.lhs.push(e)}else{r.rhs.push(e)}}));return r}function y(e,r){var a=n.now();try{return r()}finally{t.log(e+" time: "+(n.now()-a)+"ms")}}function m(e,t){return t()}}).call(this,r(5))},function(e,t,r){"use strict";var n=r(397),a=n.longestPath,i=r(398),o=r(399);e.exports=s;function s(e){switch(e.graph().ranker){case"network-simplex":f(e);break;case"tight-tree":l(e);break;case"longest-path":u(e);break;default:f(e)}}var u=a;function l(e){a(e);i(e)}function f(e){o(e)}},function(e,t,r){"use strict";var n=r(346);e.exports={longestPath:a,slack:i};function a(e){var t={};function r(a){var i=e.node(a);if(n.has(t,a)){return i.rank}t[a]=true;var o=n.min(n.map(e.outEdges(a),(function(t){return r(t.w)-e.edge(t).minlen})));if(o===Number.POSITIVE_INFINITY||o===undefined||o===null){o=0}return i.rank=o}n.forEach(e.sources(),r)}function i(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}},function(e,t,r){"use strict";var n=r(346),a=r(130).Graph,i=r(397).slack;e.exports=o;function o(e){var t=new a({directed:false});var r=e.nodes()[0],n=e.nodeCount();t.setNode(r,{});var o,f;while(s(t,e)u.lim){l=u;f=true}var c=n.filter(t.edges(),(function(t){return f===w(e,e.node(t.v),l)&&f!==w(e,e.node(t.w),l)}));return n.minBy(c,(function(e){return i(t,e)}))}function m(e,t,r,n){var a=r.v,i=r.w;e.removeEdge(a,i);e.setEdge(n.v,n.w,{});h(e);c(e,t);b(e,t)}function b(e,t){var r=n.find(e.nodes(),(function(e){return!t.node(e).parent})),a=s(e,r);a=a.slice(1);n.forEach(a,(function(r){var n=e.node(r).parent,a=t.edge(r,n),i=false;if(!a){a=t.edge(n,r);i=true}t.node(r).rank=t.node(n).rank+(i?a.minlen:-a.minlen)}))}function x(e,t,r){return e.hasEdge(t,r)}function w(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}},function(e,t,r){var n=r(346);e.exports=a;function a(e){var t=o(e);n.forEach(e.graph().dummyChains,(function(r){var n=e.node(r),a=n.edgeObj,o=i(e,t,a.v,a.w),s=o.path,u=o.lca,l=0,f=s[l],c=true;while(r!==a.w){n=e.node(r);if(c){while((f=s[l])!==u&&e.node(f).maxRanko||s>t[u].lim));l=u;u=n;while((u=e.parent(u))!==l){i.push(u)}return{path:a.concat(i.reverse()),lca:l}}function o(e){var t={},r=0;function a(i){var o=r;n.forEach(e.children(i),a);t[i]={low:o,lim:r++}}n.forEach(e.children(),a);return t}},function(e,t,r){var n=r(346),a=r(395);e.exports={run:i,cleanup:l};function i(e){var t=a.addDummyNode(e,"root",{},"_root");var r=s(e);var i=n.max(n.values(r))-1;var l=2*i+1;e.graph().nestingRoot=t;n.forEach(e.edges(),(function(t){e.edge(t).minlen*=l}));var f=u(e)+1;n.forEach(e.children(),(function(n){o(e,t,l,f,i,r,n)}));e.graph().nodeRankFactor=l}function o(e,t,r,i,s,u,l){var f=e.children(l);if(!f.length){if(l!==t){e.setEdge(t,l,{weight:0,minlen:r})}return}var c=a.addBorderNode(e,"_bt"),v=a.addBorderNode(e,"_bb"),d=e.node(l);e.setParent(c,l);d.borderTop=c;e.setParent(v,l);d.borderBottom=v;n.forEach(f,(function(n){o(e,t,r,i,s,u,n);var a=e.node(n),f=a.borderTop?a.borderTop:n,d=a.borderBottom?a.borderBottom:n,h=a.borderTop?i:2*i,p=f!==d?1:s-u[l]+1;e.setEdge(c,f,{weight:h,minlen:p,nestingEdge:true});e.setEdge(d,v,{weight:h,minlen:p,nestingEdge:true})}));if(!e.parent(l)){e.setEdge(t,c,{weight:0,minlen:s+u[l]})}}function s(e){var t={};function r(a,i){var o=e.children(a);if(o&&o.length){n.forEach(o,(function(e){r(e,i+1)}))}t[a]=i}n.forEach(e.children(),(function(e){r(e,1)}));return t}function u(e){return n.reduce(e.edges(),(function(t,r){return t+e.edge(r).weight}),0)}function l(e){var t=e.graph();e.removeNode(t.nestingRoot);delete t.nestingRoot;n.forEach(e.edges(),(function(t){var r=e.edge(t);if(r.nestingEdge){e.removeEdge(t)}}))}},function(e,t,r){var n=r(346),a=r(395);e.exports=i;function i(e){function t(r){var a=e.children(r),i=e.node(r);if(a.length){n.forEach(a,t)}if(n.has(i,"minRank")){i.borderLeft=[];i.borderRight=[];for(var s=i.minRank,u=i.maxRank+1;s=2);s=f.buildLayerMatrix(e);var g=i(e,s);if(g0){if(t%2){r+=u[t+1]}t=t-1>>1;u[t]+=e.weight}l+=e.weight*r})));return l}},function(e,t,r){var n=r(346),a=r(408),i=r(409),o=r(410);e.exports=s;function s(e,t,r,f){var c=e.children(t),v=e.node(t),d=v?v.borderLeft:undefined,h=v?v.borderRight:undefined,p={};if(d){c=n.filter(c,(function(e){return e!==d&&e!==h}))}var g=a(e,c);n.forEach(g,(function(t){if(e.children(t.v).length){var a=s(e,t.v,r,f);p[t.v]=a;if(n.has(a,"barycenter")){l(t,a)}}}));var y=i(g,r);u(y,p);var m=o(y,f);if(d){m.vs=n.flatten([d,m.vs,h],true);if(e.predecessors(d).length){var b=e.node(e.predecessors(d)[0]),x=e.node(e.predecessors(h)[0]);if(!n.has(m,"barycenter")){m.barycenter=0;m.weight=0}m.barycenter=(m.barycenter*m.weight+b.order+x.order)/(m.weight+2);m.weight+=2}}return m}function u(e,t){n.forEach(e,(function(e){e.vs=n.flatten(e.vs.map((function(e){if(t[e]){return t[e].vs}return e})),true)}))}function l(e,t){if(!n.isUndefined(e.barycenter)){e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight);e.weight+=t.weight}else{e.barycenter=t.barycenter;e.weight=t.weight}}},function(e,t,r){var n=r(346);e.exports=a;function a(e,t){return n.map(t,(function(t){var r=e.inEdges(t);if(!r.length){return{v:t}}else{var a=n.reduce(r,(function(t,r){var n=e.edge(r),a=e.node(r.v);return{sum:t.sum+n.weight*a.order,weight:t.weight+n.weight}}),{sum:0,weight:0});return{v:t,barycenter:a.sum/a.weight,weight:a.weight}}}))}},function(e,t,r){"use strict";var n=r(346);e.exports=a;function a(e,t){var r={};n.forEach(e,(function(e,t){var a=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};if(!n.isUndefined(e.barycenter)){a.barycenter=e.barycenter;a.weight=e.weight}}));n.forEach(t.edges(),(function(e){var t=r[e.v],a=r[e.w];if(!n.isUndefined(t)&&!n.isUndefined(a)){a.indegree++;t.out.push(r[e.w])}}));var a=n.filter(r,(function(e){return!e.indegree}));return i(a)}function i(e){var t=[];function r(e){return function(t){if(t.merged){return}if(n.isUndefined(t.barycenter)||n.isUndefined(e.barycenter)||t.barycenter>=e.barycenter){o(e,t)}}}function a(t){return function(r){r["in"].push(t);if(--r.indegree===0){e.push(r)}}}while(e.length){var i=e.pop();t.push(i);n.forEach(i["in"].reverse(),r(i));n.forEach(i.out,a(i))}return n.map(n.filter(t,(function(e){return!e.merged})),(function(e){return n.pick(e,["vs","i","barycenter","weight"])}))}function o(e,t){var r=0,n=0;if(e.weight){r+=e.barycenter*e.weight;n+=e.weight}if(t.weight){r+=t.barycenter*t.weight;n+=t.weight}e.vs=t.vs.concat(e.vs);e.barycenter=r/n;e.weight=n;e.i=Math.min(t.i,e.i);t.merged=true}},function(e,t,r){var n=r(346),a=r(395);e.exports=i;function i(e,t){var r=a.partition(e,(function(e){return n.has(e,"barycenter")}));var i=r.lhs,u=n.sortBy(r.rhs,(function(e){return-e.i})),l=[],f=0,c=0,v=0;i.sort(s(!!t));v=o(l,u,v);n.forEach(i,(function(e){v+=e.vs.length;l.push(e.vs);f+=e.barycenter*e.weight;c+=e.weight;v=o(l,u,v)}));var d={vs:n.flatten(l,true)};if(c){d.barycenter=f/c;d.weight=c}return d}function o(e,t,r){var a;while(t.length&&(a=n.last(t)).i<=r){t.pop();e.push(a.vs);r++}return r}function s(e){return function(t,r){if(t.barycenterr.barycenter){return 1}return!e?t.i-r.i:r.i-t.i}}},function(e,t,r){var n=r(346),a=r(130).Graph;e.exports=i;function i(e,t,r){var i=o(e),s=new a({compound:true}).setGraph({root:i}).setDefaultNodeLabel((function(t){return e.node(t)}));n.forEach(e.nodes(),(function(a){var o=e.node(a),u=e.parent(a);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(a);s.setParent(a,u||i);n.forEach(e[r](a),(function(t){var r=t.v===a?t.w:t.v,i=s.edge(r,a),o=!n.isUndefined(i)?i.weight:0;s.setEdge(r,a,{weight:e.edge(t).weight+o})}));if(n.has(o,"minRank")){s.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}}));return s}function o(e){var t;while(e.hasNode(t=n.uniqueId("_root")));return t}},function(e,t,r){var n=r(346);e.exports=a;function a(e,t,r){var a={},i;n.forEach(r,(function(r){var n=e.parent(r),o,s;while(n){o=e.parent(n);if(o){s=a[o];a[o]=n}else{s=i;i=n}if(s&&s!==n){t.setEdge(s,n);return}n=o}}))}},function(e,t,r){"use strict";var n=r(346),a=r(395),i=r(414).positionX;e.exports=o;function o(e){e=a.asNonCompoundGraph(e);s(e);n.forEach(i(e),(function(t,r){e.node(r).x=t}))}function s(e){var t=a.buildLayerMatrix(e),r=e.graph().ranksep,i=0;n.forEach(t,(function(t){var a=n.max(n.map(t,(function(t){return e.node(t).height})));n.forEach(t,(function(t){e.node(t).y=i+a/2}));i+=a+r}))}},function(e,t,r){"use strict";var n=r(346),a=r(130).Graph,i=r(395);e.exports={positionX:y,findType1Conflicts:o,findType2Conflicts:s,addConflict:l,hasConflict:f,verticalAlignment:c,horizontalCompaction:v,alignCoordinates:p,findSmallestWidthAlignment:h,balance:g};function o(e,t){var r={};function a(t,a){var i=0,o=0,s=t.length,f=n.last(a);n.forEach(a,(function(t,c){var v=u(e,t),d=v?e.node(v).order:s;if(v||t===f){n.forEach(a.slice(o,c+1),(function(t){n.forEach(e.predecessors(t),(function(n){var a=e.node(n),o=a.order;if((os)){l(r,t,u)}}))}}))}function i(t,r){var i=-1,o,s=0;n.forEach(r,(function(n,u){if(e.node(n).dummy==="border"){var l=e.predecessors(n);if(l.length){o=e.node(l[0]).order;a(r,s,u,i,o);s=u;i=o}}a(r,s,r.length,o,t.length)}));return r}n.reduce(t,i);return r}function u(e,t){if(e.node(t).dummy){return n.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}}function l(e,t,r){if(t>r){var n=t;t=r;r=n}var a=e[t];if(!a){e[t]=a={}}a[r]=true}function f(e,t,r){if(t>r){var a=t;t=r;r=a}return n.has(e[t],r)}function c(e,t,r,a){var i={},o={},s={};n.forEach(t,(function(e){n.forEach(e,(function(e,t){i[e]=e;o[e]=e;s[e]=t}))}));n.forEach(t,(function(e){var t=-1;n.forEach(e,(function(e){var u=a(e);if(u.length){u=n.sortBy(u,(function(e){return s[e]}));var l=(u.length-1)/2;for(var c=Math.floor(l),v=Math.ceil(l);c<=v;++c){var d=u[c];if(o[e]===e&&t