UNPKG

react-sigma

Version:

Lightweight but powerful library for drawing network graphs built on top of SigmaJS

1 lines 77.7 kB
var Sigma=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=115)}({115:function(e,t,i){"use strict";i.r(t);i(116),i(117),i(118),i(119),i(120),i(121),i(122),i(123),i(124),i(125),i(126),i(127),i(128),i(129),i(130),i(131),i(132),i(133),i(134),i(135),i(136),i(137),i(138),i(139),i(140),i(141);let n=window.sigma;n.renderers.def=n.renderers.canvas,t.default=n},116:function(e,t){(function(){(function(e){"use strict";var t={},i=function(e){var n,s,r,a,o;i.classes.dispatcher.extend(this);var d=this,l=e||{};if("string"==typeof l||l instanceof HTMLElement?l={renderers:[l]}:"[object Array]"===Object.prototype.toString.call(l)&&(l={renderers:l}),a=l.renderers||l.renderer||l.container,l.renderers&&0!==l.renderers.length||("string"==typeof a||a instanceof HTMLElement||"object"==typeof a&&"container"in a)&&(l.renderers=[a]),l.id){if(t[l.id])throw'sigma: Instance "'+l.id+'" already exists.';Object.defineProperty(this,"id",{value:l.id})}else{for(o=0;t[o];)o++;Object.defineProperty(this,"id",{value:""+o})}for(t[this.id]=this,this.settings=new i.classes.configurable(i.settings,l.settings||{}),Object.defineProperty(this,"graph",{value:new i.classes.graph(this.settings),configurable:!0}),Object.defineProperty(this,"middlewares",{value:[],configurable:!0}),Object.defineProperty(this,"cameras",{value:{},configurable:!0}),Object.defineProperty(this,"renderers",{value:{},configurable:!0}),Object.defineProperty(this,"renderersPerCamera",{value:{},configurable:!0}),Object.defineProperty(this,"cameraFrames",{value:{},configurable:!0}),Object.defineProperty(this,"camera",{get:function(){return this.cameras[0]}}),Object.defineProperty(this,"events",{value:["click","rightClick","clickStage","doubleClickStage","rightClickStage","clickNode","clickNodes","doubleClickNode","doubleClickNodes","rightClickNode","rightClickNodes","overNode","overNodes","outNode","outNodes","downNode","downNodes","upNode","upNodes"],configurable:!0}),this._handler=function(e){var t,i={};for(t in e.data)i[t]=e.data[t];i.renderer=e.target,this.dispatchEvent(e.type,i)}.bind(this),n=0,s=(r=l.renderers||[]).length;n<s;n++)this.addRenderer(r[n]);for(n=0,s=(r=l.middlewares||[]).length;n<s;n++)this.middlewares.push("string"==typeof r[n]?i.middlewares[r[n]]:r[n]);"object"==typeof l.graph&&l.graph&&(this.graph.read(l.graph),this.refresh()),window.addEventListener("resize",(function(){d.settings&&d.refresh()}))};if(i.prototype.addCamera=function(t){var n,s=this;if(!arguments.length){for(t=0;this.cameras[""+t];)t++;t=""+t}if(this.cameras[t])throw'sigma.addCamera: The camera "'+t+'" already exists.';return n=new i.classes.camera(t,this.graph,this.settings),this.cameras[t]=n,n.quadtree=new i.classes.quad,i.classes.edgequad!==e&&(n.edgequadtree=new i.classes.edgequad),n.bind("coordinatesUpdated",(function(e){s.renderCamera(n,n.isAnimated)})),this.renderersPerCamera[t]=[],n},i.prototype.killCamera=function(e){if(!(e="string"==typeof e?this.cameras[e]:e))throw"sigma.killCamera: The camera is undefined.";var t,i=this.renderersPerCamera[e.id];for(t=i.length-1;t>=0;t--)this.killRenderer(i[t]);return delete this.renderersPerCamera[e.id],delete this.cameraFrames[e.id],delete this.cameras[e.id],e.kill&&e.kill(),this},i.prototype.addRenderer=function(e){var t,n,s,r,a=e||{};if("string"==typeof a?a={container:document.getElementById(a)}:a instanceof HTMLElement&&(a={container:a}),"string"==typeof a.container&&(a.container=document.getElementById(a.container)),"id"in a)t=a.id;else{for(t=0;this.renderers[""+t];)t++;t=""+t}if(this.renderers[t])throw'sigma.addRenderer: The renderer "'+t+'" already exists.';if(n=(n="function"==typeof a.type?a.type:i.renderers[a.type])||i.renderers.def,s="camera"in a?a.camera instanceof i.classes.camera?a.camera:this.cameras[a.camera]||this.addCamera(a.camera):this.addCamera(),this.cameras[s.id]!==s)throw"sigma.addRenderer: The camera is not properly referenced.";return r=new n(this.graph,s,this.settings,a),this.renderers[t]=r,Object.defineProperty(r,"id",{value:t}),r.bind&&r.bind(["click","rightClick","clickStage","doubleClickStage","rightClickStage","clickNode","clickNodes","clickEdge","clickEdges","doubleClickNode","doubleClickNodes","doubleClickEdge","doubleClickEdges","rightClickNode","rightClickNodes","rightClickEdge","rightClickEdges","overNode","overNodes","overEdge","overEdges","outNode","outNodes","outEdge","outEdges","downNode","downNodes","downEdge","downEdges","upNode","upNodes","upEdge","upEdges"],this._handler),this.renderersPerCamera[s.id].push(r),r},i.prototype.killRenderer=function(e){if(!(e="string"==typeof e?this.renderers[e]:e))throw"sigma.killRenderer: The renderer is undefined.";var t=this.renderersPerCamera[e.camera.id],i=t.indexOf(e);return i>=0&&t.splice(i,1),e.kill&&e.kill(),delete this.renderers[e.id],this},i.prototype.refresh=function(t){var n,s,r,a,o,d,l=0;for(t=t||{},n=0,s=(a=this.middlewares||[]).length;n<s;n++)a[n].call(this,0===n?"":"tmp"+l+":",n===s-1?"ready:":"tmp"+ ++l+":");for(r in this.cameras)(o=this.cameras[r]).settings("autoRescale")&&this.renderersPerCamera[o.id]&&this.renderersPerCamera[o.id].length?i.middlewares.rescale.call(this,a.length?"ready:":"",o.readPrefix,{width:this.renderersPerCamera[o.id][0].width,height:this.renderersPerCamera[o.id][0].height}):i.middlewares.copy.call(this,a.length?"ready:":"",o.readPrefix),t.skipIndexation||(d=i.utils.getBoundaries(this.graph,o.readPrefix),o.quadtree.index(this.graph.nodes(),{prefix:o.readPrefix,bounds:{x:d.minX,y:d.minY,width:d.maxX-d.minX,height:d.maxY-d.minY}}),o.edgequadtree!==e&&o.settings("drawEdges")&&o.settings("enableEdgeHovering")&&o.edgequadtree.index(this.graph,{prefix:o.readPrefix,bounds:{x:d.minX,y:d.minY,width:d.maxX-d.minX,height:d.maxY-d.minY}}));for(n=0,s=(a=Object.keys(this.renderers)).length;n<s;n++)if(this.renderers[a[n]].process)if(this.settings("skipErrors"))try{this.renderers[a[n]].process()}catch(e){console.log('Warning: The renderer "'+a[n]+'" crashed on ".process()"')}else this.renderers[a[n]].process();return this.render(),this},i.prototype.render=function(){var e,t,i;for(e=0,t=(i=Object.keys(this.renderers)).length;e<t;e++)if(this.settings("skipErrors"))try{this.renderers[i[e]].render()}catch(t){this.settings("verbose")&&console.log('Warning: The renderer "'+i[e]+'" crashed on ".render()"')}else this.renderers[i[e]].render();return this},i.prototype.renderCamera=function(e,t){var i,n,s,r=this;if(t)for(i=0,n=(s=this.renderersPerCamera[e.id]).length;i<n;i++)if(this.settings("skipErrors"))try{s[i].render()}catch(e){this.settings("verbose")&&console.log('Warning: The renderer "'+s[i].id+'" crashed on ".render()"')}else s[i].render();else if(!this.cameraFrames[e.id]){for(i=0,n=(s=this.renderersPerCamera[e.id]).length;i<n;i++)if(this.settings("skipErrors"))try{s[i].render()}catch(e){this.settings("verbose")&&console.log('Warning: The renderer "'+s[i].id+'" crashed on ".render()"')}else s[i].render();this.cameraFrames[e.id]=requestAnimationFrame((function(){delete r.cameraFrames[e.id]}))}return this},i.prototype.kill=function(){var e;for(e in this.dispatchEvent("kill"),this.graph.kill(),delete this.middlewares,this.renderers)this.killRenderer(this.renderers[e]);for(e in this.cameras)this.killCamera(this.cameras[e]);for(e in delete this.renderers,delete this.cameras,this)this.hasOwnProperty(e)&&delete this[e];delete t[this.id]},i.instances=function(e){return arguments.length?t[e]:i.utils.extend({},t)},i.version="1.2.1",void 0!==this.sigma)throw"An object called sigma is already in the global scope.";this.sigma=i}).call(this)}).call(window)},117:function(e,t,i){(function(){!function(i){"use strict";if(i.conrad)throw new Error("conrad already exists");var n,s=!1,r={},a={},o=[],d={},l=[],h=!1,c={frameDuration:20,history:!0},u=Object.create(null);function g(e,t){var i,n,s,r,a,o,d=Array.isArray(e)?e:e.split(/ /);for(t=void 0===t?{}:t,i=0,s=d.length;i!==s;i+=1)if(o=d[i],u[o])for(a={type:o,data:t||{}},n=0,r=u[o].length;n!==r;n+=1)try{u[o][n].handler(a)}catch(e){}}function f(){var e,t,i,n,s=!1,r=E(),a=o.shift();if(i=a.job(),r=E()-r,a.done++,a.time+=r,a.currentTime+=r,a.weightTime=a.currentTime/(a.weight||1),a.averageTime=a.time/a.done,!(n=a.count?a.count<=a.done:!i)){for(e=0,t=o.length;e<t;e++)if(o[e].weightTime>a.weightTime){o.splice(e,0,a),s=!0;break}s||o.push(a)}return n?a:null}function m(e){var t=o.length;a[e.id]=e,e.status="running",t&&(e.weightTime=o[t-1].weightTime,e.currentTime=e.weightTime*(e.weight||1)),e.startTime=E(),g("jobStarted",b(e)),o.push(e)}function y(){var e,t,i;for(e in r)(t=r[e]).after?d[e]=t:m(t),delete r[e];for(s=!!o.length;o.length&&E()-n<c.frameDuration;)if(i=f())for(e in p(i.id),d)d[e].after===i.id&&(m(d[e]),delete d[e]);s?(n=E(),g("enterFrame"),setTimeout(y,0)):g("stop")}function p(e){var t,i,n,s,h=!1;if(Array.isArray(e))for(t=0,i=e.length;t<i;t++)p(e[t]);else{if("string"!=typeof e)throw new Error("[conrad.killJob] Wrong arguments.");for(t=0,i=(n=[a,d,r]).length;t<i;t++)e in n[t]&&(s=n[t][e],c.history&&(s.status="done",l.push(s)),g("jobEnded",b(s)),delete n[t][e],"function"==typeof s.end&&s.end(),h=!0);for(t=0,i=(n=o).length;t<i;t++)if(n[t].id===e){n.splice(t,1);break}if(!h)throw new Error('[conrad.killJob] Job "'+e+'" not found.')}return this}function x(e){var t=r[e]||a[e]||d[e];return t?v(t):null}function v(){var e,t,i={};for(e=arguments.length-1;e>=0;e--)for(t in arguments[e])i[t]=arguments[e][t];return i}function b(e){var t,i,n;if(!e)return e;if(Array.isArray(e))for(t=[],i=0,n=e.length;i<n;i++)t.push(b(e[i]));else if("object"==typeof e)for(i in t={},e)t[i]=b(e[i]);else t=e;return t}function w(e){var t,i=[];for(t in e)i.push(e[t]);return i}function E(){return Date.now?Date.now():(new Date).getTime()}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var C={hasJob:x,addJob:function e(t,i){var a,o,d;if(Array.isArray(t)){for(h=!0,a=0,o=t.length;a<o;a++)e(t[a].id,v(t[a],i));h=!1,s||(n=E(),g("start"),y())}else if("object"==typeof t)if("string"==typeof t.id)e(t.id,t);else{for(a in h=!0,t)"function"==typeof t[a]?e(a,v({job:t[a]},i)):e(a,v(t[a],i));h=!1,s||(n=E(),g("start"),y())}else{if("string"!=typeof t)throw new Error("[conrad.addJob] Wrong arguments.");if(x(t))throw new Error('[conrad.addJob] Job with id "'+t+'" already exists.');if("function"==typeof i)d={id:t,done:0,time:0,status:"waiting",currentTime:0,averageTime:0,weightTime:0,job:i};else{if("object"!=typeof i)throw new Error("[conrad.addJob] Wrong arguments.");d=v({id:t,done:0,time:0,status:"waiting",currentTime:0,averageTime:0,weightTime:0},i)}r[t]=d,g("jobAdded",b(d)),s||h||(n=E(),g("start"),y())}return this},killJob:p,killAll:function(){var e,t=v(r,a,d);if(c.history)for(e in t)t[e].status="done",l.push(t[e]),"function"==typeof t[e].end&&t[e].end();return r={},d={},a={},o=[],s=!1,this},settings:function(e,t){var i;if("string"==typeof a1&&1===arguments.length)return c[a1];for(var n in i="object"==typeof a1&&1===arguments.length&&a1||{},"string"==typeof a1&&(i[a1]=a2),i)void 0!==i[n]?c[n]=i[n]:delete c[n];return this},getStats:function(e,t){var i,n,s,o,h,c,u;if(!arguments.length){for(n in h=[],r)h.push(r[n]);for(n in d)h.push(d[n]);for(n in a)h.push(a[n]);h=h.concat(l)}if("string"==typeof e)switch(e){case"waiting":h=w(d);break;case"running":h=w(a);break;case"done":h=l;break;default:c=e}if(e instanceof RegExp&&(c=e),!c&&("string"==typeof t||t instanceof RegExp)&&(c=t),c){if(u="string"==typeof c,h instanceof Array)i=h;else if("object"==typeof h)for(n in i=[],h)i=i.concat(h[n]);else{for(n in i=[],r)i.push(r[n]);for(n in d)i.push(d[n]);for(n in a)i.push(a[n]);i=i.concat(l)}for(h=[],s=0,o=i.length;s<o;s++)(u?i[s].id===c:i[s].id.match(c))&&h.push(i[s])}return b(h)},isRunning:function(){return s},clearHistory:function(){return l=[],this},bind:function e(t,i){var n,s,r,a;if(arguments.length)if(1===arguments.length&&Object(arguments[0])===arguments[0])for(t in arguments[0])e(t,arguments[0][t]);else if(arguments.length>1)for(n=0,s=(a=Array.isArray(t)?t:t.split(/ /)).length;n!==s;n+=1)r=a[n],u[r]||(u[r]=[]),u[r].push({handler:i})},unbind:function(e,t){var i,n,s,r,a,o,d=Array.isArray(e)?e:e.split(/ /);if(arguments.length)if(t)for(i=0,n=d.length;i!==n;i+=1){if(o=d[i],u[o]){for(a=[],s=0,r=u[o].length;s!==r;s+=1)u[o][s].handler!==t&&a.push(u[o][s]);u[o]=a}u[o]&&0===u[o].length&&delete u[o]}else for(i=0,n=d.length;i!==n;i+=1)delete u[d[i]];else u=Object.create(null)},version:"0.1.0"};e.exports&&(t=e.exports=C),t.conrad=C,i.conrad=C}(this)}).call(window)},118:function(e,t){(function(){(function(e){"use strict";if("undefined"==typeof sigma)throw"sigma is not declared";var t,i=this;sigma.utils=sigma.utils||{},sigma.utils.extend=function(){var e,t,i={},n=arguments.length;for(e=n-1;e>=0;e--)for(t in arguments[e])i[t]=arguments[e][t];return i},sigma.utils.dateNow=function(){return Date.now?Date.now():(new Date).getTime()},sigma.utils.pkg=function(e){return(e||"").split(".").reduce((function(e,t){return t in e?e[t]:e[t]={}}),i)},sigma.utils.id=(t=0,function(){return++t});var n={};sigma.utils.floatColor=function(e){if(n[e])return n[e];var t=e,i=0,s=0,r=0;"#"===e[0]?3===(e=e.slice(1)).length?(i=parseInt(e.charAt(0)+e.charAt(0),16),s=parseInt(e.charAt(1)+e.charAt(1),16),r=parseInt(e.charAt(2)+e.charAt(2),16)):(i=parseInt(e.charAt(0)+e.charAt(1),16),s=parseInt(e.charAt(2)+e.charAt(3),16),r=parseInt(e.charAt(4)+e.charAt(5),16)):e.match(/^ *rgba? *\(/)&&(i=+(e=e.match(/^ *rgba? *\( *([0-9]*) *, *([0-9]*) *, *([0-9]*) *(,.*)?\) *$/))[1],s=+e[2],r=+e[3]);var a=256*i*256+256*s+r;return n[t]=a,a},sigma.utils.zoomTo=function(e,t,i,n,s){var r,a,o,d=e.settings;(a=Math.max(d("zoomMin"),Math.min(d("zoomMax"),e.ratio*n)))!==e.ratio&&(o={x:t*(1-(n=a/e.ratio))+e.x,y:i*(1-n)+e.y,ratio:a},s&&s.duration?(r=sigma.misc.animation.killAll(e),s=sigma.utils.extend(s,{easing:r?"quadraticOut":"quadraticInOut"}),sigma.misc.animation.camera(e,o,s)):(e.goTo(o),s&&s.onComplete&&s.onComplete()))},sigma.utils.getQuadraticControlPoint=function(e,t,i,n){return{x:(e+i)/2+(n-t)/4,y:(t+n)/2+(e-i)/4}},sigma.utils.getPointOnQuadraticCurve=function(e,t,i,n,s,r,a){return{x:Math.pow(1-e,2)*t+2*(1-e)*e*r+Math.pow(e,2)*n,y:Math.pow(1-e,2)*i+2*(1-e)*e*a+Math.pow(e,2)*s}},sigma.utils.getPointOnBezierCurve=function(e,t,i,n,s,r,a,o,d){var l=Math.pow(1-e,3),h=3*e*Math.pow(1-e,2),c=3*Math.pow(e,2)*(1-e),u=Math.pow(e,3);return{x:l*t+h*r+c*o+u*n,y:l*i+h*a+c*d+u*s}},sigma.utils.getSelfLoopControlPoints=function(e,t,i){return{x1:e-7*i,y1:t,x2:e,y2:t+7*i}},sigma.utils.getDistance=function(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))},sigma.utils.getCircleIntersection=function(e,t,i,n,s,r){var a,o,d,l,h,c,u,g,f;return o=n-e,d=s-t,!((l=Math.sqrt(d*d+o*o))>i+r)&&(!(l<Math.abs(i-r))&&(f=t+d*(a=(i*i-r*r+l*l)/(2*l))/l,{xi:(g=e+o*a/l)+(c=(h=Math.sqrt(i*i-a*a))/l*-d),xi_prime:g-c,yi:f+(u=o*(h/l)),yi_prime:f-u}))},sigma.utils.isPointOnSegment=function(e,t,i,n,s,r,a){return Math.abs((t-n)*(s-i)-(e-i)*(r-n))/sigma.utils.getDistance(i,n,s,r)<a&&Math.min(i,s)<=e&&e<=Math.max(i,s)&&Math.min(n,r)<=t&&t<=Math.max(n,r)},sigma.utils.isPointOnQuadraticCurve=function(e,t,i,n,s,r,a,o,d){var l=sigma.utils.getDistance(i,n,s,r);if(Math.abs(e-i)>l||Math.abs(t-n)>l)return!1;for(var h,c=.5,u=sigma.utils.getDistance(e,t,i,n)<sigma.utils.getDistance(e,t,s,r)?-.01:.01,g=100,f=sigma.utils.getPointOnQuadraticCurve(c,i,n,s,r,a,o),m=sigma.utils.getDistance(e,t,f.x,f.y);g-- >0&&c>=0&&c<=1&&m>d&&(u>.001||u<-.001);)h=m,f=sigma.utils.getPointOnQuadraticCurve(c,i,n,s,r,a,o),(m=sigma.utils.getDistance(e,t,f.x,f.y))>h?c+=u=-u/2:c+u<0||c+u>1?(u/=2,m=h):c+=u;return m<d},sigma.utils.isPointOnBezierCurve=function(e,t,i,n,s,r,a,o,d,l,h){var c=sigma.utils.getDistance(i,n,a,o);if(Math.abs(e-i)>c||Math.abs(t-n)>c)return!1;for(var u,g=.5,f=sigma.utils.getDistance(e,t,i,n)<sigma.utils.getDistance(e,t,s,r)?-.01:.01,m=100,y=sigma.utils.getPointOnBezierCurve(g,i,n,s,r,a,o,d,l),p=sigma.utils.getDistance(e,t,y.x,y.y);m-- >0&&g>=0&&g<=1&&p>h&&(f>.001||f<-.001);)u=p,y=sigma.utils.getPointOnBezierCurve(g,i,n,s,r,a,o,d,l),(p=sigma.utils.getDistance(e,t,y.x,y.y))>u?g+=f=-f/2:g+f<0||g+f>1?(f/=2,p=u):g+=f;return p<h},sigma.utils.getX=function(t){return t.offsetX!==e&&t.offsetX||t.layerX!==e&&t.layerX||t.clientX!==e&&t.clientX},sigma.utils.getY=function(t){return t.offsetY!==e&&t.offsetY||t.layerY!==e&&t.layerY||t.clientY!==e&&t.clientY},sigma.utils.getPixelRatio=function(){var t=1;return window.screen.deviceXDPI!==e&&window.screen.logicalXDPI!==e&&window.screen.deviceXDPI>window.screen.logicalXDPI?t=window.screen.systemXDPI/window.screen.logicalXDPI:window.devicePixelRatio!==e&&(t=window.devicePixelRatio),t},sigma.utils.getWidth=function(t){var i=t.target.ownerSVGElement?t.target.ownerSVGElement.width:t.target.width;return"number"==typeof i&&i||i!==e&&i.baseVal!==e&&i.baseVal.value},sigma.utils.getCenter=function(e){var t=-1!==e.target.namespaceURI.indexOf("svg")?1:sigma.utils.getPixelRatio();return{x:sigma.utils.getWidth(e)/(2*t),y:sigma.utils.getHeight(e)/(2*t)}},sigma.utils.mouseCoords=function(e,t,i){return t=t||sigma.utils.getX(e),i=i||sigma.utils.getY(e),{x:t-sigma.utils.getCenter(e).x,y:i-sigma.utils.getCenter(e).y,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,metaKey:e.metaKey,altKey:e.altKey,shiftKey:e.shiftKey}},sigma.utils.getHeight=function(t){var i=t.target.ownerSVGElement?t.target.ownerSVGElement.height:t.target.height;return"number"==typeof i&&i||i!==e&&i.baseVal!==e&&i.baseVal.value},sigma.utils.getDelta=function(t){return t.wheelDelta!==e&&t.wheelDelta||t.detail!==e&&-t.detail},sigma.utils.getOffset=function(e){for(var t=0,i=0;e;)i+=parseInt(e.offsetTop),t+=parseInt(e.offsetLeft),e=e.offsetParent;return{top:i,left:t}},sigma.utils.doubleClick=function(e,t,i){var n,s=0;e._doubleClickHandler=e._doubleClickHandler||{},e._doubleClickHandler[t]=e._doubleClickHandler[t]||[],(n=e._doubleClickHandler[t]).push((function(e){if(2===++s)return s=0,i(e);1===s&&setTimeout((function(){s=0}),sigma.settings.doubleClickTimeout)})),e.addEventListener(t,n[n.length-1],!1)},sigma.utils.unbindDoubleClick=function(e,t){for(var i,n=(e._doubleClickHandler||{})[t]||[];i=n.pop();)e.removeEventListener(t,i);delete(e._doubleClickHandler||{})[t]},sigma.utils.easings=sigma.utils.easings||{},sigma.utils.easings.linearNone=function(e){return e},sigma.utils.easings.quadraticIn=function(e){return e*e},sigma.utils.easings.quadraticOut=function(e){return e*(2-e)},sigma.utils.easings.quadraticInOut=function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},sigma.utils.easings.cubicIn=function(e){return e*e*e},sigma.utils.easings.cubicOut=function(e){return--e*e*e+1},sigma.utils.easings.cubicInOut=function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},sigma.utils.loadShader=function(e,t,i,n){var s=e.createShader(i);return e.shaderSource(s,t),e.compileShader(s),e.getShaderParameter(s,e.COMPILE_STATUS)?s:(n&&n('Error compiling shader "'+s+'":'+e.getShaderInfoLog(s)),e.deleteShader(s),null)},sigma.utils.loadProgram=function(e,t,i,n,s){var r,a=e.createProgram();for(r=0;r<t.length;++r)e.attachShader(a,t[r]);if(i)for(r=0;r<i.length;++r)e.bindAttribLocation(a,locations?locations[r]:r,opt_attribs[r]);return e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)?a:(s&&s("Error in program linking: "+e.getProgramInfoLog(a)),e.deleteProgram(a),null)},sigma.utils.pkg("sigma.utils.matrices"),sigma.utils.matrices.translation=function(e,t){return[1,0,0,0,1,0,e,t,1]},sigma.utils.matrices.rotation=function(e,t){var i=Math.cos(e),n=Math.sin(e);return t?[i,-n,n,i]:[i,-n,0,n,i,0,0,0,1]},sigma.utils.matrices.scale=function(e,t){return t?[e,0,0,e]:[e,0,0,0,e,0,0,0,1]},sigma.utils.matrices.multiply=function(e,t,i){var n=i?2:3,s=e[0*n+0],r=e[0*n+1],a=e[0*n+2],o=e[1*n+0],d=e[1*n+1],l=e[1*n+2],h=e[2*n+0],c=e[2*n+1],u=e[2*n+2],g=t[0*n+0],f=t[0*n+1],m=t[0*n+2],y=t[1*n+0],p=t[1*n+1],x=t[1*n+2],v=t[2*n+0],b=t[2*n+1],w=t[2*n+2];return i?[s*g+r*y,s*f+r*p,o*g+d*y,o*f+d*p]:[s*g+r*y+a*v,s*f+r*p+a*b,s*m+r*x+a*w,o*g+d*y+l*v,o*f+d*p+l*b,o*m+d*x+l*w,h*g+c*y+u*v,h*f+c*p+u*b,h*m+c*x+u*w]}}).call(this)}).call(window)},119:function(e,t){(function(){!function(e){"use strict";var t,i=0,n=["ms","moz","webkit","o"];for(t=0;t<n.length&&!e.requestAnimationFrame;t++)e.requestAnimationFrame=e[n[t]+"RequestAnimationFrame"],e.cancelAnimationFrame=e[n[t]+"CancelAnimationFrame"]||e[n[t]+"CancelRequestAnimationFrame"];e.requestAnimationFrame||(e.requestAnimationFrame=function(t,n){var s=(new Date).getTime(),r=Math.max(0,16-(s-i)),a=e.setTimeout((function(){t(s+r)}),r);return i=s+r,a}),e.cancelAnimationFrame||(e.cancelAnimationFrame=function(e){clearTimeout(e)}),Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t,i,n=Array.prototype.slice.call(arguments,1),s=this;return i=function(){return s.apply(this instanceof t&&e?this:e,n.concat(Array.prototype.slice.call(arguments)))},(t=function(){}).prototype=this.prototype,i.prototype=new t,i})}(this)}).call(window)},120:function(e,t){(function(){(function(e){"use strict";if("undefined"==typeof sigma)throw"sigma is not declared";sigma.utils.pkg("sigma.settings");sigma.settings=sigma.utils.extend(sigma.settings||{},{clone:!0,immutable:!0,verbose:!1,classPrefix:"sigma",defaultNodeType:"def",defaultEdgeType:"def",defaultLabelColor:"#000",defaultEdgeColor:"#000",defaultNodeColor:"#000",defaultLabelSize:14,edgeColor:"source",minArrowSize:0,font:"arial",fontStyle:"",labelColor:"default",labelSize:"fixed",labelSizeRatio:1,labelThreshold:8,webglOversamplingRatio:2,borderSize:0,defaultNodeBorderColor:"#000",hoverFont:"",singleHover:!0,hoverFontStyle:"",labelHoverShadow:"default",labelHoverShadowColor:"#000",nodeHoverColor:"node",defaultNodeHoverColor:"#000",labelHoverBGColor:"default",defaultHoverLabelBGColor:"#fff",labelHoverColor:"default",defaultLabelHoverColor:"#000",edgeHoverColor:"edge",edgeHoverSizeRatio:1,defaultEdgeHoverColor:"#000",edgeHoverExtremities:!1,drawEdges:!0,drawNodes:!0,drawLabels:!0,drawEdgeLabels:!1,batchEdgesDrawing:!1,hideEdgesOnMove:!1,canvasEdgesBatchSize:500,webglEdgesBatchSize:1e3,scalingMode:"inside",sideMargin:0,minEdgeSize:.5,maxEdgeSize:1,minNodeSize:1,maxNodeSize:8,touchEnabled:!0,mouseEnabled:!0,mouseWheelEnabled:!0,doubleClickEnabled:!0,eventsEnabled:!0,zoomingRatio:1.7,doubleClickZoomingRatio:2.2,zoomMin:.0625,zoomMax:2,mouseZoomDuration:200,doubleClickZoomDuration:200,mouseInertiaDuration:200,mouseInertiaRatio:3,touchInertiaDuration:200,touchInertiaRatio:3,doubleClickTimeout:300,doubleTapTimeout:300,dragTimeout:200,autoResize:!0,autoRescale:!0,enableCamera:!0,enableHovering:!0,enableEdgeHovering:!1,edgeHoverPrecision:5,rescaleIgnoreSize:!1,skipErrors:!1,nodesPowRatio:.5,edgesPowRatio:.5,animationsTime:200})}).call(this)}).call(window)},121:function(e,t,i){(function(){(function(){"use strict";var i=function(){Object.defineProperty(this,"_handlers",{value:{}})};i.prototype.bind=function(e,t){var i,n,s,r;if(1===arguments.length&&"object"==typeof arguments[0])for(e in arguments[0])this.bind(e,arguments[0][e]);else{if(2!==arguments.length||"function"!=typeof arguments[1])throw"bind: Wrong arguments.";for(i=0,n=(r="string"==typeof e?e.split(" "):e).length;i!==n;i+=1)(s=r[i])&&(this._handlers[s]||(this._handlers[s]=[]),this._handlers[s].push({handler:t}))}return this},i.prototype.unbind=function(e,t){var i,n,s,r,a,o,d,l="string"==typeof e?e.split(" "):e;if(!arguments.length){for(a in this._handlers)delete this._handlers[a];return this}if(t)for(i=0,n=l.length;i!==n;i+=1){if(d=l[i],this._handlers[d]){for(o=[],s=0,r=this._handlers[d].length;s!==r;s+=1)this._handlers[d][s].handler!==t&&o.push(this._handlers[d][s]);this._handlers[d]=o}this._handlers[d]&&0===this._handlers[d].length&&delete this._handlers[d]}else for(i=0,n=l.length;i!==n;i+=1)delete this._handlers[l[i]];return this},i.prototype.dispatchEvent=function(e,t){var i,n,s,r,a,o,d,l="string"==typeof e?e.split(" "):e;for(t=void 0===t?{}:t,i=0,n=l.length;i!==n;i+=1)if(d=l[i],this._handlers[d]){for(o=this.getEvent(d,t),a=[],s=0,r=this._handlers[d].length;s!==r;s+=1)this._handlers[d][s].handler(o),this._handlers[d][s].one||a.push(this._handlers[d][s]);this._handlers[d]=a}return this},i.prototype.getEvent=function(e,t){return{type:e,data:t||{},target:this}},i.extend=function(e,t){var n;for(n in i.prototype)i.prototype.hasOwnProperty(n)&&(e[n]=i.prototype[n]);i.apply(e,t)},void 0!==this.sigma?(this.sigma.classes=this.sigma.classes||{},this.sigma.classes.dispatcher=i):(e.exports&&(t=e.exports=i),t.dispatcher=i)}).call(this)}).call(window)},122:function(e,t,i){(function(){(function(){"use strict";var i=function(){var e,t,n={},s=Array.prototype.slice.call(arguments,0),r=function(e,t){var i,a,o,d;if(1!==arguments.length||"string"!=typeof e){if("object"==typeof e&&"string"==typeof t)return void 0!==(e||{})[t]?e[t]:r(t);for(i="object"==typeof e&&void 0===t?e:{},"string"==typeof e&&(i[e]=t),a=0,o=(d=Object.keys(i)).length;a<o;a++)n[d[a]]=i[d[a]];return this}if(void 0!==n[e])return n[e];for(a=0,o=s.length;a<o;a++)if(void 0!==s[a][e])return s[a][e]};for(r.embedObjects=function(){var e=s.concat(n).concat(Array.prototype.splice.call(arguments,0));return i.apply({},e)},e=0,t=arguments.length;e<t;e++)r(arguments[e]);return r};void 0!==this.sigma?(this.sigma.classes=this.sigma.classes||{},this.sigma.classes.configurable=i):(e.exports&&(t=e.exports=i),t.configurable=i)}).call(this)}).call(window)},123:function(e,t,i){(function(){(function(i){"use strict";var n=Object.create(null),s=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),d={immutable:!0,clone:!0},l=function(e){return d[e]},h=function(e){var t,i,s;for(t in s={settings:e||l,nodesArray:[],edgesArray:[],nodesIndex:Object.create(null),edgesIndex:Object.create(null),inNeighborsIndex:Object.create(null),outNeighborsIndex:Object.create(null),allNeighborsIndex:Object.create(null),inNeighborsCount:Object.create(null),outNeighborsCount:Object.create(null),allNeighborsCount:Object.create(null)},r)r[t].call(s);for(t in n)i=c(t,s,n[t]),this[t]=i,s[t]=i};function c(e,t,i){return function(){var n,s;for(n in o[e])o[e][n].apply(t,arguments);for(n in s=i.apply(t,arguments),a[e])a[e][n].apply(t,arguments);return s}}function u(e){var t;for(t in e)"hasOwnProperty"in e&&!e.hasOwnProperty(t)||delete e[t];return e}h.addMethod=function(e,t){if("string"!=typeof e||"function"!=typeof t||2!==arguments.length)throw"addMethod: Wrong arguments.";if(n[e]||h[e])throw'The method "'+e+'" already exists.';return n[e]=t,a[e]=Object.create(null),o[e]=Object.create(null),this},h.hasMethod=function(e){return!(!n[e]&&!h[e])},h.attach=function(e,t,i,n){if("string"!=typeof e||"string"!=typeof t||"function"!=typeof i||arguments.length<3||arguments.length>4)throw"attach: Wrong arguments.";var s;if("constructor"===e)s=r;else if(n){if(!o[e])throw'The method "'+e+'" does not exist.';s=o[e]}else{if(!a[e])throw'The method "'+e+'" does not exist.';s=a[e]}if(s[t])throw'A function "'+t+'" is already attached to the method "'+e+'".';return s[t]=i,this},h.attachBefore=function(e,t,i){return this.attach(e,t,i,!0)},h.addIndex=function(e,t){if("string"!=typeof e||Object(t)!==t||2!==arguments.length)throw"addIndex: Wrong arguments.";if(s[e])throw'The index "'+e+'" already exists.';var i;for(i in s[e]=t,t){if("function"!=typeof t[i])throw"The bindings must be functions.";h.attach(i,e,t[i])}return this},h.addMethod("addNode",(function(e){if(Object(e)!==e||1!==arguments.length)throw"addNode: Wrong arguments.";if("string"!=typeof e.id&&"number"!=typeof e.id)throw"The node must have a string or number id.";if(this.nodesIndex[e.id])throw'The node "'+e.id+'" already exists.';var t,i=e.id,n=Object.create(null);if(this.settings("clone"))for(t in e)"id"!==t&&(n[t]=e[t]);else n=e;return this.settings("immutable")?Object.defineProperty(n,"id",{value:i,enumerable:!0}):n.id=i,this.inNeighborsIndex[i]=Object.create(null),this.outNeighborsIndex[i]=Object.create(null),this.allNeighborsIndex[i]=Object.create(null),this.inNeighborsCount[i]=0,this.outNeighborsCount[i]=0,this.allNeighborsCount[i]=0,this.nodesArray.push(n),this.nodesIndex[n.id]=n,this})),h.addMethod("addEdge",(function(e){if(Object(e)!==e||1!==arguments.length)throw"addEdge: Wrong arguments.";if("string"!=typeof e.id&&"number"!=typeof e.id)throw"The edge must have a string or number id.";if("string"!=typeof e.source&&"number"!=typeof e.source||!this.nodesIndex[e.source])throw"The edge source must have an existing node id.";if("string"!=typeof e.target&&"number"!=typeof e.target||!this.nodesIndex[e.target])throw"The edge target must have an existing node id.";if(this.edgesIndex[e.id])throw'The edge "'+e.id+'" already exists.';var t,i=Object.create(null);if(this.settings("clone"))for(t in e)"id"!==t&&"source"!==t&&"target"!==t&&(i[t]=e[t]);else i=e;return this.settings("immutable")?(Object.defineProperty(i,"id",{value:e.id,enumerable:!0}),Object.defineProperty(i,"source",{value:e.source,enumerable:!0}),Object.defineProperty(i,"target",{value:e.target,enumerable:!0})):(i.id=e.id,i.source=e.source,i.target=e.target),this.edgesArray.push(i),this.edgesIndex[i.id]=i,this.inNeighborsIndex[i.target][i.source]||(this.inNeighborsIndex[i.target][i.source]=Object.create(null)),this.inNeighborsIndex[i.target][i.source][i.id]=i,this.outNeighborsIndex[i.source][i.target]||(this.outNeighborsIndex[i.source][i.target]=Object.create(null)),this.outNeighborsIndex[i.source][i.target][i.id]=i,this.allNeighborsIndex[i.source][i.target]||(this.allNeighborsIndex[i.source][i.target]=Object.create(null)),this.allNeighborsIndex[i.source][i.target][i.id]=i,i.target!==i.source&&(this.allNeighborsIndex[i.target][i.source]||(this.allNeighborsIndex[i.target][i.source]=Object.create(null)),this.allNeighborsIndex[i.target][i.source][i.id]=i),this.inNeighborsCount[i.target]++,this.outNeighborsCount[i.source]++,this.allNeighborsCount[i.target]++,this.allNeighborsCount[i.source]++,this})),h.addMethod("dropNode",(function(e){if("string"!=typeof e&&"number"!=typeof e||1!==arguments.length)throw"dropNode: Wrong arguments.";if(!this.nodesIndex[e])throw'The node "'+e+'" does not exist.';var t,i,n;for(delete this.nodesIndex[e],t=0,n=this.nodesArray.length;t<n;t++)if(this.nodesArray[t].id===e){this.nodesArray.splice(t,1);break}for(t=this.edgesArray.length-1;t>=0;t--)this.edgesArray[t].source!==e&&this.edgesArray[t].target!==e||this.dropEdge(this.edgesArray[t].id);for(i in delete this.inNeighborsIndex[e],delete this.outNeighborsIndex[e],delete this.allNeighborsIndex[e],delete this.inNeighborsCount[e],delete this.outNeighborsCount[e],delete this.allNeighborsCount[e],this.nodesIndex)delete this.inNeighborsIndex[i][e],delete this.outNeighborsIndex[i][e],delete this.allNeighborsIndex[i][e];return this})),h.addMethod("dropEdge",(function(e){if("string"!=typeof e&&"number"!=typeof e||1!==arguments.length)throw"dropEdge: Wrong arguments.";if(!this.edgesIndex[e])throw'The edge "'+e+'" does not exist.';var t,i,n;for(n=this.edgesIndex[e],delete this.edgesIndex[e],t=0,i=this.edgesArray.length;t<i;t++)if(this.edgesArray[t].id===e){this.edgesArray.splice(t,1);break}return delete this.inNeighborsIndex[n.target][n.source][n.id],Object.keys(this.inNeighborsIndex[n.target][n.source]).length||delete this.inNeighborsIndex[n.target][n.source],delete this.outNeighborsIndex[n.source][n.target][n.id],Object.keys(this.outNeighborsIndex[n.source][n.target]).length||delete this.outNeighborsIndex[n.source][n.target],delete this.allNeighborsIndex[n.source][n.target][n.id],Object.keys(this.allNeighborsIndex[n.source][n.target]).length||delete this.allNeighborsIndex[n.source][n.target],n.target!==n.source&&(delete this.allNeighborsIndex[n.target][n.source][n.id],Object.keys(this.allNeighborsIndex[n.target][n.source]).length||delete this.allNeighborsIndex[n.target][n.source]),this.inNeighborsCount[n.target]--,this.outNeighborsCount[n.source]--,this.allNeighborsCount[n.source]--,this.allNeighborsCount[n.target]--,this})),h.addMethod("kill",(function(){this.nodesArray.length=0,this.edgesArray.length=0,delete this.nodesArray,delete this.edgesArray,delete this.nodesIndex,delete this.edgesIndex,delete this.inNeighborsIndex,delete this.outNeighborsIndex,delete this.allNeighborsIndex,delete this.inNeighborsCount,delete this.outNeighborsCount,delete this.allNeighborsCount})),h.addMethod("clear",(function(){return this.nodesArray.length=0,this.edgesArray.length=0,u(this.nodesIndex),u(this.edgesIndex),u(this.nodesIndex),u(this.inNeighborsIndex),u(this.outNeighborsIndex),u(this.allNeighborsIndex),u(this.inNeighborsCount),u(this.outNeighborsCount),u(this.allNeighborsCount),this})),h.addMethod("read",(function(e){var t,i,n;for(t=0,n=(i=e.nodes||[]).length;t<n;t++)this.addNode(i[t]);for(t=0,n=(i=e.edges||[]).length;t<n;t++)this.addEdge(i[t]);return this})),h.addMethod("nodes",(function(e){if(!arguments.length)return this.nodesArray.slice(0);if(1===arguments.length&&("string"==typeof e||"number"==typeof e))return this.nodesIndex[e];if(1===arguments.length&&"[object Array]"===Object.prototype.toString.call(e)){var t,i,n=[];for(t=0,i=e.length;t<i;t++){if("string"!=typeof e[t]&&"number"!=typeof e[t])throw"nodes: Wrong arguments.";n.push(this.nodesIndex[e[t]])}return n}throw"nodes: Wrong arguments."})),h.addMethod("degree",(function(e,t){if(t={in:this.inNeighborsCount,out:this.outNeighborsCount}[t||""]||this.allNeighborsCount,"string"==typeof e||"number"==typeof e)return t[e];if("[object Array]"===Object.prototype.toString.call(e)){var i,n,s=[];for(i=0,n=e.length;i<n;i++){if("string"!=typeof e[i]&&"number"!=typeof e[i])throw"degree: Wrong arguments.";s.push(t[e[i]])}return s}throw"degree: Wrong arguments."})),h.addMethod("edges",(function(e){if(!arguments.length)return this.edgesArray.slice(0);if(1===arguments.length&&("string"==typeof e||"number"==typeof e))return this.edgesIndex[e];if(1===arguments.length&&"[object Array]"===Object.prototype.toString.call(e)){var t,i,n=[];for(t=0,i=e.length;t<i;t++){if("string"!=typeof e[t]&&"number"!=typeof e[t])throw"edges: Wrong arguments.";n.push(this.edgesIndex[e[t]])}return n}throw"edges: Wrong arguments."})),"undefined"!=typeof sigma?(sigma.classes=sigma.classes||Object.create(null),sigma.classes.graph=h):(e.exports&&(t=e.exports=h),t.graph=h)}).call(this)}).call(window)},124:function(e,t){(function(){(function(e){"use strict";if("undefined"==typeof sigma)throw"sigma is not declared";sigma.utils.pkg("sigma.classes"),sigma.classes.camera=function(e,t,i,n){sigma.classes.dispatcher.extend(this),Object.defineProperty(this,"graph",{value:t}),Object.defineProperty(this,"id",{value:e}),Object.defineProperty(this,"readPrefix",{value:"read_cam"+e+":"}),Object.defineProperty(this,"prefix",{value:"cam"+e+":"}),this.x=0,this.y=0,this.ratio=1,this.angle=0,this.isAnimated=!1,this.settings="object"==typeof n&&n?i.embedObject(n):i},sigma.classes.camera.prototype.goTo=function(t){if(!this.settings("enableCamera"))return this;var i,n,s=t||{},r=["x","y","ratio","angle"];for(i=0,n=r.length;i<n;i++)if(s[r[i]]!==e){if("number"!=typeof s[r[i]]||isNaN(s[r[i]]))throw'Value for "'+r[i]+'" is not a number.';this[r[i]]=s[r[i]]}return this.dispatchEvent("coordinatesUpdated"),this},sigma.classes.camera.prototype.applyView=function(t,i,n){n=n||{},i=i!==e?i:this.prefix,t=t!==e?t:this.readPrefix;var s,r,a,o=n.nodes||this.graph.nodes(),d=n.edges||this.graph.edges(),l=Math.cos(this.angle)/this.ratio,h=Math.sin(this.angle)/this.ratio,c=Math.pow(this.ratio,this.settings("nodesPowRatio")),u=Math.pow(this.ratio,this.settings("edgesPowRatio")),g=(n.width||0)/2-this.x*l-this.y*h,f=(n.height||0)/2-this.y*l+this.x*h;for(s=0,r=o.length;s<r;s++)(a=o[s])[i+"x"]=(a[t+"x"]||0)*l+(a[t+"y"]||0)*h+g,a[i+"y"]=(a[t+"y"]||0)*l-(a[t+"x"]||0)*h+f,a[i+"size"]=(a[t+"size"]||0)/c;for(s=0,r=d.length;s<r;s++)d[s][i+"size"]=(d[s][t+"size"]||0)/u;return this},sigma.classes.camera.prototype.graphPosition=function(e,t,i){var n=0,s=0,r=Math.cos(this.angle),a=Math.sin(this.angle);return i||(n=-(this.x*r+this.y*a)/this.ratio,s=-(this.y*r-this.x*a)/this.ratio),{x:(e*r+t*a)/this.ratio+n,y:(t*r-e*a)/this.ratio+s}},sigma.classes.camera.prototype.cameraPosition=function(e,t,i){var n=0,s=0,r=Math.cos(this.angle),a=Math.sin(this.angle);return i||(n=-(this.x*r+this.y*a)/this.ratio,s=-(this.y*r-this.x*a)/this.ratio),{x:((e-n)*r-(t-s)*a)*this.ratio,y:((t-s)*r+(e-n)*a)*this.ratio}},sigma.classes.camera.prototype.getMatrix=function(){var e=sigma.utils.matrices.scale(1/this.ratio),t=sigma.utils.matrices.rotation(this.angle),i=sigma.utils.matrices.translation(-this.x,-this.y);return sigma.utils.matrices.multiply(i,sigma.utils.matrices.multiply(t,e))},sigma.classes.camera.prototype.getRectangle=function(e,t){var i=this.cameraPosition(e,0,!0),n=this.cameraPosition(0,t,!0),s=this.cameraPosition(e/2,t/2,!0),r=this.cameraPosition(e/4,0,!0).x,a=this.cameraPosition(0,t/4,!0).y;return{x1:this.x-s.x-r,y1:this.y-s.y-a,x2:this.x-s.x+r+i.x,y2:this.y-s.y-a+i.y,height:Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y+2*a,2))}}}).call(this)}).call(window)},125:function(e,t,i){(function(){(function(i){"use strict";var n={pointToSquare:function(e){return{x1:e.x-e.size,y1:e.y-e.size,x2:e.x+e.size,y2:e.y-e.size,height:2*e.size}},isAxisAligned:function(e){return e.x1===e.x2||e.y1===e.y2},axisAlignedTopPoints:function(e){return e.y1===e.y2&&e.x1<e.x2?e:e.x1===e.x2&&e.y2>e.y1?{x1:e.x1-e.height,y1:e.y1,x2:e.x1,y2:e.y1,height:e.height}:e.x1===e.x2&&e.y2<e.y1?{x1:e.x1,y1:e.y2,x2:e.x2+e.height,y2:e.y2,height:e.height}:{x1:e.x2,y1:e.y1-e.height,x2:e.x1,y2:e.y1-e.height,height:e.height}},lowerLeftCoor:function(e){var t=Math.sqrt(Math.pow(e.x2-e.x1,2)+Math.pow(e.y2-e.y1,2));return{x:e.x1-(e.y2-e.y1)*e.height/t,y:e.y1+(e.x2-e.x1)*e.height/t}},lowerRightCoor:function(e,t){return{x:t.x-e.x1+e.x2,y:t.y-e.y1+e.y2}},rectangleCorners:function(e){var t=this.lowerLeftCoor(e),i=this.lowerRightCoor(e,t);return[{x:e.x1,y:e.y1},{x:e.x2,y:e.y2},{x:t.x,y:t.y},{x:i.x,y:i.y}]},splitSquare:function(e){return[[{x:e.x,y:e.y},{x:e.x+e.width/2,y:e.y},{x:e.x,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height/2}],[{x:e.x+e.width/2,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x+e.width,y:e.y+e.height/2}],[{x:e.x,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x,y:e.y+e.height},{x:e.x+e.width/2,y:e.y+e.height}],[{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x+e.width,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}]]},axis:function(e,t){return[{x:e[1].x-e[0].x,y:e[1].y-e[0].y},{x:e[1].x-e[3].x,y:e[1].y-e[3].y},{x:t[0].x-t[2].x,y:t[0].y-t[2].y},{x:t[0].x-t[1].x,y:t[0].y-t[1].y}]},projection:function(e,t){var i=(e.x*t.x+e.y*t.y)/(Math.pow(t.x,2)+Math.pow(t.y,2));return{x:i*t.x,y:i*t.y}},axisCollision:function(e,t,i){for(var n=[],s=[],r=0;r<4;r++){var a=this.projection(t[r],e),o=this.projection(i[r],e);n.push(a.x*e.x+a.y*e.y),s.push(o.x*e.x+o.y*e.y)}var d=Math.max.apply(Math,n),l=Math.max.apply(Math,s),h=Math.min.apply(Math,n);return Math.min.apply(Math,s)<=d&&l>=h},collision:function(e,t){for(var i=this.axis(e,t),n=!0,s=0;s<4;s++)n=n&&this.axisCollision(i[s],e,t);return n}};function s(e,t){for(var i=[],n=0;n<4;n++)e.x2>=t[n][0].x&&e.x1<=t[n][1].x&&e.y1+e.height>=t[n][0].y&&e.y1<=t[n][2].y&&i.push(n);return i}function r(e,t){for(var i=[],s=0;s<4;s++)n.collision(e,t[s])&&i.push(s);return i}function a(e,t){var i,n,s=t.level+1,r=Math.round(t.bounds.width/2),a=Math.round(t.bounds.height/2),o=Math.round(t.bounds.x),l=Math.round(t.bounds.y);switch(e){case 0:i=o,n=l;break;case 1:i=o+r,n=l;break;case 2:i=o,n=l+a;break;case 3:i=o+r,n=l+a}return d({x:i,y:n,width:r,height:a},s,t.maxElements,t.maxLevel)}function o(e,t,n){if(n.level<n.maxLevel)for(var r=s(t,n.corners),d=0,l=r.length;d<l;d++)n.nodes[r[d]]===i&&(n.nodes[r[d]]=a(r[d],n)),o(e,t,n.nodes[r[d]]);else n.elements.push(e)}function d(e,t,i,s){return{level:t||0,bounds:e,corners:n.splitSquare(e),maxElements:i||20,maxLevel:s||4,elements:[],nodes:[]}}var l=function(){this._geom=n,this._tree=null,this._cache={query:!1,result:!1}};l.prototype.index=function(e,t){if(!t.bounds)throw"sigma.classes.quad.index: bounds information not given.";var i=t.prefix||"";this._tree=d(t.bounds,0,t.maxElements,t.maxLevel);for(var s=0,r=e.length;s<r;s++)o(e[s],n.pointToSquare({x:e[s][i+"x"],y:e[s][i+"y"],size:e[s][i+"size"]}),this._tree);return this._cache={query:!1,result:!1},this._tree},l.prototype.point=function(e,t){return this._tree&&function e(t,n){if(n.level<n.maxLevel){var s=function(e,t){var i=t.x+t.width/2,n=t.y+t.height/2,s=e.y<n,r=e.x<i;return s?r?0:1:r?2:3}(t,n.bounds);return n.nodes[s]!==i?e(t,n.nodes[s]):[]}return n.elements}({x:e,y:t},this._tree)||[]},l.prototype.area=function(e){var t,a,o=JSON.stringify(e);if(this._cache.query===o)return this._cache.result;n.isAxisAligned(e)?(t=s,a=n.axisAlignedTopPoints(e)):(t=r,a=n.rectangleCorners(e));var d=this._tree?function e(t,n,s,r){if(r=r||{},n.level<n.maxLevel)for(var a=s(t,n.corners),o=0,d=a.length;o<d;o++)n.nodes[a[o]]!==i&&e(t,n.nodes[a[o]],s,r);else for(var l=0,h=n.elements.length;l<h;l++)r[n.elements[l].id]===i&&(r[n.elements[l].id]=n.elements[l]);return r}(a,this._tree,t):[],l=[];for(var h in d)l.push(d[h]);return this._cache.query=o,this._cache.result=l,l},void 0!==this.sigma?(this.sigma.classes=this.sigma.classes||{},this.sigma.classes.quad=l):(e.exports&&(t=e.exports=l),t.quad=l)}).call(this)}).call(window)},126:function(e,t,i){(function(){(function(i){"use strict";var n={pointToSquare:function(e){return{x1:e.x-e.size,y1:e.y-e.size,x2:e.x+e.size,y2:e.y-e.size,height:2*e.size}},lineToSquare:function(e){return e.y1<e.y2?e.x1<e.x2?{x1:e.x1-e.size,y1:e.y1-e.size,x2:e.x2+e.size,y2:e.y1-e.size,height:e.y2-e.y1+2*e.size}:{x1:e.x2-e.size,y1:e.y1-e.size,x2:e.x1+e.size,y2:e.y1-e.size,height:e.y2-e.y1+2*e.size}:e.x1<e.x2?{x1:e.x1-e.size,y1:e.y2-e.size,x2:e.x2+e.size,y2:e.y2-e.size,height:e.y1-e.y2+2*e.size}:{x1:e.x2-e.size,y1:e.y2-e.size,x2:e.x1+e.size,y2:e.y2-e.size,height:e.y1-e.y2+2*e.size}},quadraticCurveToSquare:function(e,t){var i=sigma.utils.getPointOnQuadraticCurve(.5,e.x1,e.y1,e.x2,e.y2,t.x,t.y),n=Math.min(e.x1,e.x2,i.x),s=Math.max(e.x1,e.x2,i.x),r=Math.min(e.y1,e.y2,i.y),a=Math.max(e.y1,e.y2,i.y);return{x1:n-e.size,y1:r-e.size,x2:s+e.size,y2:r-e.size,height:a-r+2*e.size}},selfLoopToSquare:function(e){var t=sigma.utils.getSelfLoopControlPoints(e.x,e.y,e.size),i=Math.min(e.x,t.x1,t.x2),n=Math.max(e.x,t.x1,t.x2),s=Math.min(e.y,t.y1,t.y2),r=Math.max(e.y,t.y1,t.y2);return{x1:i-e.size,y1:s-e.size,x2:n+e.size,y2:s-e.size,height:r-s+2*e.size}},isAxisAligned:function(e){return e.x1===e.x2||e.y1===e.y2},axisAlignedTopPoints:function(e){return e.y1===e.y2&&e.x1<e.x2?e:e.x1===e.x2&&e.y2>e.y1?{x1:e.x1-e.height,y1:e.y1,x2:e.x1,y2:e.y1,height:e.height}:e.x1===e.x2&&e.y2<e.y1?{x1:e.x1,y1:e.y2,x2:e.x2+e.height,y2:e.y2,height:e.height}:{x1:e.x2,y1:e.y1-e.height,x2:e.x1,y2:e.y1-e.height,height:e.height}},lowerLeftCoor:function(e){var t=Math.sqrt(Math.pow(e.x2-e.x1,2)+Math.pow(e.y2-e.y1,2));return{x:e.x1-(e.y2-e.y1)*e.height/t,y:e.y1+(e.x2-e.x1)*e.height/t}},lowerRightCoor:function(e,t){return{x:t.x-e.x1+e.x2,y:t.y-e.y1+e.y2}},rectangleCorners:function(e){var t=this.lowerLeftCoor(e),i=this.lowerRightCoor(e,t);return[{x:e.x1,y:e.y1},{x:e.x2,y:e.y2},{x:t.x,y:t.y},{x:i.x,y:i.y}]},splitSquare:function(e){return[[{x:e.x,y:e.y},{x:e.x+e.width/2,y:e.y},{x:e.x,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height/2}],[{x:e.x+e.width/2,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x+e.width,y:e.y+e.height/2}],[{x:e.x,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x,y:e.y+e.height},{x:e.x+e.width/2,y:e.y+e.height}],[{x:e.x+e.width/2,y:e.y+e.height/2},{x:e.x+e.width,y:e.y+e.height/2},{x:e.x+e.width/2,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}]]},axis:function(e,t){return[{x:e[1].x-e[0].x,y:e[1].y-e[0].y},{x:e[1].x-e[3].x,y:e[1].y-e[3].y},{x:t[0].x-t[2].x,y:t[0].y-t[2].y},{x:t[0].x-t[1].x,y:t[0].y-t[1].y}]},projection:function(e,t){var i=(e.x*t.x+e.y*t.y)/(Math.pow(t.x,2)+Math.pow(t.y,2));return{x:i*t.x,y:i*t.y}},axisCollision:function(e,t,i){for(var n=[],s=[],r=0;r<4;r++){var a=this.projection(t[r],e),o=this.projection(i[r],e);n.push(a.x*e.x+a.y*e.y),s.push(o.x*e.x+o.y*e.y)}var d=Math.max.apply(Math,n),l=Math.max.apply(Math,s),h=Math.min.apply(Math,n);return Math.min.apply(Math,s)<=d&&l>=h},collision:function(e,t){for(var i=this.axis(e,t),n=!0,s=0;s<4;s++)n=n&&this.axisCollision(i[s],e,t);return n}};function s(e,t){for(var i=[],n=0;n<4;n++)e.x2>=t[n][0].x&&e.x1<=t[n][1].x&&e.y1+e.height>=t[n][0].y&&e.y1<=t[n][2].y&&i.push(n);return i}function r(e,t){for(var i=[],s=0;s<4;s++)n.collision(e,t[s])&&i.push(s);return i}function a(e,t){var i,n,s=t.level+1,r=Math.round(t.bounds.width/2),a=Math.round(t.bounds.height/2),o=Math.round(t.bounds.x),l=Math.round(t.bounds.y);switch(e){case 0:i=o,n=l;break;case 1:i=o+r,n=l;break;case 2:i=o,n=l+a;break;case 3:i=o+r,n=l+a}return d({x:i,y:n,width:r,height:a},s,t.maxElements,t.maxLevel)}function o(e,t,n){if(n.level<n.maxLevel)for(var r=s(t,n.corners),d=0,l=r.length;d<l;d++)n.nodes[r[d]]===i&&(n.nodes[r[d]]=a(r[d],n)),o(e,t,n.nodes[r[d]]);else n.elements.push(e)}function d(e,t,i,s){return{level:t||0,bounds:e,corners:n.splitSquare(e),maxElements:i||40,maxLevel:s||8,elements:[],nodes:[]}}var l=function(){this._geom=n,this._tree=null,this._cache={query:!1,result:!1},this._enabled=!0};l.prototype.index=function(e,t){if(!this._enabled)return this._tree;if(!t.bounds)throw"sigma.classes.edgequad.index: bounds information not given.";var i,s,r,a,l,h=t.prefix||"";this._tree=d(t.bounds,0,t.maxElements,t.maxLevel);for(var c=e.edges(),u=0,g=c.length;u<g;u++)s=e.nodes(c[u].source),r=e.nodes(c[u].target),l={x1:s[h+"x"],y1:s[h+"y"],x2:r[h+"x"],y2:r[h+"y"],size:c[u][h+"size"]||0},"curve"===c[u].type||"curvedArrow"===c[u].type?s.id===r.id?(a={x:s[h+"x"],y:s[h+"y"],size:s[h+"size"]||0},o(c[u],n.selfLoopToSquare(a),this._tree)):(i=sigma.utils.getQuadraticControlPoint(l.x1,l.y1,l.x2,l.y2),o(c[u],n.quadraticCurveToSquare(l,i),this._tree)):o(c[u],n.lineToSquare(l),this._tree);return this._cache={query:!1,result:!1},this._tree},l.prototype.point=function(e,t){return this._enabled&&this._tree&&function e(t,n){if(n.level<n.maxLevel){var s=function(e,t){var i=t.x+t.width/2,n=t.y+t.height/2,s=e.y<n,r=e.x<i;return s?r?0:1:r?2:3}(t,n.bounds);return n.nodes[s]!==i?e(t,n.nodes[s]):[]}return n.elements}({x:e,y:t},this._tree)||[]},l.prototype.area=function(e){if(!this._enabled)return[];var t,a,o=JSON.stringify(e);if(this._cache.query===o)return this._cache.result;n.isAxisAligned(e)?(t=s,a=n.axisAlignedTopPoints(e)):(t=r,a=n.rectangleCorners(e));var d=this._tree?function e(t,n,s,r){if(r=r||{},n.level<n.maxLevel)for(var a=s(t,n.corners),o=0,d=a.length;o<d;o++)n.nodes[a[o]]!==i&&e(t,n.nodes[a[o]],s,r);else for(var l=0,h=n.elements.length;l<h;l++)r[n.elements[l].id]===i&&(r[n.elements[l].id]=n.elements[l]);return r}(a,this._tree,t):[],l=[];for(var h in d)l.push(d[h]);return this._cache.query=o,this._cache.result=l,l},void 0!==this.sigma?(this.sigma.classes=this.sigma.classes||{},this.sigma.classes.edgequad=l):(e.exports&&(t=e.exports=l),t.edgequad=l)}).call(this)}).call(window)},127:function(e,t){(function(){(function(e){"use strict";if("undefined"==typeof sigma)throw"sigma is not declared";sigma.utils.pkg("sigma.captors"),sigma.captors.mouse=function(e,t,i){var n,s,r,a,o,d,l,h,c,u,g,f=this,m=e,y=t,p=i;function x(e){var t,i,u;if(p("mouseEnabled")&&(f.dispatchEvent("mousemove",sigma.utils.mouseCoords(e)),l))return h=!0,c=!0,g&&clearTimeout(g),g=setTimeout((function(){h=!1}),p("dragTimeout")),sigma.misc.animation.killAll(y),y.isMoving=!0,u=y.cameraPosition(sigma.utils.getX(e)-o,sigma.utils.getY(e)-d,!0),t=n-u.x,i=s-u.y,t===y.x&&i===y.y||(r=y.x,a=y.y,y.goTo({x:t,y:i})),e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation(),!1}function v(e){if(p("mouseEnabled")&&l){l=!1,g&&clearTimeout(g),y.isMoving=!1;var t=sigma.utils.getX(e),i=sigma.utils.getY(e);h?(sigma.misc.animation.killAll(y),sigma.misc.animation.camera(y,{x:y.x+p("mouseInertiaRatio")*(y.x-r),y:y.y+p("mouseInertiaRatio")*(y.y-a)},{easing:"quadraticOut",duration:p("mouseInertiaDuration")})):o===t&&d===i||y.goTo({x:y.x,y:y.y}),f.dispatchEvent("mouseup",sigma.utils.mouseCoords(e)),h=!1}}function b(e){if(p("mouseEnabled"))switch(n=y.x,s=y.y,r=y.x,a=y.y,o=sigma.utils.getX(e),d=sigma.utils.getY(e),c=!1,u=(new Date).getTime(),e.which){case 2:break;case 3:f.dispatchEvent("rightclick",sigma.utils.mouseCoords(e,o,d));break;default:l=!0,f.dispatchEvent("mousedown",sigma.utils.mouseCoords(e,o,d))}}function w(e){p("mouseEnabled")&&f.dispatchEvent("mouseout")}function E(e){if(p("mouseEnabled")){var t=sigma.utils.mouseCoords(e);t.isDragging=(new Date).getTime()-u>100&&c,f.dispatchEvent("click",t)}return e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation(),!1}function C(e){var t,i,n,s=sigma.utils.getDelta(e);if(p("mouseEnabled")&&p("mouseWheelEnabled")&&0!==s)return i=s>0?1/p("zoomingRatio"):p("zoomingRatio"),t=y.cameraPosition(sigma.utils.getX(e)-sigma.utils.getCenter(e).x,sigma.utils.getY(e)-sigma.utils.getCenter(e).y,!0),n={duration:p("mouseZoomDuration")},sigma.utils.zoomTo(