386.7b0a24e6.js 267 KB

1234567891011121314
  1. (self["webpackChunkscd_tools_ui"]=self["webpackChunkscd_tools_ui"]||[]).push([[386],{294:function(t,e){(function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(t){return 0==t?0:t>0?1:-1});var t={subtract:function(t,e){return{x:t.x-e.x,y:t.y-e.y}},dotProduct:function(t,e){return t.x*e.x+t.y*e.y},square:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},scale:function(t,e){return{x:t.x*e,y:t.y*e}}},n=64,i=Math.pow(2,-n-1),o=function(e,n){for(var i=[],o=r(e,n),s=n.length-1,l=2*s-1,u=a(o,l,i,0),c=t.subtract(e,n[0]),d=t.square(c),p=0,f=0;f<u;f++){c=t.subtract(e,h(n,s,i[f],null,null));var g=t.square(c);g<d&&(d=g,p=i[f])}return c=t.subtract(e,n[s]),g=t.square(c),g<d&&(d=g,p=1),{location:p,distance:d}},s=function(t,e){var n=o(t,e);return{point:h(e,e.length-1,n.location,null,null),location:n.location}},r=function(e,n){for(var i=n.length-1,o=2*i-1,s=[],r=[],a=[],l=[],u=[[1,.6,.3,.1],[.4,.6,.6,.4],[.1,.3,.6,1]],c=0;c<=i;c++)s[c]=t.subtract(n[c],e);for(c=0;c<=i-1;c++)r[c]=t.subtract(n[c+1],n[c]),r[c]=t.scale(r[c],3);for(var h=0;h<=i-1;h++)for(var d=0;d<=i;d++)a[h]||(a[h]=[]),a[h][d]=t.dotProduct(r[h],s[d]);for(c=0;c<=o;c++)l[c]||(l[c]=[]),l[c].y=0,l[c].x=parseFloat(c)/o;for(var p=i,f=i-1,g=0;g<=p+f;g++){var m=Math.max(0,g-f),v=Math.min(g,p);for(c=m;c<=v;c++){var b=g-c;l[c+b].y+=a[b][c]*u[b][c]}}return l},a=function(t,e,i,o){var s,r,d=[],p=[],f=[],g=[];switch(l(t,e)){case 0:return 0;case 1:if(o>=n)return i[0]=(t[0].x+t[e].x)/2,1;if(u(t,e))return i[0]=c(t,e),1;break}h(t,e,.5,d,p),s=a(d,e,f,o+1),r=a(p,e,g,o+1);for(var m=0;m<s;m++)i[m]=f[m];for(m=0;m<r;m++)i[m+s]=g[m];return s+r},l=function(t,e){var n,i,o=0;n=i=Math.sgn(t[0].y);for(var s=1;s<=e;s++)n=Math.sgn(t[s].y),n!=i&&o++,i=n;return o},u=function(t,e){var n,o,s,r,a,l,u,c,h,d,p,f,g,m,v,b,y,P;l=t[0].y-t[e].y,u=t[e].x-t[0].x,c=t[0].x*t[e].y-t[e].x*t[0].y,y=P=0;for(var _=1;_<e;_++){var x=l*t[_].x+u*t[_].y+c;x>y?y=x:x<P&&(P=x)}return p=0,f=1,g=0,m=l,v=u,b=c-y,h=p*v-m*f,d=1/h,o=(f*b-v*g)*d,m=l,v=u,b=c-P,h=p*v-m*f,d=1/h,s=(f*b-v*g)*d,r=Math.min(o,s),a=Math.max(o,s),n=a-r,n<i?1:0},c=function(t,e){var n=1,i=0,o=t[e].x-t[0].x,s=t[e].y-t[0].y,r=t[0].x-0,a=t[0].y-0,l=o*i-s*n,u=1/l,c=(o*a-s*r)*u;return 0+n*c},h=function(t,e,n,i,o){for(var s=[[]],r=0;r<=e;r++)s[0][r]=t[r];for(var a=1;a<=e;a++)for(r=0;r<=e-a;r++)s[a]||(s[a]=[]),s[a][r]||(s[a][r]={}),s[a][r].x=(1-n)*s[a-1][r].x+n*s[a-1][r+1].x,s[a][r].y=(1-n)*s[a-1][r].y+n*s[a-1][r+1].y;if(null!=i)for(r=0;r<=e;r++)i[r]=s[r][0];if(null!=o)for(r=0;r<=e;r++)o[r]=s[e-r][r];return s[e][0]},d={},p=function(t){var e=d[t];if(!e){e=[];var n=function(){return function(e){return Math.pow(e,t)}},i=function(){return function(e){return Math.pow(1-e,t)}},o=function(t){return function(e){return t}},s=function(){return function(t){return t}},r=function(){return function(t){return 1-t}},a=function(t){return function(e){for(var n=1,i=0;i<t.length;i++)n*=t[i](e);return n}};e.push(new n);for(var l=1;l<t;l++){for(var u=[new o(t)],c=0;c<t-l;c++)u.push(new s);for(c=0;c<l;c++)u.push(new r);e.push(new a(u))}e.push(new i),d[t]=e}return e},f=function(t,e){for(var n=p(t.length-1),i=0,o=0,s=0;s<t.length;s++)i+=t[s].x*n[s](e),o+=t[s].y*n[s](e);return{x:i,y:o}},g=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},m=function(t){return t[0].x===t[1].x&&t[0].y===t[1].y},v=function(t,e,n){if(m(t))return{point:t[0],location:e};var i=f(t,e),o=0,s=e,r=n>0?1:-1,a=null;while(o<Math.abs(n))s+=.005*r,a=f(t,s),o+=g(a,i),i=a;return{point:a,location:s}},b=function(t){var e=(new Date).getTime();if(m(t))return 0;var n=f(t,0),i=0,o=0,s=1,r=null;while(o<1)o+=.005*s,r=f(t,o),i+=g(r,n),n=r;return console.log("length",(new Date).getTime()-e),i},y=function(t,e,n){return v(t,e,n).point},P=function(t,e,n){return v(t,e,n).location},_=function(t,e){var n=f(t,e),i=f(t.slice(0,t.length-1),e),o=i.y-n.y,s=i.x-n.x;return 0===o?1/0:Math.atan(o/s)},x=function(t,e,n){var i=v(t,e,n);return i.location>1&&(i.location=1),i.location<0&&(i.location=0),_(t,i.location)},C=function(t,e,n,i){i=null==i?0:i;var o=v(t,e,i),s=_(t,o.location),r=Math.atan(-1/s),a=n/2*Math.sin(r),l=n/2*Math.cos(r);return[{x:o.point.x+l,y:o.point.y+a},{x:o.point.x-l,y:o.point.y-a}]},E=function(t,e,n,i,o){var s=i-e,r=t-n,a=t*(e-i)+e*(n-t),l=D(o),u=[s*l[0][0]+r*l[1][0],s*l[0][1]+r*l[1][1],s*l[0][2]+r*l[1][2],s*l[0][3]+r*l[1][3]+a],c=A.apply(null,u),h=[];if(null!=c)for(var d=0;d<3;d++){var p,f=c[d],g=Math.pow(f,2),m=Math.pow(f,3),v=[l[0][0]*m+l[0][1]*g+l[0][2]*f+l[0][3],l[1][0]*m+l[1][1]*g+l[1][2]*f+l[1][3]];p=n-t!==0?(v[0]-t)/(n-t):(v[1]-e)/(i-e),f>=0&&f<=1&&p>=0&&p<=1&&h.push(v)}return h},S=function(t,e,n,i,o){var s=[];return s.push.apply(s,E(t,e,t+n,e,o)),s.push.apply(s,E(t+n,e,t+n,e+i,o)),s.push.apply(s,E(t+n,e+i,t,e+i,o)),s.push.apply(s,E(t,e+i,t,e,o)),s},j=function(t,e){var n=[];return n.push.apply(n,E(t.x,t.y,t.x+t.w,t.y,e)),n.push.apply(n,E(t.x+t.w,t.y,t.x+t.w,t.y+t.h,e)),n.push.apply(n,E(t.x+t.w,t.y+t.h,t.x,t.y+t.h,e)),n.push.apply(n,E(t.x,t.y+t.h,t.x,t.y,e)),n};function w(t,e){return[-t[0][e]+3*t[1][e]+-3*t[2][e]+t[3][e],3*t[0][e]-6*t[1][e]+3*t[2][e],-3*t[0][e]+3*t[1][e],t[0][e]]}function D(t){return[w(t,"x"),w(t,"y")]}function I(t){return t<0?-1:t>0?1:0}function A(t,e,n,i){var o,s,r=e/t,a=n/t,l=i/t,u=(3*a-Math.pow(r,2))/9,c=(9*r*a-27*l-2*Math.pow(r,3))/54,h=Math.pow(u,3)+Math.pow(c,2),d=[];if(h>=0)o=I(c+Math.sqrt(h))*Math.pow(Math.abs(c+Math.sqrt(h)),1/3),s=I(c-Math.sqrt(h))*Math.pow(Math.abs(c-Math.sqrt(h)),1/3),d[0]=-r/3+(o+s),d[1]=-r/3-(o+s)/2,d[2]=-r/3-(o+s)/2,0!==Math.abs(Math.sqrt(3)*(o-s)/2)&&(d[1]=-1,d[2]=-1);else{var p=Math.acos(c/Math.sqrt(-Math.pow(u,3)));d[0]=2*Math.sqrt(-u)*Math.cos(p/3)-r/3,d[1]=2*Math.sqrt(-u)*Math.cos((p+2*Math.PI)/3)-r/3,d[2]=2*Math.sqrt(-u)*Math.cos((p+4*Math.PI)/3)-r/3}for(var f=0;f<3;f++)(d[f]<0||d[f]>1)&&(d[f]=-1);return d}var k=this.jsBezier={distanceFromCurve:o,gradientAtPoint:_,gradientAtPointAlongCurveFrom:x,nearestPointOnCurve:s,pointOnCurve:f,pointAlongCurveFrom:y,perpendicularToCurveAt:C,locationAlongCurveFrom:P,getLength:b,lineIntersection:E,boxIntersection:S,boundingBoxIntersection:j,version:"0.9.0"};e.jsBezier=k}).call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,n=t.Biltong={version:"0.4.0"};e.Biltong=n;var i=function(t){return"[object Array]"===Object.prototype.toString.call(t)},o=function(t,e,n){return t=i(t)?t:[t.x,t.y],e=i(e)?e:[e.x,e.y],n(t,e)},s=n.gradient=function(t,e){return o(t,e,(function(t,e){return e[0]==t[0]?e[1]>t[1]?1/0:-1/0:e[1]==t[1]?e[0]>t[0]?0:-0:(e[1]-t[1])/(e[0]-t[0])}))},r=(n.normal=function(t,e){return-1/s(t,e)},n.lineLength=function(t,e){return o(t,e,(function(t,e){return Math.sqrt(Math.pow(e[1]-t[1],2)+Math.pow(e[0]-t[0],2))}))},n.quadrant=function(t,e){return o(t,e,(function(t,e){return e[0]>t[0]||e[0]==t[0]?e[1]>t[1]?2:1:e[1]>t[1]?3:4}))}),a=(n.theta=function(t,e){return o(t,e,(function(t,e){var n=s(t,e),i=Math.atan(n),o=r(t,e);return 4!=o&&3!=o||(i+=Math.PI),i<0&&(i+=2*Math.PI),i}))},n.intersects=function(t,e){var n=t.x,i=t.x+t.w,o=t.y,s=t.y+t.h,r=e.x,a=e.x+e.w,l=e.y,u=e.y+e.h;return n<=r&&r<=i&&o<=l&&l<=s||n<=a&&a<=i&&o<=l&&l<=s||n<=r&&r<=i&&o<=u&&u<=s||n<=a&&r<=i&&o<=u&&u<=s||r<=n&&n<=a&&l<=o&&o<=u||r<=i&&i<=a&&l<=o&&o<=u||r<=n&&n<=a&&l<=s&&s<=u||r<=i&&n<=a&&l<=s&&s<=u},n.encloses=function(t,e,n){var i=t.x,o=t.x+t.w,s=t.y,r=t.y+t.h,a=e.x,l=e.x+e.w,u=e.y,c=e.y+e.h,h=function(t,e,i,o){return n?t<=e&&i>=o:t<e&&i>o};return h(i,a,o,l)&&h(s,u,r,c)},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),l=[null,[-1,-1],[-1,1],[1,1],[1,-1]];n.pointOnLine=function(t,e,n){var i=s(t,e),o=r(t,e),u=n>0?a[o]:l[o],c=Math.atan(i),h=Math.abs(n*Math.sin(c))*u[1],d=Math.abs(n*Math.cos(c))*u[0];return{x:t.x+d,y:t.y+h}},n.perpendicularLineTo=function(t,e,n){var i=s(t,e),o=Math.atan(-1/i),r=n/2*Math.sin(o),a=n/2*Math.cos(o);return[{x:e.x+a,y:e.y+r},{x:e.x-a,y:e.y-r}]}}.call("undefined"!==typeof window?window:this),function(){"use strict";function t(t,e,n,i,o,s,r,a){return new Touch({target:e,identifier:L(),pageX:n,pageY:i,screenX:o,screenY:s,clientX:r||o,clientY:a||s})}function n(){var t=[];return Array.prototype.push.apply(t,arguments),t.item=function(t){return this[t]},t}function i(e,i,o,s,r,a,l,u){return n(t.apply(null,arguments))}var o=this,s=function(t,e,n){n=n||t.parentNode;for(var i=n.querySelectorAll(e),o=0;o<i.length;o++)if(i[o]===t)return!0;return!1},r=function(t){return"string"==typeof t||t.constructor===String?document.getElementById(t):t},a=function(t){return t.srcElement||t.target},l=function(t,e,n,i){if(i){if("undefined"!==typeof t.path&&t.path.indexOf)return{path:t.path,end:t.path.indexOf(n)};var o={path:[],end:-1},s=function(t){o.path.push(t),t===n?o.end=o.path.length-1:null!=t.parentNode&&s(t.parentNode)};return s(e),o}return{path:[e],end:1}},u=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]==e)break;n<t.length&&t.splice(n,1)},c=1,h=function(t,e,n){var i=c++;return t.__ta=t.__ta||{},t.__ta[e]=t.__ta[e]||{},t.__ta[e][i]=n,n.__tauid=i,i},d=function(t,e,n){if(t.__ta&&t.__ta[e]&&delete t.__ta[e][n.__tauid],n.__taExtra){for(var i=0;i<n.__taExtra.length;i++)M(t,n.__taExtra[i][0],n.__taExtra[i][1]);n.__taExtra.length=0}n.__taUnstore&&n.__taUnstore()},p=function(t,e,n,i){if(null==t)return n;var o=t.split(","),r=function(i){r.__tauid=n.__tauid;var u=a(i),c=u,h=l(i,u,e,null!=t);if(-1!=h.end)for(var d=0;d<h.end;d++){c=h.path[d];for(var p=0;p<o.length;p++)s(c,o[p],e)&&n.apply(c,arguments)}};return f(n,i,r),r},f=function(t,e,n){t.__taExtra=t.__taExtra||[],t.__taExtra.push([e,n])},g=function(t,e,n,i){if(_&&C[e]){var o=p(i,t,n,C[e]);T(t,C[e],o,n)}"focus"===e&&null==t.getAttribute("tabindex")&&t.setAttribute("tabindex","1"),T(t,e,p(i,t,n,e),n)},m=function(t,e,n,i){if(null==t.__taSmartClicks){var o=function(e){t.__tad=w(e)},s=function(e){t.__tau=w(e)},r=function(e){if(t.__tad&&t.__tau&&t.__tad[0]===t.__tau[0]&&t.__tad[1]===t.__tau[1])for(var n=0;n<t.__taSmartClicks.length;n++)t.__taSmartClicks[n].apply(a(e),[e])};g(t,"mousedown",o,i),g(t,"mouseup",s,i),g(t,"click",r,i),t.__taSmartClicks=[]}t.__taSmartClicks.push(n),n.__taUnstore=function(){u(t.__taSmartClicks,n)}},v={tap:{touches:1,taps:1},dbltap:{touches:1,taps:2},contextmenu:{touches:2,taps:1}},b=function(t,e){return function(n,i,o,r){if("contextmenu"==i&&x)g(n,i,o,r);else{if(null==n.__taTapHandler){var c=n.__taTapHandler={tap:[],dbltap:[],contextmenu:[],down:!1,taps:0,downSelectors:[]},h=function(i){for(var o=a(i),u=l(i,o,n,null!=r),h=!1,d=0;d<u.end;d++){if(h)return;o=u.path[d];for(var g=0;g<c.downSelectors.length;g++)if(null==c.downSelectors[g]||s(o,c.downSelectors[g],n)){c.down=!0,setTimeout(p,t),setTimeout(f,e),h=!0;break}}},d=function(t){if(c.down){var e,i,o=a(t);c.taps++;var r=O(t);for(var u in v)if(v.hasOwnProperty(u)){var h=v[u];if(h.touches===r&&(1===h.taps||h.taps===c.taps))for(var d=0;d<c[u].length;d++){i=l(t,o,n,null!=c[u][d][1]);for(var p=0;p<i.end;p++)if(e=i.path[p],null==c[u][d][1]||s(e,c[u][d][1],n)){c[u][d][0].apply(e,[t]);break}}}}},p=function(){c.down=!1},f=function(){c.taps=0};g(n,"mousedown",h),g(n,"mouseup",d)}n.__taTapHandler.downSelectors.push(r),n.__taTapHandler[i].push([o,r]),o.__taUnstore=function(){u(n.__taTapHandler[i],o)}}}},y=function(t,e,n,i){for(var o in n.__tamee[t])n.__tamee[t].hasOwnProperty(o)&&n.__tamee[t][o].apply(i,[e])},P=function(){var t=[];return function(e,n,i,o){if(!e.__tamee){e.__tamee={over:!1,mouseenter:[],mouseexit:[]};var r=function(n){var i=a(n);(null==o&&i==e&&!e.__tamee.over||s(i,o,e)&&(null==i.__tamee||!i.__tamee.over))&&(y("mouseenter",n,e,i),i.__tamee=i.__tamee||{},i.__tamee.over=!0,t.push(i))},l=function(n){for(var i=a(n),o=0;o<t.length;o++)i!=t[o]||s(n.relatedTarget||n.toElement,"*",i)||(i.__tamee.over=!1,t.splice(o,1),y("mouseexit",n,e,i))};T(e,"mouseover",p(o,e,r,"mouseover"),r),T(e,"mouseout",p(o,e,l,"mouseout"),l)}i.__taUnstore=function(){delete e.__tamee[n][i.__tauid]},h(e,n,i),e.__tamee[n][i.__tauid]=i}},_="ontouchstart"in document.documentElement||navigator.maxTouchPoints,x="onmousedown"in document.documentElement,C={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"},E=function(){var t=-1;if("Microsoft Internet Explorer"==navigator.appName){var e=navigator.userAgent,n=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=n.exec(e)&&(t=parseFloat(RegExp.$1))}return t}(),S=E>-1&&E<9,j=function(t,e){if(null==t)return[0,0];var n=k(t),i=A(n,0);return[i[e+"X"],i[e+"Y"]]},w=function(t){return null==t?[0,0]:S?[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop]:j(t,"page")},D=function(t){return j(t,"screen")},I=function(t){return j(t,"client")},A=function(t,e){return t.item?t.item(e):t[e]},k=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},O=function(t){return k(t).length},T=function(t,e,n,i){if(h(t,e,n),i.__tauid=n.__tauid,t.addEventListener)t.addEventListener(e,n,!1);else if(t.attachEvent){var o=e+n.__tauid;t["e"+o]=n,t[o]=function(){t["e"+o]&&t["e"+o](window.event)},t.attachEvent("on"+e,t[o])}},M=function(t,e,n){null!=n&&F(t,(function(){var i=r(this);if(d(i,e,n),null!=n.__tauid)if(i.removeEventListener)i.removeEventListener(e,n,!1),_&&C[e]&&i.removeEventListener(C[e],n,!1);else if(this.detachEvent){var o=e+n.__tauid;i[o]&&i.detachEvent("on"+e,i[o]),i[o]=null,i["e"+o]=null}n.__taTouchProxy&&M(t,n.__taTouchProxy[1],n.__taTouchProxy[0])}))},F=function(t,e){if(null!=t){t="undefined"!==typeof Window&&"unknown"!==typeof t.top&&t==t.top?[t]:"string"!==typeof t&&null==t.tagName&&null!=t.length?t:"string"===typeof t?document.querySelectorAll(t):[t];for(var n=0;n<t.length;n++)e.apply(t[n])}},L=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0,n="x"==t?e:3&e|8;return n.toString(16)}))};o.Mottle=function(t){t=t||{};var e=t.clickThreshold||250,n=t.dblClickThreshold||450,o=new P,s=new b(e,n),a=t.smartClicks,l=function(t,e,n,i){null!=n&&F(t,(function(){var t=r(this);a&&"click"===e?m(t,e,n,i):"tap"===e||"dbltap"===e||"contextmenu"===e?s(t,e,n,i):"mouseenter"===e||"mouseexit"==e?o(t,e,n,i):g(t,e,n,i)}))};this.remove=function(t){return F(t,(function(){var t=r(this);if(t.__ta)for(var e in t.__ta)if(t.__ta.hasOwnProperty(e))for(var n in t.__ta[e])t.__ta[e].hasOwnProperty(n)&&M(t,e,t.__ta[e][n]);t.parentNode&&t.parentNode.removeChild(t)})),this},this.on=function(t,e,n,i){var o=arguments[0],s=4==arguments.length?arguments[2]:null,r=arguments[1],a=arguments[arguments.length-1];return l(o,r,a,s),this},this.off=function(t,e,n){return M(t,e,n),this},this.trigger=function(t,e,n,o){var s=x&&("undefined"===typeof MouseEvent||null==n||n.constructor===MouseEvent),a=_&&!x&&C[e]?C[e]:e,l=!(_&&!x&&C[e]),u=w(n),c=D(n),h=I(n);return F(t,(function(){var t,d=r(this);n=n||{screenX:c[0],screenY:c[1],clientX:h[0],clientY:h[1]};var p=function(t){o&&(t.payload=o)},f={TouchEvent:function(t){var e=i(window,d,0,u[0],u[1],c[0],c[1],h[0],h[1]),n=t.initTouchEvent||t.initEvent;n(a,!0,!0,window,null,c[0],c[1],h[0],h[1],!1,!1,!1,!1,e,e,e,1,0)},MouseEvents:function(t){t.initMouseEvent(a,!0,!0,window,0,c[0],c[1],h[0],h[1],!1,!1,!1,!1,1,d)}};if(document.createEvent){var g=!l&&!s&&_&&C[e],m=g?"TouchEvent":"MouseEvents";t=document.createEvent(m),f[m](t),p(t),d.dispatchEvent(t)}else document.createEventObject&&(t=document.createEventObject(),t.eventType=t.eventName=a,t.screenX=c[0],t.screenY=c[1],t.clientX=h[0],t.clientY=h[1],p(t),d.fireEvent("on"+a,t))})),this}},o.Mottle.consume=function(t,e){t.stopPropagation?t.stopPropagation():t.returnValue=!1,!e&&t.preventDefault&&t.preventDefault()},o.Mottle.pageLocation=w,o.Mottle.setForceTouchEvents=function(t){_=t},o.Mottle.setForceMouseEvents=function(t){x=t},o.Mottle.version="0.8.0",e.Mottle=o.Mottle}.call("undefined"===typeof window?this:window),function(){"use strict";var t=this,n=function(t,e,n){return-1===t.indexOf(e)&&(n?t.unshift(e):t.push(e),!0)},i=function(t,e){var n=t.indexOf(e);-1!==n&&t.splice(n,1)},o=function(t,e){for(var n=[],i=0;i<t.length;i++)-1===e.indexOf(t[i])&&n.push(t[i]);return n},s=function(t){return null!=t&&("string"===typeof t||t.constructor===String)},r=function(t){var e=t.getBoundingClientRect(),n=document.body,i=document.documentElement,o=window.pageYOffset||i.scrollTop||n.scrollTop,s=window.pageXOffset||i.scrollLeft||n.scrollLeft,r=i.clientTop||n.clientTop||0,a=i.clientLeft||n.clientLeft||0,l=e.top+o-r,u=e.left+s-a;return{top:Math.round(l),left:Math.round(u)}},a=function(t,e,n){n=n||t.parentNode;for(var i=n.querySelectorAll(e),o=0;o<i.length;o++)if(i[o]===t)return!0;return!1},l=function(t,e,n){if(a(e,n,t))return e;var i=e.parentNode;while(null!=i&&i!==t){if(a(i,n,t))return i;i=i.parentNode}},u=function(t,e,n){for(var i=null,o=e.getAttribute("katavorio-draggable"),s=null!=o?"[katavorio-draggable='"+o+"'] ":"",r=0;r<t.length;r++)if(i=l(e,n,s+t[r].selector),null!=i){if(t[r].filter){var u=a(n,t[r].filter,i),c=!0===t[r].filterExclude;if(c&&!u||u)return null}return[t[r],i]}return null},c=function(){var t=-1;if("Microsoft Internet Explorer"===navigator.appName){var e=navigator.userAgent,n=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=n.exec(e)&&(t=parseFloat(RegExp.$1))}return t}(),h=10,d=10,p=c>-1&&c<9,f=9===c,g=function(t){if(p)return[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop];var e=v(t),n=m(e,0);return f?[n.pageX||n.clientX,n.pageY||n.clientY]:[n.pageX,n.pageY]},m=function(t,e){return t.item?t.item(e):t[e]},v=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},b={delegatedDraggable:"katavorio-delegated-draggable",draggable:"katavorio-draggable",droppable:"katavorio-droppable",drag:"katavorio-drag",selected:"katavorio-drag-selected",active:"katavorio-drag-active",hover:"katavorio-drag-hover",noSelect:"katavorio-drag-no-select",ghostProxy:"katavorio-ghost-proxy",clonedDrag:"katavorio-clone-drag"},y="katavorio-drag-scope",P=["stop","start","drag","drop","over","out","beforeStart"],_=function(){},x=function(){return!0},C=function(t,e,n){for(var i=0;i<t.length;i++)t[i]!=n&&e(t[i])},E=function(t,e,n,i){C(t,(function(t){t.setActive(e),e&&t.updatePosition(),n&&t.setHover(i,e)}))},S=function(t,e){if(null!=t){t=s(t)||null!=t.tagName||null==t.length?[t]:t;for(var n=0;n<t.length;n++)e.apply(t[n],[t[n]])}},j=function(t){t.stopPropagation?(t.stopPropagation(),t.preventDefault()):t.returnValue=!1},w="input,textarea,select,button,option",D=function(t,e,n){var i=t.srcElement||t.target;return!a(i,n.getInputFilterSelector(),e)},I=function(t,e,n,i){this.params=e||{},this.el=t,this.params.addClass(this.el,this._class),this.uuid=M();var o=!0;return this.setEnabled=function(t){o=t},this.isEnabled=function(){return o},this.toggleEnabled=function(){o=!o},this.setScope=function(t){this.scopes=t?t.split(/\s+/):[i]},this.addScope=function(t){var e={};for(var n in S(this.scopes,(function(t){e[t]=!0})),S(t?t.split(/\s+/):[],(function(t){e[t]=!0})),this.scopes=[],e)this.scopes.push(n)},this.removeScope=function(t){var e={};for(var n in S(this.scopes,(function(t){e[t]=!0})),S(t?t.split(/\s+/):[],(function(t){delete e[t]})),this.scopes=[],e)this.scopes.push(n)},this.toggleScope=function(t){var e={};for(var n in S(this.scopes,(function(t){e[t]=!0})),S(t?t.split(/\s+/):[],(function(t){e[t]?delete e[t]:e[t]=!0})),this.scopes=[],e)this.scopes.push(n)},this.setScope(e.scope),this.k=e.katavorio,e.katavorio},A=function(){return!0},k=function(){return!1},O=function(t,e,n,i){this._class=n.draggable;var o=I.apply(this,arguments);this.rightButtonCanDrag=this.params.rightButtonCanDrag;var l,c,p,f,m,v,y=[0,0],P=null,_=null,C=[0,0],S=!1,w=[0,0],O=!1!==this.params.consumeStartEvent,T=this.el,L=this.params.clone,N=(this.params.scroll,!1!==e.multipleDrop),R=!1,U=null,B=[],G=null,Y=e.ghostProxyParent;if(l=!0===e.ghostProxy?A:e.ghostProxy&&"function"===typeof e.ghostProxy?e.ghostProxy:function(t,e){return!(!G||!G.useGhostProxy)&&G.useGhostProxy(t,e)},c=e.makeGhostProxy?e.makeGhostProxy:function(t){return G&&G.makeGhostProxy?G.makeGhostProxy(t):t.cloneNode(!0)},e.selector){var H=t.getAttribute("katavorio-draggable");null==H&&(H=""+(new Date).getTime(),t.setAttribute("katavorio-draggable",H)),B.push(e)}var X,W=e.snapThreshold,q=function(t,e,n,i,o){var s=Math.floor(t[0]/e),r=e*s,a=r+e,l=Math.abs(t[0]-r)<=i?r:Math.abs(a-t[0])<=i?a:t[0],u=Math.floor(t[1]/n),c=n*u,h=c+n,d=Math.abs(t[1]-c)<=o?c:Math.abs(h-t[1])<=o?h:t[1];return[l,d]};this.posses=[],this.posseRoles={},this.toGrid=function(t){if(null==this.params.grid)return t;var e=this.params.grid?this.params.grid[0]/2:W||h/2,n=this.params.grid?this.params.grid[1]/2:W||d/2;return q(t,this.params.grid[0],this.params.grid[1],e,n)},this.snap=function(t,e){if(null!=T){t=t||(this.params.grid?this.params.grid[0]:h),e=e||(this.params.grid?this.params.grid[1]:d);var n=this.params.getPosition(T),i=this.params.grid?this.params.grid[0]/2:W,o=this.params.grid?this.params.grid[1]/2:W,s=q(n,t,e,i,o);return this.params.setPosition(T,s),s}},this.setUseGhostProxy=function(t){l=t?A:k};var V=function(t){return!1===e.allowNegative?[Math.max(0,t[0]),Math.max(0,t[1])]:t},z=function(t){X="function"===typeof t?t:t?function(t,e,n,i){return V([Math.max(0,Math.min(n.w-i[0],t[0])),Math.max(0,Math.min(n.h-i[1],t[1]))])}.bind(this):function(t){return V(t)}}.bind(this);z("function"===typeof this.params.constrain?this.params.constrain:this.params.constrain||this.params.containment),this.setConstrain=function(t){z(t)};var $,Z=function(t,e,n,i){return null!=G&&G.constrain&&"function"===typeof G.constrain?G.constrain(t,e,n,i):X(t,e,n,i)};this.setRevert=function(t){$=t},this.params.revert&&($=this.params.revert);var J=function(t){return"function"===typeof t?(t._katavorioId=M(),t._katavorioId):t},K={},Q=function(t){for(var e in K){var n=K[e],i=n[0](t);if(n[1]&&(i=!i),!i)return!1}return!0},tt=this.setFilter=function(e,n){if(e){var i=J(e);K[i]=[function(n){var i,o=n.srcElement||n.target;return s(e)?i=a(o,e,t):"function"===typeof e&&(i=e(n,t)),i},!1!==n]}};this.addFilter=tt,this.removeFilter=function(t){var e="function"===typeof t?t._katavorioId:t;delete K[e]};this.clearAllFilters=function(){K={}},this.canDrag=this.params.canDrag||x;var et,nt=[],it=[];this.addSelector=function(t){t.selector&&B.push(t)},this.downListener=function(t){if(!t.defaultPrevented){var e=this.rightButtonCanDrag||3!==t.which&&2!==t.button;if(e&&this.isEnabled()&&this.canDrag()){var i=Q(t)&&D(t,this.el,this.k);if(i){if(G=null,U=null,B.length>0){var s=u(B,this.el,t.target||t.srcElement);if(null!=s&&(G=s[0],U=s[1]),null==U)return}else U=this.el;if(L)if(T=U.cloneNode(!0),this.params.addClass(T,b.clonedDrag),T.setAttribute("id",null),T.style.position="absolute",null!=this.params.parent){var a=this.params.getPosition(this.el);T.style.left=a[0]+"px",T.style.top=a[1]+"px",this.params.parent.appendChild(T)}else{var l=r(U);T.style.left=l.left+"px",T.style.top=l.top+"px",document.body.appendChild(T)}else T=U;O&&j(t),y=g(t),T&&T.parentNode&&(w=[T.parentNode.scrollLeft,T.parentNode.scrollTop]),this.params.bind(document,"mousemove",this.moveListener),this.params.bind(document,"mouseup",this.upListener),o.markSelection(this),o.markPosses(this),this.params.addClass(document.body,n.noSelect),rt("beforeStart",{el:this.el,pos:P,e:t,drag:this})}else this.params.consumeFilteredEvents&&j(t)}}}.bind(this),this.moveListener=function(t){if(y){if(!S){var e=rt("start",{el:this.el,pos:P,e:t,drag:this});if(!1!==e){if(!y)return;this.mark(!0),S=!0}else this.abort()}if(y){it.length=0;var n=g(t),i=n[0]-y[0],s=n[1]-y[1],r=this.params.ignoreZoom?1:o.getZoom();T&&T.parentNode&&(i+=T.parentNode.scrollLeft-w[0],s+=T.parentNode.scrollTop-w[1]),i/=r,s/=r,this.moveBy(i,s,t),o.updateSelection(i,s,this),o.updatePosses(i,s,this)}}}.bind(this),this.upListener=function(t){y&&(y=null,this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.params.removeClass(document.body,n.noSelect),this.unmark(t),o.unmarkSelection(this,t),o.unmarkPosses(this,t),this.stop(t),o.notifyPosseDragStop(this,t),S=!1,it.length=0,L?(T&&T.parentNode&&T.parentNode.removeChild(T),T=null):$&&!0===$(T,this.params.getPosition(T))&&(this.params.setPosition(T,P),rt("revert",T)))}.bind(this),this.getFilters=function(){return K},this.abort=function(){null!=y&&this.upListener()},this.getDragElement=function(t){return t?U||this.el:T||this.el};var ot={start:[],drag:[],stop:[],over:[],out:[],beforeStart:[],revert:[]};e.events.start&&ot.start.push(e.events.start),e.events.beforeStart&&ot.beforeStart.push(e.events.beforeStart),e.events.stop&&ot.stop.push(e.events.stop),e.events.drag&&ot.drag.push(e.events.drag),e.events.revert&&ot.revert.push(e.events.revert),this.on=function(t,e){ot[t]&&ot[t].push(e)},this.off=function(t,e){if(ot[t]){for(var n=[],i=0;i<ot[t].length;i++)ot[t][i]!==e&&n.push(ot[t][i]);ot[t]=n}};var st,rt=function(t,e){var n=null;if(G&&G[t])n=G[t](e);else if(ot[t])for(var i=0;i<ot[t].length;i++)try{var o=ot[t][i](e);null!=o&&(n=o)}catch(s){}return n};this.notifyStart=function(t){rt("start",{el:this.el,pos:this.params.getPosition(T),e:t,drag:this})},this.stop=function(t,e){if(e||S){var n=[],i=o.getSelection(),s=this.params.getPosition(T);if(i.length>0)for(var r=0;r<i.length;r++){var a=this.params.getPosition(i[r].el);n.push([i[r].el,{left:a[0],top:a[1]},i[r]])}else n.push([T,{left:s[0],top:s[1]},this]);rt("stop",{el:T,pos:st||s,finalPos:s,e:t,drag:this,selection:n})}},this.mark=function(t){var e;P=this.params.getPosition(T),_=this.params.getPosition(T,!0),C=[_[0]-P[0],_[1]-P[1]],this.size=this.params.getSize(T),nt=o.getMatchingDroppables(this),E(nt,!0,!1,this),this.params.addClass(T,this.params.dragClass||n.drag),e=this.params.getConstrainingRectangle?this.params.getConstrainingRectangle(T):this.params.getSize(T.parentNode),et={w:e[0],h:e[1]},m=0,v=0,t&&o.notifySelectionDragStart(this)},this.unmark=function(t,i){if(E(nt,!1,!0,this),R&&l(U,T)?(st=[T.offsetLeft-m,T.offsetTop-v],T.parentNode.removeChild(T),T=U):st=null,this.params.removeClass(T,this.params.dragClass||n.drag),nt.length=0,R=!1,!i){it.length>0&&st&&e.setPosition(U,st),it.sort(F);for(var o=0;o<it.length;o++){var s=it[o].drop(this,t);if(!0===s)break}}},this.moveBy=function(t,n,i){it.length=0;var o=this.toGrid([P[0]+t,P[1]+n]),s=Z(o,T,et,this.size);if(l(this.el,T))if(o[0]!==s[0]||o[1]!==s[1]){if(!R){var r=c(U);e.addClass(r,b.ghostProxy),Y?(Y.appendChild(r),p=e.getPosition(U.parentNode,!0),f=e.getPosition(e.ghostProxyParent,!0),m=p[0]-f[0],v=p[1]-f[1]):U.parentNode.appendChild(r),T=r,R=!0}s=o}else R&&(T.parentNode.removeChild(T),T=U,R=!1,p=null,f=null,m=0,v=0);var a={x:s[0],y:s[1],w:this.size[0],h:this.size[1]},u={x:a.x+C[0],y:a.y+C[1],w:a.w,h:a.h},h=null;this.params.setPosition(T,[s[0]+m,s[1]+v]);for(var d=0;d<nt.length;d++){var g={x:nt[d].pagePosition[0],y:nt[d].pagePosition[1],w:nt[d].size[0],h:nt[d].size[1]};this.params.intersects(u,g)&&(N||null==h||h===nt[d].el)&&nt[d].canDrop(this)?(h||(h=nt[d].el),it.push(nt[d]),nt[d].setHover(this,!0,i)):nt[d].isHover()&&nt[d].setHover(this,!1,i)}rt("drag",{el:this.el,pos:s,e:i,drag:this})},this.destroy=function(){this.params.unbind(this.el,"mousedown",this.downListener),this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.downListener=null,this.upListener=null,this.moveListener=null},this.params.bind(this.el,"mousedown",this.downListener),this.params.handle?tt(this.params.handle,!1):tt(this.params.filter,this.params.filterExclude)},T=function(t,e,n,i){this._class=n.droppable,this.params=e||{},this.rank=e.rank||0,this._activeClass=this.params.activeClass||n.active,this._hoverClass=this.params.hoverClass||n.hover,I.apply(this,arguments);var o=!1;this.allowLoopback=!1!==this.params.allowLoopback,this.setActive=function(t){this.params[t?"addClass":"removeClass"](this.el,this._activeClass)},this.updatePosition=function(){this.position=this.params.getPosition(this.el),this.pagePosition=this.params.getPosition(this.el,!0),this.size=this.params.getSize(this.el)},this.canDrop=this.params.canDrop||function(t){return!0},this.isHover=function(){return o},this.setHover=function(t,e,n){(e||null==this.el._katavorioDragHover||this.el._katavorioDragHover===t.el._katavorio)&&(this.params[e?"addClass":"removeClass"](this.el,this._hoverClass),this.el._katavorioDragHover=e?t.el._katavorio:null,o!==e&&this.params.events[e?"over":"out"]({el:this.el,e:n,drag:t,drop:this}),o=e)},this.drop=function(t,e){return this.params.events["drop"]({drag:t,e:e,drop:this})},this.destroy=function(){this._class=null,this._activeClass=null,this._hoverClass=null,o=null}},M=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)}))},F=function(t,e){return t.rank<e.rank?1:t.rank>e.rank?-1:0},L=function(t){return null==t?null:(t="string"===typeof t||t.constructor===String?document.getElementById(t):t,null==t?null:(t._katavorio=t._katavorio||M(),t))};t.Katavorio=function(t){var e=[],r={};this._dragsByScope={},this._dropsByScope={};var a=1,l=function(t,e){S(t,(function(t){for(var n=0;n<t.scopes.length;n++)e[t.scopes[n]]=e[t.scopes[n]]||[],e[t.scopes[n]].push(t)}))},u=function(e,n){var i=0;return S(e,(function(e){for(var o=0;o<e.scopes.length;o++)if(n[e.scopes[o]]){var s=t.indexOf(n[e.scopes[o]],e);-1!==s&&(n[e.scopes[o]].splice(s,1),i++)}})),i>0},c=(this.getMatchingDroppables=function(t){for(var e=[],n={},i=0;i<t.scopes.length;i++){var o=this._dropsByScope[t.scopes[i]];if(o)for(var s=0;s<o.length;s++)!o[s].canDrop(t)||n[o[s].uuid]||!o[s].allowLoopback&&o[s].el===t.el||(n[o[s].uuid]=!0,e.push(o[s]))}return e.sort(F),e},function(e){e=e||{};var n,i={events:{}};for(n in t)i[n]=t[n];for(n in e)i[n]=e[n];for(n=0;n<P.length;n++)i.events[P[n]]=e[P[n]]||_;return i.katavorio=this,i}.bind(this)),h=function(t,e){for(var n=0;n<P.length;n++)e[P[n]]&&t.on(P[n],e[P[n]])}.bind(this),d={},p=t.css||{},f=t.scope||y;for(var g in b)d[g]=b[g];for(var g in p)d[g]=p[g];var m=t.inputFilterSelector||w;this.getInputFilterSelector=function(){return m},this.setInputFilterSelector=function(t){return m=t,this},this.draggable=function(e,n){var i=[];return S(e,function(e){if(e=L(e),null!=e)if(null==e._katavorioDrag){var o=c(n);e._katavorioDrag=new O(e,o,d,f),l(e._katavorioDrag,this._dragsByScope),i.push(e._katavorioDrag),t.addClass(e,o.selector?d.delegatedDraggable:d.draggable)}else h(e._katavorioDrag,n)}.bind(this)),i},this.droppable=function(e,n){var i=[];return S(e,function(e){if(e=L(e),null!=e){var o=new T(e,c(n),d,f);e._katavorioDrop=e._katavorioDrop||[],e._katavorioDrop.push(o),l(o,this._dropsByScope),i.push(o),t.addClass(e,d.droppable)}}.bind(this)),i},this.select=function(n){return S(n,(function(){var n=L(this);n&&n._katavorioDrag&&(r[n._katavorio]||(e.push(n._katavorioDrag),r[n._katavorio]=[n,e.length-1],t.addClass(n,d.selected)))})),this},this.deselect=function(n){return S(n,(function(){var n=L(this);if(n&&n._katavorio){var i=r[n._katavorio];if(i){for(var o=[],s=0;s<e.length;s++)e[s].el!==n&&o.push(e[s]);e=o,delete r[n._katavorio],t.removeClass(n,d.selected)}}})),this},this.deselectAll=function(){for(var n in r){var i=r[n];t.removeClass(i[0],d.selected)}e.length=0,r={}},this.markSelection=function(t){C(e,(function(t){t.mark()}),t)},this.markPosses=function(t){t.posses&&S(t.posses,(function(e){t.posseRoles[e]&&D[e]&&C(D[e].members,(function(t){t.mark()}),t)}))},this.unmarkSelection=function(t,n){C(e,(function(t){t.unmark(n)}),t)},this.unmarkPosses=function(t,e){t.posses&&S(t.posses,(function(n){t.posseRoles[n]&&D[n]&&C(D[n].members,(function(t){t.unmark(e,!0)}),t)}))},this.getSelection=function(){return e.slice(0)},this.updateSelection=function(t,n,i){C(e,(function(e){e.moveBy(t,n)}),i)};var v=function(t,e){e.posses&&S(e.posses,(function(n){e.posseRoles[n]&&D[n]&&C(D[n].members,(function(e){t(e)}),e)}))};this.updatePosses=function(t,e,n){v((function(n){n.moveBy(t,e)}),n)},this.notifyPosseDragStop=function(t,e){v((function(t){t.stop(e,!0)}),t)},this.notifySelectionDragStop=function(t,n){C(e,(function(t){t.stop(n,!0)}),t)},this.notifySelectionDragStart=function(t,n){C(e,(function(t){t.notifyStart(n)}),t)},this.setZoom=function(t){a=t},this.getZoom=function(){return a};var x=function(t,e,n,i){S(t,(function(t){u(t,n),t[i](e),l(t,n)}))};S(["set","add","remove","toggle"],function(t){this[t+"Scope"]=function(e,n){x(e._katavorioDrag,n,this._dragsByScope,t+"Scope"),x(e._katavorioDrop,n,this._dropsByScope,t+"Scope")}.bind(this),this[t+"DragScope"]=function(e,n){x(e.constructor===O?e:e._katavorioDrag,n,this._dragsByScope,t+"Scope")}.bind(this),this[t+"DropScope"]=function(e,n){x(e.constructor===T?e:e._katavorioDrop,n,this._dropsByScope,t+"Scope")}.bind(this)}.bind(this)),this.snapToGrid=function(t,e){for(var n in this._dragsByScope)C(this._dragsByScope[n],(function(n){n.snap(t,e)}))},this.getDragsForScope=function(t){return this._dragsByScope[t]},this.getDropsForScope=function(t){return this._dropsByScope[t]};var E=function(t,n,i){if(t=L(t),t[n]){var o=e.indexOf(t[n]);o>=0&&e.splice(o,1),u(t[n],i)&&S(t[n],(function(t){t.destroy()})),delete t[n]}},j=function(t,e,n,i){t=L(t),t[e]&&t[e].off(n,i)};this.elementRemoved=function(t){t["_katavorioDrag"]&&this.destroyDraggable(t),t["_katavorioDrop"]&&this.destroyDroppable(t)},this.destroyDraggable=function(t,e,n){1===arguments.length?E(t,"_katavorioDrag",this._dragsByScope):j(t,"_katavorioDrag",e,n)},this.destroyDroppable=function(t,e,n){1===arguments.length?E(t,"_katavorioDrop",this._dropsByScope):j(t,"_katavorioDrop",e,n)},this.reset=function(){this._dragsByScope={},this._dropsByScope={},e=[],r={},D={}};var D={},I=function(t,e,i){var o=s(e)?e:e.id,r=!!s(e)||!1!==e.active,a=D[o]||function(){var t={name:o,members:[]};return D[o]=t,t}();return S(t,(function(t){if(t._katavorioDrag){if(i&&null!=t._katavorioDrag.posseRoles[a.name])return;n(a.members,t._katavorioDrag),n(t._katavorioDrag.posses,a.name),t._katavorioDrag.posseRoles[a.name]=r}})),a};this.addToPosse=function(t,e){for(var n=[],i=1;i<arguments.length;i++)n.push(I(t,arguments[i]));return 1===n.length?n[0]:n},this.setPosse=function(t,e){for(var n=[],i=1;i<arguments.length;i++)n.push(I(t,arguments[i],!0).name);return S(t,function(t){if(t._katavorioDrag){var e=o(t._katavorioDrag.posses,n),i=[];Array.prototype.push.apply(i,t._katavorioDrag.posses);for(var s=0;s<e.length;s++)this.removeFromPosse(t,e[s])}}.bind(this)),1===n.length?n[0]:n},this.removeFromPosse=function(t,e){if(arguments.length<2)throw new TypeError("No posse id provided for remove operation");for(var n=1;n<arguments.length;n++)e=arguments[n],S(t,(function(t){if(t._katavorioDrag&&t._katavorioDrag.posses){var n=t._katavorioDrag;S(e,(function(t){i(D[t].members,n),i(n.posses,t),delete n.posseRoles[t]}))}}))},this.removeFromAllPosses=function(t){S(t,(function(t){if(t._katavorioDrag&&t._katavorioDrag.posses){var e=t._katavorioDrag;S(e.posses,(function(t){i(D[t].members,e)})),e.posses.length=0,e.posseRoles={}}}))},this.setPosseState=function(t,e,n){var i=D[e];i&&S(t,(function(t){t._katavorioDrag&&t._katavorioDrag.posses&&(t._katavorioDrag.posseRoles[i.name]=n)}))}},t.Katavorio.version="1.0.0",e.Katavorio=t.Katavorio}.call("undefined"!==typeof window?window:this),function(){var t=this;t.jsPlumbUtil=t.jsPlumbUtil||{};var n=t.jsPlumbUtil;function i(t){return"[object Array]"===Object.prototype.toString.call(t)}function o(t){return"[object Number]"===Object.prototype.toString.call(t)}function s(t){return"string"===typeof t}function r(t){return"boolean"===typeof t}function a(t){return null==t}function l(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function u(t){return"[object Date]"===Object.prototype.toString.call(t)}function c(t){return"[object Function]"===Object.prototype.toString.call(t)}function h(t){return c(t)&&null!=t.name&&t.name.length>0}function d(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function p(t){if(s(t))return""+t;if(r(t))return!!t;if(u(t))return new Date(t.getTime());if(c(t))return t;if(i(t)){for(var e=[],n=0;n<t.length;n++)e.push(p(t[n]));return e}if(l(t)){var o={};for(var a in t)o[a]=p(t[a]);return o}return t}function f(t,e,n,o){var a,u,c={},h={};for(n=n||[],o=o||[],u=0;u<n.length;u++)c[n[u]]=!0;for(u=0;u<o.length;u++)h[o[u]]=!0;var d=p(t);for(u in e)if(null==d[u]||h[u])d[u]=e[u];else if(s(e[u])||r(e[u]))c[u]?(a=[],a.push.apply(a,i(d[u])?d[u]:[d[u]]),a.push.apply(a,r(e[u])?e[u]:[e[u]]),d[u]=a):d[u]=e[u];else if(i(e[u]))a=[],i(d[u])&&a.push.apply(a,d[u]),a.push.apply(a,e[u]),d[u]=a;else if(l(e[u]))for(var f in l(d[u])||(d[u]={}),e[u])d[u][f]=e[u][f];return d}function g(t,e,n){if(null!=t){var i=t,o=i;return e.replace(/([^\.])+/g,(function(t,e,i,s){var r=t.match(/([^\[0-9]+){1}(\[)([0-9+])/),a=i+t.length>=s.length,l=function(){return o[r[1]]||function(){return o[r[1]]=[],o[r[1]]}()};if(a)r?l()[r[3]]=n:o[t]=n;else if(r){var u=l();o=u[r[3]]||function(){return u[r[3]]={},u[r[3]]}()}else o=o[t]||function(){return o[t]={},o[t]}();return""})),t}}function m(t,e,n){for(var i=0;i<n.length;i++){var o=n[i][0][n[i][1]].apply(n[i][0],n[i][2]);if(o===e)return o}return t}function v(t,e,n,o){var r=function(t){var n=t.match(/(\${.*?})/g);if(null!=n)for(var i=0;i<n.length;i++){var o=e[n[i].substring(2,n[i].length-1)]||"";null!=o&&(t=t.replace(n[i],o))}return t},a=function(t){if(null!=t){if(s(t))return r(t);if(!c(t)||o||null!=n&&0!==(t.name||"").indexOf(n)){if(i(t)){for(var u=[],h=0;h<t.length;h++)u.push(a(t[h]));return u}if(l(t)){var d={};for(var p in t)d[p]=a(t[p]);return d}return t}return t(e)}};return a(t)}function b(t,e){if(t)for(var n=0;n<t.length;n++)if(e(t[n]))return n;return-1}function y(t,e){var n=b(t,e);return n>-1&&t.splice(n,1),-1!==n}function P(t,e){var n=t.indexOf(e);return n>-1&&t.splice(n,1),-1!==n}function _(t,e,n){-1===b(t,n)&&t.push(e)}function x(t,e,n,i){var o=t[e];return null==o&&(o=[],t[e]=o),o[i?"unshift":"push"](n),o}function C(t,e,n){return-1===t.indexOf(e)&&(n?t.unshift(e):t.push(e),!0)}function E(t,e,n){var o;e=i(e)?e:[e];var s=function(e){var n=e.__proto__;while(null!=n)if(null!=n.prototype){for(var i in n.prototype)n.prototype.hasOwnProperty(i)&&!t.prototype.hasOwnProperty(i)&&(t.prototype[i]=n.prototype[i]);n=n.prototype.__proto__}else n=null};for(o=0;o<e.length;o++){for(var r in e[o].prototype)e[o].prototype.hasOwnProperty(r)&&!t.prototype.hasOwnProperty(r)&&(t.prototype[r]=e[o].prototype[r]);s(e[o])}var a=function(t,n){return function(){for(o=0;o<e.length;o++)e[o].prototype[t]&&e[o].prototype[t].apply(this,arguments);return n.apply(this,arguments)}},l=function(e){for(var n in e)t.prototype[n]=a(n,e[n])};if(arguments.length>2)for(o=2;o<arguments.length;o++)l(arguments[o]);return t}e.jsPlumbUtil=n,n.isArray=i,n.isNumber=o,n.isString=s,n.isBoolean=r,n.isNull=a,n.isObject=l,n.isDate=u,n.isFunction=c,n.isNamedFunction=h,n.isEmpty=d,n.clone=p,n.merge=f,n.replace=g,n.functionChain=m,n.populate=v,n.findWithFunction=b,n.removeWithFunction=y,n.remove=P,n.addWithFunction=_,n.addToList=x,n.suggest=C,n.extend=E;for(var S=[],j=0;j<256;j++)S[j]=(j<16?"0":"")+j.toString(16);function w(){var t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return S[255&t]+S[t>>8&255]+S[t>>16&255]+S[t>>24&255]+"-"+S[255&e]+S[e>>8&255]+"-"+S[e>>16&15|64]+S[e>>24&255]+"-"+S[63&n|128]+S[n>>8&255]+"-"+S[n>>16&255]+S[n>>24&255]+S[255&i]+S[i>>8&255]+S[i>>16&255]+S[i>>24&255]}function D(t){if(null==t)return null;var e=t.replace(/^\s\s*/,""),n=/\s/,i=e.length;while(n.test(e.charAt(--i)));return e.slice(0,i+1)}function I(t,e){t=null==t.length||"string"===typeof t?[t]:t;for(var n=0;n<t.length;n++)e(t[n])}function A(t,e){for(var n=[],i=0;i<t.length;i++)n.push(e(t[i]));return n}function k(t,e,n){n=n||"parent";var i=function(t){return t?e[t]:null},o=function(t){return t?i(t[n]):null},s=function(t,e){if(null==t)return e;var n=["anchor","anchors","cssClass","connector","paintStyle","hoverPaintStyle","endpoint","endpoints"];"override"===e.mergeStrategy&&Array.prototype.push.apply(n,["events","overlays"]);var i=f(t,e,[],n);return s(o(t),i)},r=function(t){if(null==t)return{};if("string"===typeof t)return i(t);if(t.length){var e=!1,n=0,o=void 0;while(!e&&n<t.length)o=r(t[n]),o?e=!0:n++;return o}},a=r(t);return a?s(o(a),a):{}}function O(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(n.logEnabled&&"undefined"!==typeof console)try{var i=arguments[arguments.length-1];console.log(i)}catch(o){}}function T(t,e,n){return function(){var i=null;try{null!=e&&(i=e.apply(this,arguments))}catch(o){O("jsPlumb function failed : "+o)}if(null!=t&&(null==n||i!==n))try{i=t.apply(this,arguments)}catch(o){O("wrapped function failed : "+o)}return i}}n.uuid=w,n.fastTrim=D,n.each=I,n.map=A,n.mergeWithParents=k,n.logEnabled=!0,n.log=O,n.wrap=T;var M=function(){function t(){var t=this;this._listeners={},this.eventsSuspended=!1,this.tick=!1,this.eventsToDieOn={ready:!0},this.queue=[],this.bind=function(e,n,i){var o=function(e){x(t._listeners,e,n,i),n.__jsPlumb=n.__jsPlumb||{},n.__jsPlumb[w()]=e};if("string"===typeof e)o(e);else if(null!=e.length)for(var s=0;s<e.length;s++)o(e[s]);return t},this.fire=function(t,e,n){if(this.tick)this.queue.unshift(arguments);else{if(this.tick=!0,!this.eventsSuspended&&this._listeners[t]){var i=this._listeners[t].length,o=0,s=!1,r=null;if(!this.shouldFireEvent||this.shouldFireEvent(t,e,n))while(!s&&o<i&&!1!==r){if(this.eventsToDieOn[t])this._listeners[t][o].apply(this,[e,n]);else try{r=this._listeners[t][o].apply(this,[e,n])}catch(a){O("jsPlumb: fire failed for event "+t+" : "+a)}o++,null!=this._listeners&&null!=this._listeners[t]||(s=!0)}}this.tick=!1,this._drain()}return this},this._drain=function(){var e=t.queue.pop();e&&t.fire.apply(t,e)},this.unbind=function(t,e){if(0===arguments.length)this._listeners={};else if(1===arguments.length){if("string"===typeof t)delete this._listeners[t];else if(t.__jsPlumb){var n=void 0;for(var i in t.__jsPlumb)n=t.__jsPlumb[i],P(this._listeners[n]||[],t)}}else 2===arguments.length&&P(this._listeners[t]||[],e);return this},this.getListener=function(e){return t._listeners[e]},this.setSuspendEvents=function(e){t.eventsSuspended=e},this.isSuspendEvents=function(){return t.eventsSuspended},this.silently=function(e){t.setSuspendEvents(!0);try{e()}catch(n){O("Cannot execute silent function "+n)}t.setSuspendEvents(!1)},this.cleanupListeners=function(){for(var e in t._listeners)t._listeners[e]=null}}return t}();function F(t,e,n){var i=[t[0]-e[0],t[1]-e[1]],o=Math.cos(n/360*Math.PI*2),s=Math.sin(n/360*Math.PI*2);return[i[0]*o-i[1]*s+e[0],i[1]*o+i[0]*s+e[1],o,s]}function L(t,e){var n=F(t,[0,0],e);return[Math.round(n[0]),Math.round(n[1])]}n.EventGenerator=M,n.rotatePoint=F,n.rotateAnchorOrientation=L}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this;t.jsPlumbUtil.matchesSelector=function(t,e,n){n=n||t.parentNode;for(var i=n.querySelectorAll(e),o=0;o<i.length;o++)if(i[o]===t)return!0;return!1},t.jsPlumbUtil.consume=function(t,e){t.stopPropagation?t.stopPropagation():t.returnValue=!1,!e&&t.preventDefault&&t.preventDefault()},t.jsPlumbUtil.sizeElement=function(t,e,n,i,o){t&&(t.style.height=o+"px",t.height=o,t.style.width=i+"px",t.width=i,t.style.left=e+"px",t.style.top=n+"px")}}.call("undefined"!==typeof window?window:this),function(){var t={deriveAnchor:function(t,e,n,i){return{top:["TopRight","TopLeft"],bottom:["BottomRight","BottomLeft"]}[t][e]}},e=this,n=function(t,e){this.count=0,this.instance=t,this.lists={},this.options=e||{},this.instance.addList=function(t,e){return this.listManager.addList(t,e)},this.instance.removeList=function(t){this.listManager.removeList(t)},this.instance.bind("manageElement",function(t){for(var e=this.instance.getSelector(t.el,"[jtk-scrollable-list]"),n=0;n<e.length;n++)this.addList(e[n])}.bind(this)),this.instance.bind("unmanageElement",(function(t){this.removeList(t.el)})),this.instance.bind("connection",function(t,e){null==e&&(this._maybeUpdateParentList(t.source),this._maybeUpdateParentList(t.target))}.bind(this))};e.jsPlumbListManager=n,n.prototype={addList:function(e,n){var o=this.instance.extend({},t);this.instance.extend(o,this.options),n=this.instance.extend(o,n||{});var s=[this.instance.getInstanceIndex(),this.count++].join("_");this.lists[s]=new i(this.instance,e,n,s)},removeList:function(t){var e=this.lists[t._jsPlumbList];e&&(e.destroy(),delete this.lists[t._jsPlumbList])},_maybeUpdateParentList:function(t){var e=t.parentNode,n=this.instance.getContainer();while(null!=e&&e!==n){if(null!=e._jsPlumbList&&null!=this.lists[e._jsPlumbList])return void e._jsPlumbScrollHandler();e=e.parentNode}}};var i=function(t,e,n,i){function o(t,e,i,o){return n.anchor?n.anchor:n.deriveAnchor(t,e,i,o)}function s(t,e,i,o){return n.deriveEndpoint?n.deriveEndpoint(t,e,i,o):n.endpoint?n.endpoint:i.type}function r(e){var n=e.parentNode,i=t.getContainer();while(null!=n&&n!==i){if(t.hasClass(n,"jtk-managed"))return void t.recalculateOffsets(n);n=n.parentNode}}e["_jsPlumbList"]=i;var a=function(n){for(var i=t.getSelector(e,".jtk-managed"),a=t.getId(e),l=0;l<i.length;l++){if(i[l].offsetTop<e.scrollTop)i[l]._jsPlumbProxies||(i[l]._jsPlumbProxies=i[l]._jsPlumbProxies||[],t.select({source:i[l]}).each((function(n){t.proxyConnection(n,0,e,a,(function(){return s("top",0,n.endpoints[0],n)}),(function(){return o("top",0,n.endpoints[0],n)})),i[l]._jsPlumbProxies.push([n,0])})),t.select({target:i[l]}).each((function(n){t.proxyConnection(n,1,e,a,(function(){return s("top",1,n.endpoints[1],n)}),(function(){return o("top",1,n.endpoints[1],n)})),i[l]._jsPlumbProxies.push([n,1])})));else if(i[l].offsetTop+i[l].offsetHeight>e.scrollTop+e.offsetHeight)i[l]._jsPlumbProxies||(i[l]._jsPlumbProxies=i[l]._jsPlumbProxies||[],t.select({source:i[l]}).each((function(n){t.proxyConnection(n,0,e,a,(function(){return s("bottom",0,n.endpoints[0],n)}),(function(){return o("bottom",0,n.endpoints[0],n)})),i[l]._jsPlumbProxies.push([n,0])})),t.select({target:i[l]}).each((function(n){t.proxyConnection(n,1,e,a,(function(){return s("bottom",1,n.endpoints[1],n)}),(function(){return o("bottom",1,n.endpoints[1],n)})),i[l]._jsPlumbProxies.push([n,1])})));else if(i[l]._jsPlumbProxies){for(var u=0;u<i[l]._jsPlumbProxies.length;u++)t.unproxyConnection(i[l]._jsPlumbProxies[u][0],i[l]._jsPlumbProxies[u][1],a);delete i[l]._jsPlumbProxies}t.revalidate(i[l])}r(e)};t.setAttribute(e,"jtk-scrollable-list","true"),e._jsPlumbScrollHandler=a,t.on(e,"scroll",a),a(),this.destroy=function(){t.off(e,"scroll",a),delete e._jsPlumbScrollHandler;for(var n=t.getSelector(e,".jtk-managed"),i=t.getId(e),o=0;o<n.length;o++)if(n[o]._jsPlumbProxies){for(var s=0;s<n[o]._jsPlumbProxies.length;s++)t.unproxyConnection(n[o]._jsPlumbProxies[s][0],n[o]._jsPlumbProxies[s][1],i);delete n[o]._jsPlumbProxies}}}}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,n=t.jsPlumbUtil,i=function(t){if(t._jsPlumb.paintStyle&&t._jsPlumb.hoverPaintStyle){var e={};f.extend(e,t._jsPlumb.paintStyle),f.extend(e,t._jsPlumb.hoverPaintStyle),delete t._jsPlumb.hoverPaintStyle,e.gradient&&t._jsPlumb.paintStyle.fill&&delete e.gradient,t._jsPlumb.hoverPaintStyle=e}},o=["tap","dbltap","click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","contextmenu"],s=function(t,e,n,i){var o=t.getAttachedElements();if(o)for(var s=0,r=o.length;s<r;s++)i&&i===o[s]||o[s].setHover(e,!0,n)},r=function(t){return null==t?null:t.split(" ")},a=function(t,e,n){for(var i in e)t[i]=n},l=function(t,e,i){if(t.getDefaultType){var o=t.getTypeDescriptor(),s={},r=t.getDefaultType(),l=n.merge({},r);a(s,r,"__default");for(var u=0,c=t._jsPlumb.types.length;u<c;u++){var h=t._jsPlumb.types[u];if("__default"!==h){var d=t._jsPlumb.instance.getType(h,o);if(null!=d){var p=["anchor","anchors","connector","paintStyle","hoverPaintStyle","endpoint","endpoints","connectorOverlays","connectorStyle","connectorHoverStyle","endpointStyle","endpointHoverStyle"],f=[];"override"===d.mergeStrategy?Array.prototype.push.apply(p,["events","overlays","cssClass"]):f.push("cssClass"),l=n.merge(l,d,f,p),a(s,d,h)}}}e&&(l=n.populate(l,e,"_")),t.applyType(l,i,s),i||t.repaint()}},u=t.jsPlumbUIComponent=function(t){n.EventGenerator.apply(this,arguments);var e=this,i=arguments,o=e.idPrefix,s=o+(new Date).getTime();this._jsPlumb={instance:t._jsPlumb,parameters:t.parameters||{},paintStyle:null,hoverPaintStyle:null,paintStyleInUse:null,hover:!1,beforeDetach:t.beforeDetach,beforeDrop:t.beforeDrop,overlayPlacements:[],hoverClass:t.hoverClass||t._jsPlumb.Defaults.HoverClass,types:[],typeCache:{}},this.cacheTypeItem=function(t,e,n){this._jsPlumb.typeCache[n]=this._jsPlumb.typeCache[n]||{},this._jsPlumb.typeCache[n][t]=e},this.getCachedTypeItem=function(t,e){return this._jsPlumb.typeCache[e]?this._jsPlumb.typeCache[e][t]:null},this.getId=function(){return s};var r=t.overlays||[],a={};if(this.defaultOverlayKeys){for(var l=0;l<this.defaultOverlayKeys.length;l++)Array.prototype.push.apply(r,this._jsPlumb.instance.Defaults[this.defaultOverlayKeys[l]]||[]);for(l=0;l<r.length;l++){var u=f.convertToFullOverlaySpec(r[l]);a[u[1].id]=u}}var c={overlays:a,parameters:t.parameters||{},scope:t.scope||this._jsPlumb.instance.getDefaultScope()};if(this.getDefaultType=function(){return c},this.appendToDefaultType=function(t){for(var e in t)c[e]=t[e]},t.events)for(var h in t.events)e.bind(h,t.events[h]);this.clone=function(){var t=Object.create(this.constructor.prototype);return this.constructor.apply(t,i),t}.bind(this),this.isDetachAllowed=function(t){var e=!0;if(this._jsPlumb.beforeDetach)try{e=this._jsPlumb.beforeDetach(t)}catch(i){n.log("jsPlumb: beforeDetach callback failed",i)}return e},this.isDropAllowed=function(t,e,i,o,s,r,a){var l=this._jsPlumb.instance.checkCondition("beforeDrop",{sourceId:t,targetId:e,scope:i,connection:o,dropEndpoint:s,source:r,target:a});if(this._jsPlumb.beforeDrop)try{l=this._jsPlumb.beforeDrop({sourceId:t,targetId:e,scope:i,connection:o,dropEndpoint:s,source:r,target:a})}catch(u){n.log("jsPlumb: beforeDrop callback failed",u)}return l};var d=[];this.setListenerComponent=function(t){for(var e=0;e<d.length;e++)d[e][3]=t}},c=function(t,e){var n=t._jsPlumb.types[e],i=t._jsPlumb.instance.getType(n,t.getTypeDescriptor());null!=i&&i.cssClass&&t.canvas&&t._jsPlumb.instance.removeClass(t.canvas,i.cssClass)};n.extend(t.jsPlumbUIComponent,n.EventGenerator,{getParameter:function(t){return this._jsPlumb.parameters[t]},setParameter:function(t,e){this._jsPlumb.parameters[t]=e},getParameters:function(){return this._jsPlumb.parameters},setParameters:function(t){this._jsPlumb.parameters=t},getClass:function(){return f.getClass(this.canvas)},hasClass:function(t){return f.hasClass(this.canvas,t)},addClass:function(t){f.addClass(this.canvas,t)},removeClass:function(t){f.removeClass(this.canvas,t)},updateClasses:function(t,e){f.updateClasses(this.canvas,t,e)},setType:function(t,e,n){this.clearTypes(),this._jsPlumb.types=r(t)||[],l(this,e,n)},getType:function(){return this._jsPlumb.types},reapplyTypes:function(t,e){l(this,t,e)},hasType:function(t){return-1!==this._jsPlumb.types.indexOf(t)},addType:function(t,e,n){var i=r(t),o=!1;if(null!=i){for(var s=0,a=i.length;s<a;s++)this.hasType(i[s])||(this._jsPlumb.types.push(i[s]),o=!0);o&&l(this,e,n)}},removeType:function(t,e,n){var i=r(t),o=!1,s=function(t){var e=this._jsPlumb.types.indexOf(t);return-1!==e&&(c(this,e),this._jsPlumb.types.splice(e,1),!0)}.bind(this);if(null!=i){for(var a=0,u=i.length;a<u;a++)o=s(i[a])||o;o&&l(this,e,n)}},clearTypes:function(t,e){for(var n=this._jsPlumb.types.length,i=0;i<n;i++)c(this,0),this._jsPlumb.types.splice(0,1);l(this,t,e)},toggleType:function(t,e,n){var i=r(t);if(null!=i){for(var o=0,s=i.length;o<s;o++){var a=this._jsPlumb.types.indexOf(i[o]);-1!==a?(c(this,a),this._jsPlumb.types.splice(a,1)):this._jsPlumb.types.push(i[o])}l(this,e,n)}},applyType:function(t,e){if(this.setPaintStyle(t.paintStyle,e),this.setHoverPaintStyle(t.hoverPaintStyle,e),t.parameters)for(var n in t.parameters)this.setParameter(n,t.parameters[n]);this._jsPlumb.paintStyleInUse=this.getPaintStyle()},setPaintStyle:function(t,e){this._jsPlumb.paintStyle=t,this._jsPlumb.paintStyleInUse=this._jsPlumb.paintStyle,i(this),e||this.repaint()},getPaintStyle:function(){return this._jsPlumb.paintStyle},setHoverPaintStyle:function(t,e){this._jsPlumb.hoverPaintStyle=t,i(this),e||this.repaint()},getHoverPaintStyle:function(){return this._jsPlumb.hoverPaintStyle},destroy:function(t){(t||null==this.typeId)&&(this.cleanupListeners(),this.clone=null,this._jsPlumb=null)},isHover:function(){return this._jsPlumb.hover},setHover:function(t,e,n){if(this._jsPlumb&&!this._jsPlumb.instance.currentlyDragging&&!this._jsPlumb.instance.isHoverSuspended()){this._jsPlumb.hover=t;var i=t?"addClass":"removeClass";null!=this.canvas&&(null!=this._jsPlumb.instance.hoverClass&&this._jsPlumb.instance[i](this.canvas,this._jsPlumb.instance.hoverClass),null!=this._jsPlumb.hoverClass&&this._jsPlumb.instance[i](this.canvas,this._jsPlumb.hoverClass)),null!=this._jsPlumb.hoverPaintStyle&&(this._jsPlumb.paintStyleInUse=t?this._jsPlumb.hoverPaintStyle:this._jsPlumb.paintStyle,this._jsPlumb.instance.isSuspendDrawing()||(n=n||jsPlumbUtil.uuid(),this.repaint({timestamp:n,recalc:!1}))),this.getAttachedElements&&!e&&s(this,t,jsPlumbUtil.uuid(),this)}}});var h=0,d=function(){var t=h+1;return h++,t},p=t.jsPlumbInstance=function(e){this.version="2.15.6",this.Defaults={Anchor:"Bottom",Anchors:[null,null],ConnectionsDetachable:!0,ConnectionOverlays:[],Connector:"Bezier",Container:null,DoNotThrowErrors:!1,DragOptions:{},DropOptions:{},Endpoint:"Dot",EndpointOverlays:[],Endpoints:[null,null],EndpointStyle:{fill:"#456"},EndpointStyles:[null,null],EndpointHoverStyle:null,EndpointHoverStyles:[null,null],HoverPaintStyle:null,LabelStyle:{color:"black"},ListStyle:{},LogEnabled:!1,Overlays:[],MaxConnections:1,PaintStyle:{"stroke-width":4,stroke:"#456"},ReattachConnections:!1,RenderMode:"svg",Scope:"jsPlumb_DefaultScope"},e&&f.extend(this.Defaults,e),this.logEnabled=this.Defaults.LogEnabled,this._connectionTypes={},this._endpointTypes={},n.EventGenerator.apply(this);var i=this,s=d(),r=i.bind,a={},l=1,c=function(t){if(null==t)return null;if(3===t.nodeType||8===t.nodeType)return{el:t,text:!0};var e=i.getElement(t);return{el:e,id:n.isString(t)&&null==e?t:X(e)}};for(var h in this.getInstanceIndex=function(){return s},this.setZoom=function(t,e){return l=t,i.fire("zoom",l),e&&i.repaintEverything(),!0},this.getZoom=function(){return l},this.Defaults)a[h]=this.Defaults[h];var p,g=[];this.unbindContainer=function(){if(null!=p&&g.length>0)for(var t=0;t<g.length;t++)i.off(p,g[t][0],g[t][1])},this.setContainer=function(t){this.unbindContainer(),t=this.getElement(t),this.select().each((function(e){e.moveParent(t)})),this.selectEndpoints().each((function(e){e.moveParent(t)}));var e=p;p=t,g.length=0;for(var n={endpointclick:"endpointClick",endpointdblclick:"endpointDblClick"},s=function(t,e,o){var s=e.srcElement||e.target,r=(s&&s.parentNode?s.parentNode._jsPlumb:null)||(s?s._jsPlumb:null)||(s&&s.parentNode&&s.parentNode.parentNode?s.parentNode.parentNode._jsPlumb:null);if(r){r.fire(t,r,e);var a=o&&n[o+t]||t;i.fire(a,r.component||r,e)}},r=function(t,e,n){g.push([t,n]),i.on(p,t,e,n)},a=function(t){r(t,".jtk-connector",(function(e){s(t,e)})),r(t,".jtk-endpoint",(function(e){s(t,e,"endpoint")})),r(t,".jtk-overlay",(function(e){s(t,e)}))},l=0;l<o.length;l++)a(o[l]);for(var u in _){var c=_[u].el;c.parentNode===e&&(e.removeChild(c),p.appendChild(c))}},this.getContainer=function(){return p},this.bind=function(t,e){"ready"===t&&v?e():r.apply(i,[t,e])},i.importDefaults=function(t){for(var e in t)i.Defaults[e]=t[e];return t.Container&&i.setContainer(t.Container),i},i.restoreDefaults=function(){return i.Defaults=f.extend({},a),i};var m=null,v=!1,b=[],y={},P={},_={},x={},C={},E=!1,S=[],j=!1,w=null,D=this.Defaults.Scope,I=1,A=function(){return""+I++},k=function(t,e){p?p.appendChild(t):e?this.getElement(e).appendChild(t):this.appendToRoot(t)}.bind(this),O=function(t,e,n,o){var s={c:[],e:[]};if(!j&&(t=i.getElement(t),null!=t)){var r=X(t),a=t.querySelectorAll(".jtk-managed");null==n&&(n=jsPlumbUtil.uuid());pt({elId:r,offset:e,recalc:!1,timestamp:n});for(var l=0;l<a.length;l++)pt({elId:a[l].getAttribute("id"),recalc:!0,timestamp:n});var u=i.router.redraw(r,e,n,null,o);if(Array.prototype.push.apply(s.c,u.c),Array.prototype.push.apply(s.e,u.e),a)for(var c=0;c<a.length;c++)u=i.router.redraw(a[c].getAttribute("id"),null,n,null,o,!0),Array.prototype.push.apply(s.c,u.c),Array.prototype.push.apply(s.e,u.e)}return s},T=function(t){return P[t]},M=function(t,e){for(var n=t.scope.split(/\s/),i=e.scope.split(/\s/),o=0;o<n.length;o++)for(var s=0;s<i.length;s++)if(i[s]===n[o])return!0;return!1},F=function(t,e){var n=f.extend({},t);for(var i in e)e[i]&&(n[i]=e[i]);return n},L=function(t,e){var o=f.extend({},t);if(e&&f.extend(o,e),o.source&&(o.source.endpoint?o.sourceEndpoint=o.source:o.source=i.getElement(o.source)),o.target&&(o.target.endpoint?o.targetEndpoint=o.target:o.target=i.getElement(o.target)),t.uuids&&(o.sourceEndpoint=T(t.uuids[0]),o.targetEndpoint=T(t.uuids[1])),o.sourceEndpoint&&o.sourceEndpoint.isFull())n.log(i,"could not add connection; source endpoint is full");else if(o.targetEndpoint&&o.targetEndpoint.isFull())n.log(i,"could not add connection; target endpoint is full");else{if(!o.type&&o.sourceEndpoint&&(o.type=o.sourceEndpoint.connectionType),o.sourceEndpoint&&o.sourceEndpoint.connectorOverlays){o.overlays=o.overlays||[];for(var s=0,r=o.sourceEndpoint.connectorOverlays.length;s<r;s++)o.overlays.push(o.sourceEndpoint.connectorOverlays[s])}o.sourceEndpoint&&o.sourceEndpoint.scope&&(o.scope=o.sourceEndpoint.scope),!o["pointer-events"]&&o.sourceEndpoint&&o.sourceEndpoint.connectorPointerEvents&&(o["pointer-events"]=o.sourceEndpoint.connectorPointerEvents);var a=function(t,e,n){var s=F(e,{anchor:o.anchors?o.anchors[n]:o.anchor,endpoint:o.endpoints?o.endpoints[n]:o.endpoint,paintStyle:o.endpointStyles?o.endpointStyles[n]:o.endpointStyle,hoverPaintStyle:o.endpointHoverStyles?o.endpointHoverStyles[n]:o.endpointHoverStyle});return i.addEndpoint(t,s)},l=function(t,e,n,i){if(o[t]&&!o[t].endpoint&&!o[t+"Endpoint"]&&!o.newConnection){var s=X(o[t]),r=n[s];if(r=r?r[i]:null,r){if(!r.enabled)return!1;var l=f.extend({},r.def);delete l.label;var u=null!=r.endpoint&&r.endpoint._jsPlumb?r.endpoint:a(o[t],l,e);if(u.isFull())return!1;o[t+"Endpoint"]=u,!o.scope&&l.scope&&(o.scope=l.scope),r.uniqueEndpoint?r.endpoint?u.finalEndpoint=r.endpoint:(r.endpoint=u,u.setDeleteOnEmpty(!1)):u.setDeleteOnEmpty(!0),0===e&&r.def.connectorOverlays&&(o.overlays=o.overlays||[],Array.prototype.push.apply(o.overlays,r.def.connectorOverlays))}}};if(!1!==l("source",0,this.sourceEndpointDefinitions,o.type||"default")&&!1!==l("target",1,this.targetEndpointDefinitions,o.type||"default"))return o.sourceEndpoint&&o.targetEndpoint&&(M(o.sourceEndpoint,o.targetEndpoint)||(o=null)),o}}.bind(i),N=function(t){var e=i.Defaults.ConnectionType||i.getDefaultConnectionType();t._jsPlumb=i,t.newConnection=N,t.newEndpoint=U,t.endpointsByUUID=P,t.endpointsByElement=y,t.finaliseConnection=R,t.id="con_"+A();var n=new e(t);return n.isDetachable()&&(n.endpoints[0].initDraggable("_jsPlumbSource"),n.endpoints[1].initDraggable("_jsPlumbTarget")),n},R=i.finaliseConnection=function(t,e,n,o){if(e=e||{},t.suspendedEndpoint||b.push(t),t.pending=null,t.endpoints[0].isTemporarySource=!1,!1!==o&&i.router.newConnection(t),O(t.source),!e.doNotFireConnectionEvent&&!1!==e.fireEvent){var s={connection:t,source:t.source,target:t.target,sourceId:t.sourceId,targetId:t.targetId,sourceEndpoint:t.endpoints[0],targetEndpoint:t.endpoints[1]};i.fire("connection",s,n)}},U=function(t,e){var n=i.Defaults.EndpointType||f.Endpoint,o=f.extend({},t);o._jsPlumb=i,o.newConnection=N,o.newEndpoint=U,o.endpointsByUUID=P,o.endpointsByElement=y,o.fireDetachEvent=V,o.elementId=e||X(o.source);var s=new n(o);return s.id="ep_"+A(),dt(o.elementId,o.source),f.headless||i.getDragManager().endpointAdded(o.source,e),s},B=function(t,e,n){var i=y[t];if(i&&i.length)for(var o=0,s=i.length;o<s;o++){for(var r=0,a=i[o].connections.length;r<a;r++){var l=e(i[o].connections[r]);if(l)return}n&&n(i[o])}},G=function(t,e,n){e="block"===e;var i=null;n&&(i=function(t){t.setVisible(e,!0,!0)});var o=c(t);B(o.id,(function(t){if(e&&n){var i=t.sourceId===o.id?1:0;t.endpoints[i].isVisible()&&t.setVisible(!0)}else t.setVisible(e)}),i)},Y=function(t,e){var n=null;e&&(n=function(t){var e=t.isVisible();t.setVisible(!e)}),B(t,(function(t){var e=t.isVisible();t.setVisible(!e)}),n)},H=function(t){var e=x[t];return e?{o:e,s:S[t]}:pt({elId:t})},X=function(t,e,o){if(n.isString(t))return t;if(null==t)return null;var r=i.getAttribute(t,"id");return r&&"undefined"!==r||(2===arguments.length&&void 0!==arguments[1]?r=e:(1===arguments.length||3===arguments.length&&!arguments[2])&&(r="jsPlumb_"+s+"_"+A()),o||i.setAttribute(t,"id",r)),r};this.setConnectionBeingDragged=function(t){E=t},this.isConnectionBeingDragged=function(){return E},this.getManagedElements=function(){return _},this.connectorClass="jtk-connector",this.connectorOutlineClass="jtk-connector-outline",this.connectedClass="jtk-connected",this.hoverClass="jtk-hover",this.endpointClass="jtk-endpoint",this.endpointConnectedClass="jtk-endpoint-connected",this.endpointFullClass="jtk-endpoint-full",this.endpointDropAllowedClass="jtk-endpoint-drop-allowed",this.endpointDropForbiddenClass="jtk-endpoint-drop-forbidden",this.overlayClass="jtk-overlay",this.draggingClass="jtk-dragging",this.elementDraggingClass="jtk-element-dragging",this.sourceElementDraggingClass="jtk-source-element-dragging",this.targetElementDraggingClass="jtk-target-element-dragging",this.endpointAnchorClassPrefix="jtk-endpoint-anchor",this.hoverSourceClass="jtk-source-hover",this.hoverTargetClass="jtk-target-hover",this.dragSelectClass="jtk-drag-select",this.Anchors={},this.Connectors={svg:{}},this.Endpoints={svg:{}},this.Overlays={svg:{}},this.ConnectorRenderers={},this.SVG="svg",this.addEndpoint=function(t,e,o){o=o||{};var s=f.extend({},o);f.extend(s,e),s.endpoint=s.endpoint||i.Defaults.Endpoint,s.paintStyle=s.paintStyle||i.Defaults.EndpointStyle;for(var r=[],a=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],l=0,u=a.length;l<u;l++){s.source=i.getElement(a[l]),ct(s.source);var c=X(s.source),h=U(s,c),d=dt(c,s.source,null,!j).info.o;n.addToList(y,c,h),j||h.paint({anchorLoc:h.anchor.compute({xy:[d.left,d.top],wh:S[c],element:h,timestamp:w,rotation:this.getRotation(c)}),timestamp:w}),r.push(h)}return 1===r.length?r[0]:r},this.addEndpoints=function(t,e,o){for(var s=[],r=0,a=e.length;r<a;r++){var l=i.addEndpoint(t,e[r],o);n.isArray(l)?Array.prototype.push.apply(s,l):s.push(l)}return s},this.animate=function(t,e,o){if(!this.animationSupported)return!1;o=o||{};var s=i.getElement(t),r=X(s),a=f.animEvents.step,l=f.animEvents.complete;o[a]=n.wrap(o[a],(function(){i.revalidate(r)})),o[l]=n.wrap(o[l],(function(){i.revalidate(r)})),i.doAnimate(s,e,o)},this.checkCondition=function(t,e){var o=i.getListener(t),s=!0;if(o&&o.length>0){var r=Array.prototype.slice.call(arguments,1);try{for(var a=0,l=o.length;a<l;a++)s=s&&o[a].apply(o[a],r)}catch(u){n.log(i,"cannot check condition ["+t+"]"+u)}}return s},this.connect=function(t,e){var i,o=L(t,e);if(o){if(null==o.source&&null==o.sourceEndpoint)return void n.log("Cannot establish connection - source does not exist");if(null==o.target&&null==o.targetEndpoint)return void n.log("Cannot establish connection - target does not exist");ct(o.source),i=N(o),R(i,o)}return i};var W=[{el:"source",elId:"sourceId",epDefs:"sourceEndpointDefinitions"},{el:"target",elId:"targetId",epDefs:"targetEndpointDefinitions"}],q=function(t,e,n,i){var o,s,r,a=W[n],l=t[a.elId],u=(t[a.el],t.endpoints[n]),c={index:n,originalSourceId:0===n?l:t.sourceId,newSourceId:t.sourceId,originalTargetId:1===n?l:t.targetId,newTargetId:t.targetId,connection:t};if(e.constructor===f.Endpoint)o=e,o.addConnection(t),e=o.element;else if(s=X(e),r=this[a.epDefs][s],s===t[a.elId])o=null;else if(r)for(var h in r){if(!r[h].enabled)return;o=null!=r[h].endpoint&&r[h].endpoint._jsPlumb?r[h].endpoint:this.addEndpoint(e,r[h].def),r[h].uniqueEndpoint&&(r[h].endpoint=o),o.addConnection(t)}else o=t.makeEndpoint(0===n,e,s);return null!=o&&(u.detachFromConnection(t),t.endpoints[n]=o,t[a.el]=o.element,t[a.elId]=o.elementId,c[0===n?"newSourceId":"newTargetId"]=o.elementId,z(c),i||t.repaint()),c.element=e,c}.bind(this);this.setSource=function(t,e,n){var i=q(t,e,0,n);this.router.sourceOrTargetChanged(i.originalSourceId,i.newSourceId,t,i.el,0)},this.setTarget=function(t,e,n){var i=q(t,e,1,n);this.router.sourceOrTargetChanged(i.originalTargetId,i.newTargetId,t,i.el,1)},this.deleteEndpoint=function(t,e,n){var o="string"===typeof t?P[t]:t;return o&&i.deleteObject({endpoint:o,dontUpdateHover:e,deleteAttachedObjects:n}),i},this.deleteEveryEndpoint=function(){var t=i.setSuspendDrawing(!0);for(var e in y){var n=y[e];if(n&&n.length)for(var o=0,s=n.length;o<s;o++)i.deleteEndpoint(n[o],!0)}y={},_={},P={},x={},C={},i.router.reset();var r=i.getDragManager();return r&&r.reset(),t||i.setSuspendDrawing(!1),i};var V=function(t,e,n){var o=i.Defaults.ConnectionType||i.getDefaultConnectionType(),s=t.constructor===o,r=s?{connection:t,source:t.source,target:t.target,sourceId:t.sourceId,targetId:t.targetId,sourceEndpoint:t.endpoints[0],targetEndpoint:t.endpoints[1]}:t;e&&i.fire("connectionDetached",r,n),i.fire("internal.connectionDetached",r,n),i.router.connectionDetached(r)},z=i.fireMoveEvent=function(t,e){i.fire("connectionMoved",t,e)};this.unregisterEndpoint=function(t){for(var e in t._jsPlumb.uuid&&(P[t._jsPlumb.uuid]=null),i.router.deleteEndpoint(t),y){var n=y[e];if(n){for(var o=[],s=0,r=n.length;s<r;s++)n[s]!==t&&o.push(n[s]);y[e]=o}y[e].length<1&&delete y[e]}};var $="isDetachAllowed",Z="beforeDetach",J="checkCondition";this.deleteConnection=function(t,e){return!(null==t||(e=e||{},!e.force&&!n.functionChain(!0,!1,[[t.endpoints[0],$,[t]],[t.endpoints[1],$,[t]],[t,$,[t]],[i,J,[Z,t]]])))&&(t.setHover(!1),V(t,!t.pending&&!1!==e.fireEvent,e.originalEvent),t.endpoints[0].detachFromConnection(t),t.endpoints[1].detachFromConnection(t),n.removeWithFunction(b,(function(e){return t.id===e.id})),t.cleanup(),t.destroy(),!0)},this.deleteEveryConnection=function(t){t=t||{};var e=b.length,n=0;return i.batch((function(){for(var o=0;o<e;o++)n+=i.deleteConnection(b[0],t)?1:0})),n},this.deleteConnectionsForElement=function(t,e){e=e||{},t=i.getElement(t);var n=X(t),o=y[n];if(o&&o.length)for(var s=0,r=o.length;s<r;s++)o[s].deleteEveryConnection(e);return i},this.deleteObject=function(t){var e={endpoints:{},connections:{},endpointCount:0,connectionCount:0},o=!1!==t.deleteAttachedObjects,s=function(n){null!=n&&null==e.connections[n.id]&&(t.dontUpdateHover||null==n._jsPlumb||n.setHover(!1),e.connections[n.id]=n,e.connectionCount++)},r=function(n){if(null!=n&&null==e.endpoints[n.id]&&(t.dontUpdateHover||null==n._jsPlumb||n.setHover(!1),e.endpoints[n.id]=n,e.endpointCount++,o))for(var i=0;i<n.connections.length;i++){var r=n.connections[i];s(r)}};for(var a in t.connection?s(t.connection):r(t.endpoint),e.connections){var l=e.connections[a];if(l._jsPlumb){n.removeWithFunction(b,(function(t){return l.id===t.id})),V(l,!1!==t.fireEvent&&!l.pending,t.originalEvent);var u=null==t.deleteAttachedObjects?null:!t.deleteAttachedObjects;l.endpoints[0].detachFromConnection(l,null,u),l.endpoints[1].detachFromConnection(l,null,u),l.cleanup(!0),l.destroy(!0)}}for(var c in e.endpoints){var h=e.endpoints[c];h._jsPlumb&&(i.unregisterEndpoint(h),h.cleanup(!0),h.destroy(!0))}return e};var K=function(t,e,n,i){for(var o=0,s=t.length;o<s;o++)t[o][e].apply(t[o],n);return i(t)},Q=function(t,e,n){for(var i=[],o=0,s=t.length;o<s;o++)i.push([t[o][e].apply(t[o],n),t[o]]);return i},tt=function(t,e,n){return function(){return K(t,e,arguments,n)}},et=function(t,e){return function(){return Q(t,e,arguments)}},nt=function(t,e){var n=[];if(t)if("string"===typeof t){if("*"===t)return t;n.push(t)}else if(e)n=t;else if(t.length)for(var i=0,o=t.length;i<o;i++)n.push(c(t[i]).id);else n.push(c(t).id);return n},it=function(t,e,n){return"*"===t||(t.length>0?-1!==t.indexOf(e):!n)};this.getConnections=function(t,e){t?t.constructor===String&&(t={scope:t}):t={};for(var n=t.scope||i.getDefaultScope(),o=nt(n,!0),s=nt(t.source),r=nt(t.target),a=!e&&o.length>1?{}:[],l=function(t,n){if(!e&&o.length>1){var i=a[t];null==i&&(i=a[t]=[]),i.push(n)}else a.push(n)},u=0,c=b.length;u<c;u++){var h=b[u],d=h.proxies&&h.proxies[0]?h.proxies[0].originalEp.elementId:h.sourceId,p=h.proxies&&h.proxies[1]?h.proxies[1].originalEp.elementId:h.targetId;it(o,h.scope)&&it(s,d)&&it(r,p)&&l(h.scope,h)}return a};var ot=function(t,e){return function(n){for(var i=0,o=t.length;i<o;i++)n(t[i]);return e(t)}},st=function(t){return function(e){return t[e]}},rt=function(t,e){var n,i,o={length:t.length,each:ot(t,e),get:st(t)},s=["setHover","removeAllOverlays","setLabel","addClass","addOverlay","removeOverlay","removeOverlays","showOverlay","hideOverlay","showOverlays","hideOverlays","setPaintStyle","setHoverPaintStyle","setSuspendEvents","setParameter","setParameters","setVisible","repaint","addType","toggleType","removeType","removeClass","setType","bind","unbind"],r=["getLabel","getOverlay","isHover","getParameter","getParameters","getPaintStyle","getHoverPaintStyle","isVisible","hasType","getType","isSuspendEvents"];for(n=0,i=s.length;n<i;n++)o[s[n]]=tt(t,s[n],e);for(n=0,i=r.length;n<i;n++)o[r[n]]=et(t,r[n]);return o},at=function(t){var e=rt(t,at);return f.extend(e,{setDetachable:tt(t,"setDetachable",at),setReattach:tt(t,"setReattach",at),setConnector:tt(t,"setConnector",at),delete:function(){for(var e=0,n=t.length;e<n;e++)i.deleteConnection(t[e])},isDetachable:et(t,"isDetachable"),isReattach:et(t,"isReattach")})},lt=function(t){var e=rt(t,lt);return f.extend(e,{setEnabled:tt(t,"setEnabled",lt),setAnchor:tt(t,"setAnchor",lt),isEnabled:et(t,"isEnabled"),deleteEveryConnection:function(){for(var e=0,n=t.length;e<n;e++)t[e].deleteEveryConnection()},delete:function(){for(var e=0,n=t.length;e<n;e++)i.deleteEndpoint(t[e])}})};this.select=function(t){return t=t||{},t.scope=t.scope||"*",at(t.connections||i.getConnections(t,!0))},this.selectEndpoints=function(t){t=t||{},t.scope=t.scope||"*";var e=!t.element&&!t.source&&!t.target,n=e?"*":nt(t.element),i=e?"*":nt(t.source),o=e?"*":nt(t.target),s=nt(t.scope,!0),r=[];for(var a in y){var l=it(n,a,!0),u=it(i,a,!0),c="*"!==i,h=it(o,a,!0),d="*"!==o;if(l||u||h)t:for(var p=0,f=y[a].length;p<f;p++){var g=y[a][p];if(it(s,g.scope,!0)){var m=c&&i.length>0&&!g.isSource,v=d&&o.length>0&&!g.isTarget;if(m||v)continue t;r.push(g)}}}return lt(r)},this.getAllConnections=function(){return b},this.getDefaultScope=function(){return D},this.getEndpoint=T,this.getEndpoints=function(t){return y[c(t).id]||[]},this.getDefaultEndpointType=function(){return f.Endpoint},this.getDefaultConnectionType=function(){return f.Connection},this.getId=X,this.draw=O,this.info=c,this.appendElement=k;var ut=!1;this.isHoverSuspended=function(){return ut},this.setHoverSuspended=function(t){ut=t},this.hide=function(t,e){return G(t,"none",e),i},this.idstamp=A;var ct=function(t){if(!p&&t){var e=i.getElement(t);e.offsetParent&&i.setContainer(e.offsetParent)}},ht=function(){i.Defaults.Container&&i.setContainer(i.Defaults.Container)},dt=i.manage=function(t,e,n,o){return _[t]?o&&(_[t].info=pt({elId:t,timestamp:w,recalc:!0})):(_[t]={el:e,endpoints:[],connections:[],rotation:0},_[t].info=pt({elId:t,timestamp:w}),i.addClass(e,"jtk-managed"),n||i.fire("manageElement",{id:t,info:_[t].info,el:e})),_[t]};this.unmanage=function(t){if(_[t]){var e=_[t].el;i.removeClass(e,"jtk-managed"),delete _[t],i.fire("unmanageElement",{id:t,el:e})}},this.rotate=function(t,e,n){return _[t]&&(_[t].rotation=e,_[t].el.style.transform="rotate("+e+"deg)",_[t].el.style.transformOrigin="center center",!0!==n)?this.revalidate(t):{c:[],e:[]}},this.getRotation=function(t){return _[t]&&_[t].rotation||0};var pt=function(t){var e,n=t.timestamp,o=t.recalc,s=t.offset,r=t.elId;return j&&!n&&(n=w),!o&&n&&n===C[r]?{o:t.offset||x[r],s:S[r]}:(o||!s&&null==x[r]?(e=_[r]?_[r].el:null,null!=e&&(S[r]=i.getSize(e),x[r]=i.getOffset(e),C[r]=n)):(x[r]=s||x[r],null==S[r]&&(e=_[r].el,null!=e&&(S[r]=i.getSize(e))),C[r]=n),x[r]&&!x[r].right&&(x[r].right=x[r].left+S[r][0],x[r].bottom=x[r].top+S[r][1],x[r].width=S[r][0],x[r].height=S[r][1],x[r].centerx=x[r].left+x[r].width/2,x[r].centery=x[r].top+x[r].height/2),{o:x[r],s:S[r]})};this.updateOffset=pt,this.init=function(){v||(ht(),i.router=new t.jsPlumb.DefaultRouter(i),i.anchorManager=i.router.anchorManager,v=!0,i.fire("ready",i))}.bind(this),this.log=m,this.jsPlumbUIComponent=u,this.makeAnchor=function(){var e,o=function(e,n){if(t.jsPlumb.Anchors[e])return new t.jsPlumb.Anchors[e](n);if(!i.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+e+"'"}};if(0===arguments.length)return null;var s=arguments[0],r=arguments[1],a=null;if(s.compute&&s.getOrientation)return s;if("string"===typeof s)a=o(arguments[0],{elementId:r,jsPlumbInstance:i});else if(n.isArray(s))if(n.isArray(s[0])||n.isString(s[0]))2===s.length&&n.isObject(s[1])?n.isString(s[0])?(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:i},s[1]),a=o(s[0],e)):(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:i,anchors:s[0]},s[1]),a=new t.jsPlumb.DynamicAnchor(e)):a=new f.DynamicAnchor({anchors:s,selector:null,elementId:r,jsPlumbInstance:i});else{var l={x:s[0],y:s[1],orientation:s.length>=4?[s[2],s[3]]:[0,0],offsets:s.length>=6?[s[4],s[5]]:[0,0],elementId:r,jsPlumbInstance:i,cssClass:7===s.length?s[6]:null};a=new t.jsPlumb.Anchor(l),a.clone=function(){return new t.jsPlumb.Anchor(l)}}return a.id||(a.id="anchor_"+A()),a},this.makeAnchors=function(e,o,s){for(var r=[],a=0,l=e.length;a<l;a++)"string"===typeof e[a]?r.push(t.jsPlumb.Anchors[e[a]]({elementId:o,jsPlumbInstance:s})):n.isArray(e[a])&&r.push(i.makeAnchor(e[a],o,s));return r},this.makeDynamicAnchor=function(e,n){return new t.jsPlumb.DynamicAnchor({anchors:e,selector:n,elementId:null,jsPlumbInstance:i})},this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={};var ft=function(t,e,n,i,o){for(var s=t.target||t.srcElement,r=!1,a=i.getSelector(e,n),l=0;l<a.length;l++)if(a[l]===s){r=!0;break}return o?!r:r},gt=function(e,o,s,r,a){var l=new u(o),c=o._jsPlumb.EndpointDropHandler({jsPlumb:i,enabled:function(){return e.def.enabled},isFull:function(){var t=i.select({target:e.id}).length;return e.def.maxConnections>0&&t>=e.def.maxConnections},element:e.el,elementId:e.id,isSource:r,isTarget:a,addClass:function(t){i.addClass(e.el,t)},removeClass:function(t){i.removeClass(e.el,t)},onDrop:function(t){var e=t.endpoints[0];e.anchor.locked=!1},isDropAllowed:function(){return l.isDropAllowed.apply(l,arguments)},isRedrop:function(t){return null!=t.suspendedElement&&null!=t.suspendedEndpoint&&t.suspendedEndpoint.element===e.el},getEndpoint:function(n){var s=e.def.endpoint;if(null==s||null==s._jsPlumb){var r=i.deriveEndpointAndAnchorSpec(n.getType().join(" "),!0),a=r.endpoints?t.jsPlumb.extend(o,{endpoint:e.def.def.endpoint||r.endpoints[1]}):o;r.anchors&&(a=t.jsPlumb.extend(a,{anchor:e.def.def.anchor||r.anchors[1]})),s=i.addEndpoint(e.el,a),s._mtNew=!0}if(o.uniqueEndpoint&&(e.def.endpoint=s),s.setDeleteOnEmpty(!0),n.isDetachable()&&s.initDraggable(),null!=s.anchor.positionFinder){var l=i.getUIPosition(arguments,i.getZoom()),u=i.getOffset(e.el),c=i.getSize(e.el),h=null==l?[0,0]:s.anchor.positionFinder(l,u,c,s.anchor.constructorParams);s.anchor.x=h[0],s.anchor.y=h[1]}return s},maybeCleanup:function(t){t._mtNew&&0===t.connections.length?i.deleteObject({endpoint:t}):delete t._mtNew}}),h=t.jsPlumb.dragEvents.drop;return s.scope=s.scope||o.scope||i.Defaults.Scope,s[h]=n.wrap(s[h],c,!0),s.rank=o.rank||0,a&&(s[t.jsPlumb.dragEvents.over]=function(){return!0}),!1===o.allowLoopback&&(s.canDrop=function(t){var n=t.getDragElement()._jsPlumbRelatedElement;return n!==e.el}),i.initDroppable(e.el,s,"internal"),c};this.makeTarget=function(e,n,o){var s=t.jsPlumb.extend({_jsPlumb:this},o);t.jsPlumb.extend(s,n);for(var r=s.maxConnections||-1,a=function(e){var n=c(e),o=n.id,a=t.jsPlumb.extend({},s.dropOptions||{}),l=s.connectionType||"default";this.targetEndpointDefinitions[o]=this.targetEndpointDefinitions[o]||{},ct(o),n.el._isJsPlumbGroup&&null==a.rank&&(a.rank=-1);var u={def:t.jsPlumb.extend({},s),uniqueEndpoint:s.uniqueEndpoint,maxConnections:r,enabled:!0};s.createEndpoint&&(u.uniqueEndpoint=!0,u.endpoint=i.addEndpoint(e,u.def),u.endpoint.setDeleteOnEmpty(!1)),n.def=u,this.targetEndpointDefinitions[o][l]=u,gt(n,s,a,!0===s.isSource,!0),n.el._katavorioDrop[n.el._katavorioDrop.length-1].targetDef=u}.bind(this),l=e.length&&e.constructor!==String?e:[e],u=0,h=l.length;u<h;u++)a(l[u]);return this},this.unmakeTarget=function(t,e){var n=c(t);return i.destroyDroppable(n.el,"internal"),e||delete this.targetEndpointDefinitions[n.id],this},this.makeSource=function(e,o,s){var r=t.jsPlumb.extend({_jsPlumb:this},s);t.jsPlumb.extend(r,o);var a=r.connectionType||"default",u=i.deriveEndpointAndAnchorSpec(a);r.endpoint=r.endpoint||u.endpoints[0],r.anchor=r.anchor||u.anchors[0];for(var h=r.maxConnections||-1,d=r.onMaxConnections,p=function(o){var s=o.id,u=this.getElement(o.el);this.sourceEndpointDefinitions[s]=this.sourceEndpointDefinitions[s]||{},ct(s);var c={def:t.jsPlumb.extend({},r),uniqueEndpoint:r.uniqueEndpoint,maxConnections:h,enabled:!0};r.createEndpoint&&(c.uniqueEndpoint=!0,c.endpoint=i.addEndpoint(e,c.def),c.endpoint.setDeleteOnEmpty(!1)),this.sourceEndpointDefinitions[s][a]=c,o.def=c;var p=t.jsPlumb.dragEvents.stop,f=t.jsPlumb.dragEvents.drag,g=t.jsPlumb.extend({},r.dragOptions||{}),m=g.drag,v=g.stop,b=null,y=!1;g.scope=g.scope||r.scope,g[f]=n.wrap(g[f],(function(){m&&m.apply(this,arguments),y=!1})),g[p]=n.wrap(g[p],function(){if(v&&v.apply(this,arguments),this.currentlyDragging=!1,null!=b._jsPlumb){var t=r.anchor||this.Defaults.Anchor,e=b.anchor,n=b.connections[0],o=this.makeAnchor(t,s,this),a=b.element;if(null!=o.positionFinder){var l=i.getOffset(a),u=this.getSize(a),c={left:l.left+e.x*u[0],top:l.top+e.y*u[1]},h=o.positionFinder(c,l,u,o.constructorParams);o.x=h[0],o.y=h[1]}b.setAnchor(o,!0),b.repaint(),this.repaint(b.elementId),null!=n&&this.repaint(n.targetId)}}.bind(this));var P=function(e){if(3!==e.which&&2!==e.button){s=this.getId(this.getElement(o.el));var c=this.sourceEndpointDefinitions[s][a];if(c.enabled){if(r.filter){var p=n.isString(r.filter)?ft(e,o.el,r.filter,this,r.filterExclude):r.filter(e,o.el);if(!1===p)return}var f=this.select({source:s}).length;if(c.maxConnections>=0&&f>=c.maxConnections)return d&&d({element:o.el,maxConnections:h},e),!1;var m=t.jsPlumb.getPositionOnElement(e,u,l),v={};t.jsPlumb.extend(v,c.def),v.isTemporarySource=!0,v.anchor=[m[0],m[1],0,0],v.dragOptions=g,c.def.scope&&(v.scope=c.def.scope),b=this.addEndpoint(s,v),y=!0,b.setDeleteOnEmpty(!0),c.uniqueEndpoint&&(c.endpoint?b.finalEndpoint=c.endpoint:(c.endpoint=b,b.setDeleteOnEmpty(!1)));var P=function(){i.off(b.canvas,"mouseup",P),i.off(o.el,"mouseup",P),y&&(y=!1,i.deleteEndpoint(b))};i.on(b.canvas,"mouseup",P),i.on(o.el,"mouseup",P);var _={};if(c.def.extract)for(var x in c.def.extract){var C=(e.srcElement||e.target).getAttribute(x);C&&(_[c.def.extract[x]]=C)}i.trigger(b.canvas,"mousedown",e,_),n.consume(e)}}}.bind(this);this.on(o.el,"mousedown",P),c.trigger=P,r.filter&&(n.isString(r.filter)||n.isFunction(r.filter))&&i.setDragFilter(o.el,r.filter);var _=t.jsPlumb.extend({},r.dropOptions||{});gt(o,r,_,!0,!0===r.isTarget)}.bind(this),f=e.length&&e.constructor!==String?e:[e],g=0,m=f.length;g<m;g++)p(c(f[g]));return this},this.unmakeSource=function(t,e,n){var o=c(t);i.destroyDroppable(o.el,"internal");var s=this.sourceEndpointDefinitions[o.id];if(s)for(var r in s)if(null==e||e===r){var a=s[r].trigger;a&&i.off(o.el,"mousedown",a),n||delete this.sourceEndpointDefinitions[o.id][r]}return this},this.unmakeEverySource=function(){for(var t in this.sourceEndpointDefinitions)i.unmakeSource(t,null,!0);return this.sourceEndpointDefinitions={},this};var mt=function(t,e,i){e=n.isArray(e)?e:[e];var o=X(t);i=i||"default";for(var s=0;s<e.length;s++){var r=this[e[s]][o];if(r&&r[i])return r[i].def.scope||this.Defaults.Scope}}.bind(this),vt=function(t,e,i,o){i=n.isArray(i)?i:[i];var s=X(t);o=o||"default";for(var r=0;r<i.length;r++){var a=this[i[r]][s];a&&a[o]&&(a[o].def.scope=e)}}.bind(this);this.getScope=function(t,e){return mt(t,["sourceEndpointDefinitions","targetEndpointDefinitions"])},this.getSourceScope=function(t){return mt(t,"sourceEndpointDefinitions")},this.getTargetScope=function(t){return mt(t,"targetEndpointDefinitions")},this.setScope=function(t,e,n){this.setSourceScope(t,e,n),this.setTargetScope(t,e,n)},this.setSourceScope=function(t,e,n){vt(t,e,"sourceEndpointDefinitions",n),this.setDragScope(t,e)},this.setTargetScope=function(t,e,n){vt(t,e,"targetEndpointDefinitions",n),this.setDropScope(t,e)},this.unmakeEveryTarget=function(){for(var t in this.targetEndpointDefinitions)i.unmakeTarget(t,!0);return this.targetEndpointDefinitions={},this};var bt=function(t,e,o,s,r){var a,l,u,h="source"===t?this.sourceEndpointDefinitions:this.targetEndpointDefinitions;if(r=r||"default",e.length&&!n.isString(e)){a=[];for(var d=0,p=e.length;d<p;d++)l=c(e[d]),h[l.id]&&h[l.id][r]&&(a[d]=h[l.id][r].enabled,u=s?!a[d]:o,h[l.id][r].enabled=u,i[u?"removeClass":"addClass"](l.el,"jtk-"+t+"-disabled"))}else{l=c(e);var f=l.id;h[f]&&h[f][r]&&(a=h[f][r].enabled,u=s?!a:o,h[f][r].enabled=u,i[u?"removeClass":"addClass"](l.el,"jtk-"+t+"-disabled"))}return a}.bind(this),yt=function(t,e){if(null!=t){if(n.isString(t)||!t.length)return e.apply(this,[t]);if(t.length)return e.apply(this,[t[0]])}}.bind(this);this.toggleSourceEnabled=function(t,e){return bt("source",t,null,!0,e),this.isSourceEnabled(t,e)},this.setSourceEnabled=function(t,e,n){return bt("source",t,e,null,n)},this.isSource=function(t,e){return e=e||"default",yt(t,function(t){var n=this.sourceEndpointDefinitions[c(t).id];return null!=n&&null!=n[e]}.bind(this))},this.isSourceEnabled=function(t,e){return e=e||"default",yt(t,function(t){var n=this.sourceEndpointDefinitions[c(t).id];return n&&n[e]&&!0===n[e].enabled}.bind(this))},this.toggleTargetEnabled=function(t,e){return bt("target",t,null,!0,e),this.isTargetEnabled(t,e)},this.isTarget=function(t,e){return e=e||"default",yt(t,function(t){var n=this.targetEndpointDefinitions[c(t).id];return null!=n&&null!=n[e]}.bind(this))},this.isTargetEnabled=function(t,e){return e=e||"default",yt(t,function(t){var n=this.targetEndpointDefinitions[c(t).id];return n&&n[e]&&!0===n[e].enabled}.bind(this))},this.setTargetEnabled=function(t,e,n){return bt("target",t,e,null,n)},this.ready=function(t){i.bind("ready",t)};var Pt=function(t,e){if("object"===typeof t&&t.length)for(var n=0,o=t.length;n<o;n++)e(t[n]);else e(t);return i};this.repaint=function(t,e,n){return Pt(t,(function(t){O(t,e,n)}))},this.revalidate=function(t,e,n){var o=n?t:i.getId(t);i.updateOffset({elId:o,recalc:!0,timestamp:e});var s=i.getDragManager();return s&&s.updateOffsets(o),O(t,null,e)},this.repaintEverything=function(){var t,e=jsPlumbUtil.uuid();for(t in y)i.updateOffset({elId:t,recalc:!0,timestamp:e});for(t in y)O(t,null,e);return this},this.removeAllEndpoints=function(t,e,n){n=n||[];var o=function(t){var s,r,a=c(t),l=y[a.id];if(l)for(n.push(a),s=0,r=l.length;s<r;s++)i.deleteEndpoint(l[s],!1);if(delete y[a.id],e&&a.el&&3!==a.el.nodeType&&8!==a.el.nodeType)for(s=0,r=a.el.childNodes.length;s<r;s++)o(a.el.childNodes[s])};return o(t),this};var _t=function(t,e){i.removeAllEndpoints(t.id,!0,e);for(var n=i.getDragManager(),o=function(t){n&&n.elementRemoved(t.id),i.router.elementRemoved(t.id),i.isSource(t.el)&&i.unmakeSource(t.el),i.isTarget(t.el)&&i.unmakeTarget(t.el),i.destroyDraggable(t.el),i.destroyDroppable(t.el),delete i.floatingConnections[t.id],delete _[t.id],delete x[t.id],t.el&&(i.removeElement(t.el),t.el._jsPlumb=null)},s=1;s<e.length;s++)o(e[s]);o(t)};this.remove=function(t,e){var n=c(t),o=[];return n.text&&n.el.parentNode?n.el.parentNode.removeChild(n.el):n.id&&i.batch((function(){_t(n,o)}),!0===e),i},this.empty=function(t,e){var n=[],o=function(t,e){var i=c(t);if(i.text)i.el.parentNode.removeChild(i.el);else if(i.el){while(i.el.childNodes.length>0)o(i.el.childNodes[0]);e||_t(i,n)}};return i.batch((function(){o(t,!0)}),!1===e),i},this.reset=function(t){i.silently(function(){ut=!1,i.removeAllGroups(),i.removeGroupManager(),i.deleteEveryEndpoint(),t||i.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},b.length=0,this.doReset&&this.doReset()}.bind(this))},this.destroy=function(){this.reset(),p=null,g=null};var xt=function(t){t.canvas&&t.canvas.parentNode&&t.canvas.parentNode.removeChild(t.canvas),t.cleanup(),t.destroy()};this.clear=function(){i.select().each(xt),i.selectEndpoints().each(xt),y={},P={}},this.setDefaultScope=function(t){return D=t,i},this.deriveEndpointAndAnchorSpec=function(t,e){for(var n=((e?"":"default ")+t).split(/[\s]/),o=null,s=null,r=null,a=null,l=0;l<n.length;l++){var u=i.getType(n[l],"connection");u&&(u.endpoints&&(o=u.endpoints),u.endpoint&&(s=u.endpoint),u.anchors&&(a=u.anchors),u.anchor&&(r=u.anchor))}return{endpoints:o||[s,s],anchors:a||[r,r]}},this.setId=function(t,e,i){var o;n.isString(t)?o=t:(t=this.getElement(t),o=this.getId(t));var s=this.getConnections({source:o,scope:"*"},!0),r=this.getConnections({target:o,scope:"*"},!0);e=""+e,i?t=this.getElement(e):(t=this.getElement(o),this.setAttribute(t,"id",e)),y[e]=y[o]||[];for(var a=0,l=y[e].length;a<l;a++)y[e][a].setElementId(e),y[e][a].setReferenceElement(t);delete y[o],this.sourceEndpointDefinitions[e]=this.sourceEndpointDefinitions[o],delete this.sourceEndpointDefinitions[o],this.targetEndpointDefinitions[e]=this.targetEndpointDefinitions[o],delete this.targetEndpointDefinitions[o],this.router.changeId(o,e);var u=this.getDragManager();u&&u.changeId(o,e),_[e]=_[o],delete _[o];var c=function(n,i,o){for(var s=0,r=n.length;s<r;s++)n[s].endpoints[i].setElementId(e),n[s].endpoints[i].setReferenceElement(t),n[s][o+"Id"]=e,n[s][o]=t};c(s,0,"source"),c(r,1,"target"),this.repaint(e)},this.setDebugLog=function(t){m=t},this.setSuspendDrawing=function(t,e){var n=j;return j=t,w=t?(new Date).getTime():null,e&&this.repaintEverything(),n},this.isSuspendDrawing=function(){return j},this.getSuspendedAt=function(){return w},this.batch=function(t,e){var i=this.isSuspendDrawing();i||this.setSuspendDrawing(!0);try{t()}catch(o){n.log("Function run while suspended failed",o)}i||this.setSuspendDrawing(!1,!e)},this.doWhileSuspended=this.batch,this.getCachedData=H,this.show=function(t,e){return G(t,"block",e),i},this.toggleVisible=Y,this.addListener=this.bind;var Ct=[];this.registerFloatingConnection=function(t,e,i){Ct[t.id]=e,n.addToList(y,t.id,i)},this.getFloatingConnectionFor=function(t){return Ct[t]},this.listManager=new t.jsPlumbListManager(this,this.Defaults.ListStyle)};n.extend(t.jsPlumbInstance,n.EventGenerator,{setAttribute:function(t,e,n){this.setAttribute(t,e,n)},getAttribute:function(e,n){return this.getAttribute(t.jsPlumb.getElement(e),n)},convertToFullOverlaySpec:function(t){return n.isString(t)&&(t=[t,{}]),t[1].id=t[1].id||n.uuid(),t},registerConnectionType:function(e,n){if(this._connectionTypes[e]=t.jsPlumb.extend({},n),n.overlays){for(var i={},o=0;o<n.overlays.length;o++){var s=this.convertToFullOverlaySpec(n.overlays[o]);i[s[1].id]=s}this._connectionTypes[e].overlays=i}},registerConnectionTypes:function(t){for(var e in t)this.registerConnectionType(e,t[e])},registerEndpointType:function(e,n){if(this._endpointTypes[e]=t.jsPlumb.extend({},n),n.overlays){for(var i={},o=0;o<n.overlays.length;o++){var s=this.convertToFullOverlaySpec(n.overlays[o]);i[s[1].id]=s}this._endpointTypes[e].overlays=i}},registerEndpointTypes:function(t){for(var e in t)this.registerEndpointType(e,t[e])},getType:function(t,e){return"connection"===e?this._connectionTypes[t]:this._endpointTypes[t]},setIdChanged:function(t,e){this.setId(t,e,!0)},setParent:function(t,e){var n=this.getElement(t),i=this.getId(n),o=this.getElement(e),s=this.getId(o),r=this.getDragManager();n.parentNode.removeChild(n),o.appendChild(n),r&&r.setParent(n,i,o,s)},extend:function(t,e,n){var i;if(n)for(i=0;i<n.length;i++)t[n[i]]=e[n[i]];else for(i in e)t[i]=e[i];return t},floatingConnections:{},getFloatingAnchorIndex:function(t){return t.endpoints[0].isFloating()?0:t.endpoints[1].isFloating()?1:-1},proxyConnection:function(t,e,n,i,o,s){var r,a=t.endpoints[e].elementId,l=t.endpoints[e];t.proxies=t.proxies||[],r=t.proxies[e]?t.proxies[e].ep:this.addEndpoint(n,{endpoint:o(t,e),anchor:s(t,e),parameters:{isProxyEndpoint:!0}}),r.setDeleteOnEmpty(!0),t.proxies[e]={ep:r,originalEp:l},0===e?this.router.sourceOrTargetChanged(a,i,t,n,0):this.router.sourceOrTargetChanged(a,i,t,n,1),l.detachFromConnection(t,null,!0),r.connections=[t],t.endpoints[e]=r,l.setVisible(!1),t.setVisible(!0),this.revalidate(n)},unproxyConnection:function(t,e,n){if(null!=t._jsPlumb&&null!=t.proxies&&null!=t.proxies[e]){var i=t.proxies[e].originalEp.element,o=t.proxies[e].originalEp.elementId;t.endpoints[e]=t.proxies[e].originalEp,0===e?this.router.sourceOrTargetChanged(n,o,t,i,0):this.router.sourceOrTargetChanged(n,o,t,i,1),t.proxies[e].ep.detachFromConnection(t,null),t.proxies[e].originalEp.addConnection(t),t.isVisible()&&t.proxies[e].originalEp.setVisible(!0),delete t.proxies[e]}}});var f=new p;t.jsPlumb=f,f.getInstance=function(t,e){var n=new p(t);if(e)for(var i in e)n[i]=e[i];return n.init(),n},f.each=function(t,e){if(null!=t)if("string"===typeof t)e(f.getElement(t));else if(null!=t.length)for(var n=0;n<t.length;n++)e(f.getElement(t[n]));else e(t)},e.jsPlumb=f}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i="__label",o=function(t,n){var o={cssClass:n.cssClass,labelStyle:t.labelStyle,id:i,component:t,_jsPlumb:t._jsPlumb.instance},s=e.extend(o,n);return new(e.Overlays[t._jsPlumb.instance.getRenderMode()].Label)(s)},s=function(t,i){var o=null;if(n.isArray(i)){var s=i[0],r=e.extend({component:t,_jsPlumb:t._jsPlumb.instance},i[1]);3===i.length&&e.extend(r,i[2]),o=new(e.Overlays[t._jsPlumb.instance.getRenderMode()][s])(r)}else o=i.constructor===String?new(e.Overlays[t._jsPlumb.instance.getRenderMode()][i])({component:t,_jsPlumb:t._jsPlumb.instance}):i;return o.id=o.id||n.uuid(),t.cacheTypeItem("overlay",o,o.id),t._jsPlumb.overlays[o.id]=o,o};e.OverlayCapableJsPlumbUIComponent=function(e){t.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.overlays={},this._jsPlumb.overlayPositions={},e.label&&(this.getDefaultType().overlays[i]=["Label",{label:e.label,location:e.labelLocation||this.defaultLabelLocation||.5,labelStyle:e.labelStyle||this._jsPlumb.instance.Defaults.LabelStyle,id:i}]),this.setListenerComponent=function(t){if(this._jsPlumb)for(var e in this._jsPlumb.overlays)this._jsPlumb.overlays[e].setListenerComponent(t)}},e.OverlayCapableJsPlumbUIComponent.applyType=function(t,e){if(e.overlays){var n,i={};for(n in e.overlays){var o=t._jsPlumb.overlays[e.overlays[n][1].id];if(o)o.updateFrom(e.overlays[n][1]),i[e.overlays[n][1].id]=!0,o.reattach(t._jsPlumb.instance,t);else{var s=t.getCachedTypeItem("overlay",e.overlays[n][1].id);null!=s?(s.reattach(t._jsPlumb.instance,t),s.setVisible(!0),s.updateFrom(e.overlays[n][1]),t._jsPlumb.overlays[s.id]=s):s=t.addOverlay(e.overlays[n],!0),i[s.id]=!0}}for(n in t._jsPlumb.overlays)null==i[t._jsPlumb.overlays[n].id]&&t.removeOverlay(t._jsPlumb.overlays[n].id,!0)}},n.extend(e.OverlayCapableJsPlumbUIComponent,t.jsPlumbUIComponent,{setHover:function(t,e){if(this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged())for(var n in this._jsPlumb.overlays)this._jsPlumb.overlays[n][t?"addClass":"removeClass"](this._jsPlumb.instance.hoverClass)},addOverlay:function(t,e){var i=s(this,t);if(this.getData&&"Label"===i.type&&n.isArray(t)){var o=this.getData(),r=t[1];if(o){var a=r.labelLocationAttribute||"labelLocation",l=o?o[a]:null;l&&(i.loc=l)}}return e||this.repaint(),i},getOverlay:function(t){return this._jsPlumb.overlays[t]},getOverlays:function(){return this._jsPlumb.overlays},hideOverlay:function(t){var e=this.getOverlay(t);e&&e.hide()},hideOverlays:function(){for(var t in this._jsPlumb.overlays)this._jsPlumb.overlays[t].hide()},showOverlay:function(t){var e=this.getOverlay(t);e&&e.show()},showOverlays:function(){for(var t in this._jsPlumb.overlays)this._jsPlumb.overlays[t].show()},removeAllOverlays:function(t){for(var e in this._jsPlumb.overlays)this._jsPlumb.overlays[e].cleanup&&this._jsPlumb.overlays[e].cleanup();this._jsPlumb.overlays={},this._jsPlumb.overlayPositions=null,this._jsPlumb.overlayPlacements={},t||this.repaint()},removeOverlay:function(t,e){var n=this._jsPlumb.overlays[t];n&&(n.setVisible(!1),!e&&n.cleanup&&n.cleanup(),delete this._jsPlumb.overlays[t],this._jsPlumb.overlayPositions&&delete this._jsPlumb.overlayPositions[t],this._jsPlumb.overlayPlacements&&delete this._jsPlumb.overlayPlacements[t])},removeOverlays:function(){for(var t=0,e=arguments.length;t<e;t++)this.removeOverlay(arguments[t])},moveParent:function(t){if(this.bgCanvas&&(this.bgCanvas.parentNode.removeChild(this.bgCanvas),t.appendChild(this.bgCanvas)),this.canvas&&this.canvas.parentNode)for(var e in this.canvas.parentNode.removeChild(this.canvas),t.appendChild(this.canvas),this._jsPlumb.overlays)if(this._jsPlumb.overlays[e].isAppendedAtTopLevel){var n=this._jsPlumb.overlays[e].getElement();n.parentNode.removeChild(n),t.appendChild(n)}},getLabel:function(){var t=this.getOverlay(i);return null!=t?t.getLabel():null},getLabelOverlay:function(){return this.getOverlay(i)},setLabel:function(t){var e=this.getOverlay(i);if(e)t.constructor===String||t.constructor===Function?e.setLabel(t):(t.label&&e.setLabel(t.label),t.location&&e.setLocation(t.location));else{var n=t.constructor===String||t.constructor===Function?{label:t}:t;e=o(this,n),this._jsPlumb.overlays[i]=e}this._jsPlumb.instance.isSuspendDrawing()||this.repaint()},cleanup:function(t){for(var e in this._jsPlumb.overlays)this._jsPlumb.overlays[e].cleanup(t),this._jsPlumb.overlays[e].destroy(t);t&&(this._jsPlumb.overlays={},this._jsPlumb.overlayPositions=null)},setVisible:function(t){this[t?"showOverlays":"hideOverlays"]()},setAbsoluteOverlayPosition:function(t,e){this._jsPlumb.overlayPositions[t.id]=e},getAbsoluteOverlayPosition:function(t){return this._jsPlumb.overlayPositions?this._jsPlumb.overlayPositions[t.id]:null},_clazzManip:function(t,e,n){if(!n)for(var i in this._jsPlumb.overlays)this._jsPlumb.overlays[i][t+"Class"](e)},addClass:function(t,e){this._clazzManip("add",t,e)},removeClass:function(t,e){this._clazzManip("remove",t,e)}})}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=function(t,e,n){var i=!1;return{drag:function(){if(i)return i=!1,!0;if(e.element){var o=n.getUIPosition(arguments,n.getZoom());null!=o&&n.setPosition(e.element,o),n.repaint(e.element,o),t.paint({anchorPoint:t.anchor.getCurrentLocation({element:t})})}},stopDrag:function(){i=!0}}},o=function(t,e,n,i){var o=e.createElement("div",{position:"absolute"});e.appendElement(o);var s=e.getId(o);e.setPosition(o,n),o.style.width=i[0]+"px",o.style.height=i[1]+"px",e.manage(s,o,!0),t.id=s,t.element=o},s=function(t,n,i,o,s,r,a,l){var u=new e.FloatingAnchor({reference:n,referenceCanvas:o,jsPlumbInstance:r});return a({paintStyle:t,endpoint:i,anchor:u,source:s,scope:l})},r=["connectorStyle","connectorHoverStyle","connectorOverlays","connector","connectionType","connectorClass","connectorHoverClass"],a=function(t,e){var n=0;if(null!=e)for(var i=0;i<t.connections.length;i++)if(t.connections[i].sourceId===e||t.connections[i].targetId===e){n=i;break}return t.connections[n]};e.Endpoint=function(t){var l=t._jsPlumb,u=t.newConnection,c=t.newEndpoint;this.idPrefix="_jsplumb_e_",this.defaultLabelLocation=[.5,.5],this.defaultOverlayKeys=["Overlays","EndpointOverlays"],e.OverlayCapableJsPlumbUIComponent.apply(this,arguments),this.appendToDefaultType({connectionType:t.connectionType,maxConnections:null==t.maxConnections?this._jsPlumb.instance.Defaults.MaxConnections:t.maxConnections,paintStyle:t.endpointStyle||t.paintStyle||t.style||this._jsPlumb.instance.Defaults.EndpointStyle||e.Defaults.EndpointStyle,hoverPaintStyle:t.endpointHoverStyle||t.hoverPaintStyle||this._jsPlumb.instance.Defaults.EndpointHoverStyle||e.Defaults.EndpointHoverStyle,connectorStyle:t.connectorStyle,connectorHoverStyle:t.connectorHoverStyle,connectorClass:t.connectorClass,connectorHoverClass:t.connectorHoverClass,connectorOverlays:t.connectorOverlays,connector:t.connector,connectorTooltip:t.connectorTooltip}),this._jsPlumb.enabled=!(!1===t.enabled),this._jsPlumb.visible=!0,this.element=e.getElement(t.source),this._jsPlumb.uuid=t.uuid,this._jsPlumb.floatingEndpoint=null;var h=null;this._jsPlumb.uuid&&(t.endpointsByUUID[this._jsPlumb.uuid]=this),this.elementId=t.elementId,this.dragProxy=t.dragProxy,this._jsPlumb.connectionCost=t.connectionCost,this._jsPlumb.connectionsDirected=t.connectionsDirected,this._jsPlumb.currentAnchorClass="",this._jsPlumb.events={};var d=!0===t.deleteOnEmpty;this.setDeleteOnEmpty=function(t){d=t};var p=function(){var t=l.endpointAnchorClassPrefix+"-"+this._jsPlumb.currentAnchorClass;this._jsPlumb.currentAnchorClass=this.anchor.getCssClass();var n=l.endpointAnchorClassPrefix+(this._jsPlumb.currentAnchorClass?"-"+this._jsPlumb.currentAnchorClass:"");this.removeClass(t),this.addClass(n),e.updateClasses(this.element,n,t)}.bind(this);this.prepareAnchor=function(t){var e=this._jsPlumb.instance.makeAnchor(t,this.elementId,l);return e.bind("anchorChanged",function(t){this.fire("anchorChanged",{endpoint:this,anchor:t}),p()}.bind(this)),e},this.setPreparedAnchor=function(t,e){return this._jsPlumb.instance.continuousAnchorFactory.clear(this.elementId),this.anchor=t,p(),e||this._jsPlumb.instance.repaint(this.elementId),this},this.setAnchor=function(t,e){var n=this.prepareAnchor(t);return this.setPreparedAnchor(n,e),this};var f=function(t){if(this.connections.length>0)for(var e=0;e<this.connections.length;e++)this.connections[e].setHover(t,!1);else this.setHover(t)}.bind(this);this.bind("mouseover",(function(){f(!0)})),this.bind("mouseout",(function(){f(!1)})),t._transient||this._jsPlumb.instance.router.addEndpoint(this,this.elementId),this.prepareEndpoint=function(i,o){var s,r=function(t,n){var i=l.getRenderMode();if(e.Endpoints[i][t])return new e.Endpoints[i][t](n);if(!l.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown endpoint type '"+t+"'"}},a={_jsPlumb:this._jsPlumb.instance,cssClass:t.cssClass,container:t.container,tooltip:t.tooltip,connectorTooltip:t.connectorTooltip,endpoint:this};return n.isString(i)?s=r(i,a):n.isArray(i)?(a=n.merge(i[1],a),s=r(i[0],a)):s=i.clone(),s.clone=function(){return n.isString(i)?r(i,a):n.isArray(i)?(a=n.merge(i[1],a),r(i[0],a)):void 0}.bind(this),s.typeId=o,s},this.setEndpoint=function(t,e){var n=this.prepareEndpoint(t);this.setPreparedEndpoint(n,!0)},this.setPreparedEndpoint=function(t,e){null!=this.endpoint&&(this.endpoint.cleanup(),this.endpoint.destroy()),this.endpoint=t,this.type=this.endpoint.type,this.canvas=this.endpoint.canvas},e.extend(this,t,r),this.isSource=t.isSource||!1,this.isTemporarySource=t.isTemporarySource||!1,this.isTarget=t.isTarget||!1,this.connections=t.connections||[],this.connectorPointerEvents=t["connector-pointer-events"],this.scope=t.scope||l.getDefaultScope(),this.timestamp=null,this.reattachConnections=t.reattach||l.Defaults.ReattachConnections,this.connectionsDetachable=l.Defaults.ConnectionsDetachable,!1!==t.connectionsDetachable&&!1!==t.detachable||(this.connectionsDetachable=!1),this.dragAllowedWhenFull=!1!==t.dragAllowedWhenFull,t.onMaxConnections&&this.bind("maxConnections",t.onMaxConnections),this.addConnection=function(t){this.connections.push(t),this[(this.connections.length>0?"add":"remove")+"Class"](l.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](l.endpointFullClass)},this.detachFromConnection=function(t,e,n){e=null==e?this.connections.indexOf(t):e,e>=0&&(this.connections.splice(e,1),this[(this.connections.length>0?"add":"remove")+"Class"](l.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](l.endpointFullClass)),!n&&d&&0===this.connections.length&&l.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:!0!==n})},this.deleteEveryConnection=function(t){for(var e=this.connections.length,n=0;n<e;n++)l.deleteConnection(this.connections[0],t)},this.detachFrom=function(t,e,n){for(var i=[],o=0;o<this.connections.length;o++)this.connections[o].endpoints[1]!==t&&this.connections[o].endpoints[0]!==t||i.push(this.connections[o]);for(var s=0,r=i.length;s<r;s++)l.deleteConnection(i[0]);return this},this.getElement=function(){return this.element},this.setElement=function(i){var o=this._jsPlumb.instance.getId(i),s=this.elementId;return n.removeWithFunction(t.endpointsByElement[this.elementId],function(t){return t.id===this.id}.bind(this)),this.element=e.getElement(i),this.elementId=l.getId(this.element),l.router.rehomeEndpoint(this,s,this.element),l.dragManager.endpointAdded(this.element),n.addToList(t.endpointsByElement,o,this),this},this.makeInPlaceCopy=function(){var e=this.anchor.getCurrentLocation({element:this}),n=this.anchor.getOrientation(this),i=this.anchor.getCssClass(),o={bind:function(){},compute:function(){return[e[0],e[1]]},getCurrentLocation:function(){return[e[0],e[1]]},getOrientation:function(){return n},getCssClass:function(){return i}};return c({dropOptions:t.dropOptions,anchor:o,source:this.element,paintStyle:this.getPaintStyle(),endpoint:t.hideOnDrag?"Blank":this.endpoint,_transient:!0,scope:this.scope,reference:this})},this.connectorSelector=function(){return this.connections[0]},this.setStyle=this.setPaintStyle,this.paint=function(t){t=t||{};var e=t.timestamp,n=!(!1===t.recalc);if(!e||this.timestamp!==e){var i=l.updateOffset({elId:this.elementId,timestamp:e}),o=t.offset?t.offset.o:i.o;if(null!=o){var s=t.anchorPoint,r=t.connectorPaintStyle;if(null==s){var u=t.dimensions||i.s,c={xy:[o.left,o.top],wh:u,element:this,timestamp:e};if(n&&this.anchor.isDynamic&&this.connections.length>0){var h=a(this,t.elementWithPrecedence),d=h.endpoints[0]===this?1:0,p=0===d?h.sourceId:h.targetId,f=l.getCachedData(p),g=f.o,m=f.s;c.index=0===d?1:0,c.connection=h,c.txy=[g.left,g.top],c.twh=m,c.tElement=h.endpoints[d],c.tRotation=l.getRotation(p)}else this.connections.length>0&&(c.connection=this.connections[0]);c.rotation=l.getRotation(this.elementId),s=this.anchor.compute(c)}for(var v in this.endpoint.compute(s,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,r||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=e,this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(v)){var b=this._jsPlumb.overlays[v];b.isVisible()&&(this._jsPlumb.overlayPlacements[v]=b.draw(this.endpoint,this._jsPlumb.paintStyleInUse),b.paint(this._jsPlumb.overlayPlacements[v]))}}}},this.getTypeDescriptor=function(){return"endpoint"},this.isVisible=function(){return this._jsPlumb.visible},this.repaint=this.paint;var g=!1;this.initDraggable=function(){if(!g&&e.isDragSupported(this.element)){var r,a={id:null,element:null},d=null,p=!1,f=null,m=i(this,a,l),v=t.dragOptions||{},b={},y=e.dragEvents.start,P=e.dragEvents.stop,_=e.dragEvents.drag,x=e.dragEvents.beforeStart,C=function(t){r=t.e.payload||{}},E=function(n){d=this.connectorSelector();var i=!0;this.isEnabled()||(i=!1),null!=d||this.isSource||this.isTemporarySource||(i=!1),!this.isSource||!this.isFull()||null!=d&&this.dragAllowedWhenFull||(i=!1),null==d||d.isDetachable(this)||(this.isFull()?i=!1:d=null);var h=l.checkCondition(null==d?"beforeDrag":"beforeStartDetach",{endpoint:this,source:this.element,sourceId:this.elementId,connection:d});if(!1===h?i=!1:"object"===typeof h?e.extend(h,r||{}):h=r||{},!1===i)return l.stopDrag&&l.stopDrag(this.canvas),m.stopDrag(),!1;for(var g=0;g<this.connections.length;g++)this.connections[g].setHover(!1);this.addClass("endpointDrag"),l.setConnectionBeingDragged(!0),d&&!this.isFull()&&this.isSource&&(d=null),l.updateOffset({elId:this.elementId});var v=this._jsPlumb.instance.getOffset(this.canvas),b=this.canvas,y=this._jsPlumb.instance.getSize(this.canvas);o(a,l,v,y),l.setAttributes(this.canvas,{dragId:a.id,elId:this.elementId});var P=this.dragProxy||this.endpoint;if(null==this.dragProxy&&null!=this.connectionType){var _=this._jsPlumb.instance.deriveEndpointAndAnchorSpec(this.connectionType);_.endpoints[1]&&(P=_.endpoints[1])}var x=this._jsPlumb.instance.makeAnchor("Center");x.isFloating=!0,this._jsPlumb.floatingEndpoint=s(this.getPaintStyle(),x,P,this.canvas,a.element,l,c,this.scope);var C=this._jsPlumb.floatingEndpoint.anchor;if(null==d)this.setHover(!1,!1),d=u({sourceEndpoint:this,targetEndpoint:this._jsPlumb.floatingEndpoint,source:this.element,target:a.element,anchors:[this.anchor,this._jsPlumb.floatingEndpoint.anchor],paintStyle:t.connectorStyle,hoverPaintStyle:t.connectorHoverStyle,connector:t.connector,overlays:t.connectorOverlays,type:this.connectionType,cssClass:this.connectorClass,hoverClass:this.connectorHoverClass,scope:t.scope,data:h}),d.pending=!0,d.addClass(l.draggingClass),this._jsPlumb.floatingEndpoint.addClass(l.draggingClass),this._jsPlumb.floatingEndpoint.anchor=C,l.fire("connectionDrag",d),l.router.newConnection(d);else{p=!0,d.setHover(!1);var E=d.endpoints[0].id===this.id?0:1;this.detachFromConnection(d,null,!0);var S=l.getDragScope(b);l.setAttribute(this.canvas,"originalScope",S),l.fire("connectionDrag",d),0===E?(f=[d.source,d.sourceId,b,S],l.router.sourceOrTargetChanged(d.endpoints[E].elementId,a.id,d,a.element,0)):(f=[d.target,d.targetId,b,S],l.router.sourceOrTargetChanged(d.endpoints[E].elementId,a.id,d,a.element,1)),d.suspendedEndpoint=d.endpoints[E],d.suspendedElement=d.endpoints[E].getElement(),d.suspendedElementId=d.endpoints[E].elementId,d.suspendedElementType=0===E?"source":"target",d.suspendedEndpoint.setHover(!1),this._jsPlumb.floatingEndpoint.referenceEndpoint=d.suspendedEndpoint,d.endpoints[E]=this._jsPlumb.floatingEndpoint,d.addClass(l.draggingClass),this._jsPlumb.floatingEndpoint.addClass(l.draggingClass)}l.registerFloatingConnection(a,d,this._jsPlumb.floatingEndpoint),l.currentlyDragging=!0}.bind(this),S=function(){if(l.setConnectionBeingDragged(!1),d&&null!=d.endpoints){var t=l.getDropEvent(arguments),e=l.getFloatingAnchorIndex(d);if(d.endpoints[0===e?1:0].anchor.locked=!1,d.removeClass(l.draggingClass),this._jsPlumb&&(d.deleteConnectionNow||d.endpoints[e]===this._jsPlumb.floatingEndpoint)&&p&&d.suspendedEndpoint){0===e?(d.floatingElement=d.source,d.floatingId=d.sourceId,d.floatingEndpoint=d.endpoints[0],d.floatingIndex=0,d.source=f[0],d.sourceId=f[1]):(d.floatingElement=d.target,d.floatingId=d.targetId,d.floatingEndpoint=d.endpoints[1],d.floatingIndex=1,d.target=f[0],d.targetId=f[1]);var n=this._jsPlumb.floatingEndpoint;l.setDragScope(f[2],f[3]),d.endpoints[e]=d.suspendedEndpoint,d.isReattach()||d._forceReattach||d._forceDetach||!l.deleteConnection(d,{originalEvent:t})?(d.setHover(!1),d._forceDetach=null,d._forceReattach=null,this._jsPlumb.floatingEndpoint.detachFromConnection(d),d.suspendedEndpoint.addConnection(d),1===e?l.router.sourceOrTargetChanged(d.floatingId,d.targetId,d,d.target,e):l.router.sourceOrTargetChanged(d.floatingId,d.sourceId,d,d.source,e),l.repaint(f[1])):l.deleteObject({endpoint:n})}this.deleteAfterDragStop?l.deleteObject({endpoint:this}):this._jsPlumb&&this.paint({recalc:!1}),l.fire("connectionDragStop",d,t),d.pending&&l.fire("connectionAborted",d,t),l.currentlyDragging=!1,d.suspendedElement=null,d.suspendedEndpoint=null,d=null}a&&a.element&&l.remove(a.element,!1,!1),h&&l.deleteObject({endpoint:h}),this._jsPlumb&&(this.canvas.style.visibility="visible",this.anchor.locked=!1,this._jsPlumb.floatingEndpoint=null)}.bind(this);v=e.extend(b,v),v.scope=this.scope||v.scope,v[x]=n.wrap(v[x],C,!1),v[y]=n.wrap(v[y],E,!1),v[_]=n.wrap(v[_],m.drag),v[P]=n.wrap(v[P],S),v.multipleDrop=!1,v.canDrag=function(){return this.isSource||this.isTemporarySource||this.connections.length>0&&!1!==this.connectionsDetachable}.bind(this),l.initDraggable(this.canvas,v,"internal"),this.canvas._jsPlumbRelatedElement=this.element,g=!0}};var m=t.endpoint||this._jsPlumb.instance.Defaults.Endpoint||e.Defaults.Endpoint;this.setEndpoint(m,!0);var v=t.anchor?t.anchor:t.anchors?t.anchors:l.Defaults.Anchor||"Top";this.setAnchor(v,!0);var b=["default",t.type||""].join(" ");this.addType(b,t.data,!0),this.canvas=this.endpoint.canvas,this.canvas._jsPlumb=this,this.initDraggable();var y=function(i,o,s,r){if(e.isDropSupported(this.element)){var a=t.dropOptions||l.Defaults.DropOptions||e.Defaults.DropOptions;a=e.extend({},a),a.scope=a.scope||this.scope;var u=e.dragEvents.drop,c=e.dragEvents.over,h=e.dragEvents.out,d=this,p=l.EndpointDropHandler({getEndpoint:function(){return d},jsPlumb:l,enabled:function(){return null==s||s.isEnabled()},isFull:function(){return s.isFull()},element:this.element,elementId:this.elementId,isSource:this.isSource,isTarget:this.isTarget,addClass:function(t){d.addClass(t)},removeClass:function(t){d.removeClass(t)},isDropAllowed:function(){return d.isDropAllowed.apply(d,arguments)},reference:r,isRedrop:function(t,e){return t.suspendedEndpoint&&e.reference&&t.suspendedEndpoint.id===e.reference.id}});a[u]=n.wrap(a[u],p,!0),a[c]=n.wrap(a[c],function(){var t=e.getDragObject(arguments),n=l.getAttribute(e.getElement(t),"dragId"),i=l.getFloatingConnectionFor(n);if(null!=i){var o=l.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;if(s){var r=l.checkCondition("checkDropAllowed",{sourceEndpoint:i.endpoints[o],targetEndpoint:this,connection:i});this[(r?"add":"remove")+"Class"](l.endpointDropAllowedClass),this[(r?"remove":"add")+"Class"](l.endpointDropForbiddenClass),i.endpoints[o].anchor.over(this.anchor,this)}}}.bind(this)),a[h]=n.wrap(a[h],function(){var t=e.getDragObject(arguments),n=null==t?null:l.getAttribute(e.getElement(t),"dragId"),i=n?l.getFloatingConnectionFor(n):null;if(null!=i){var o=l.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;s&&(this.removeClass(l.endpointDropAllowedClass),this.removeClass(l.endpointDropForbiddenClass),i.endpoints[o].anchor.out())}}.bind(this)),l.initDroppable(i,a,"internal",o)}}.bind(this);return this.anchor.isFloating||y(this.canvas,!(t._transient||this.anchor.isFloating),this,t.reference),this},n.extend(e.Endpoint,e.OverlayCapableJsPlumbUIComponent,{setVisible:function(t,e,n){if(this._jsPlumb.visible=t,this.canvas&&(this.canvas.style.display=t?"block":"none"),this[t?"showOverlays":"hideOverlays"](),!e)for(var i=0;i<this.connections.length;i++)if(this.connections[i].setVisible(t),!n){var o=this===this.connections[i].endpoints[0]?1:0;1===this.connections[i].endpoints[o].connections.length&&this.connections[i].endpoints[o].setVisible(t,!0,!0)}},getAttachedElements:function(){return this.connections},applyType:function(t,n){this.setPaintStyle(t.endpointStyle||t.paintStyle,n),this.setHoverPaintStyle(t.endpointHoverStyle||t.hoverPaintStyle,n),null!=t.maxConnections&&(this._jsPlumb.maxConnections=t.maxConnections),t.scope&&(this.scope=t.scope),e.extend(this,t,r),null!=t.cssClass&&this.canvas&&this._jsPlumb.instance.addClass(this.canvas,t.cssClass),e.OverlayCapableJsPlumbUIComponent.applyType(this,t)},isEnabled:function(){return this._jsPlumb.enabled},setEnabled:function(t){this._jsPlumb.enabled=t},cleanup:function(){var t=this._jsPlumb.instance.endpointAnchorClassPrefix+(this._jsPlumb.currentAnchorClass?"-"+this._jsPlumb.currentAnchorClass:"");e.removeClass(this.element,t),this.anchor=null,this.endpoint.cleanup(!0),this.endpoint.destroy(),this.endpoint=null,this._jsPlumb.instance.destroyDraggable(this.canvas,"internal"),this._jsPlumb.instance.destroyDroppable(this.canvas,"internal")},setHover:function(t){this.endpoint&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&this.endpoint.setHover(t)},isFull:function(){return 0===this._jsPlumb.maxConnections||!(this.isFloating()||this._jsPlumb.maxConnections<0||this.connections.length<this._jsPlumb.maxConnections)},isFloating:function(){return null!=this.anchor&&this.anchor.isFloating},isConnectedTo:function(t){var e=!1;if(t)for(var n=0;n<this.connections.length;n++)if(this.connections[n].endpoints[1]===t||this.connections[n].endpoints[0]===t){e=!0;break}return e},getConnectionCost:function(){return this._jsPlumb.connectionCost},setConnectionCost:function(t){this._jsPlumb.connectionCost=t},areConnectionsDirected:function(){return this._jsPlumb.connectionsDirected},setConnectionsDirected:function(t){this._jsPlumb.connectionsDirected=t},setElementId:function(t){this.elementId=t,this.anchor.elementId=t},setReferenceElement:function(t){this.element=e.getElement(t)},setDragAllowedWhenFull:function(t){this.dragAllowedWhenFull=t},equals:function(t){return this.anchor.equals(t.anchor)},getUuid:function(){return this._jsPlumb.uuid},computeAnchor:function(t){return this.anchor.compute(t)}}),t.jsPlumbInstance.prototype.EndpointDropHandler=function(t){return function(e){var i=t.jsPlumb;t.removeClass(i.endpointDropAllowedClass),t.removeClass(i.endpointDropForbiddenClass);var o=i.getDropEvent(arguments),s=i.getDragObject(arguments),r=i.getAttribute(s,"dragId"),a=(i.getAttribute(s,"elId"),i.getAttribute(s,"originalScope")),l=i.getFloatingConnectionFor(r);if(null!=l){var u=null!=l.suspendedEndpoint;if(!u||null!=l.suspendedEndpoint._jsPlumb){var c=t.getEndpoint(l);if(null!=c){if(t.isRedrop(l,t))return l._forceReattach=!0,l.setHover(!1),void(t.maybeCleanup&&t.maybeCleanup(c));var h=i.getFloatingAnchorIndex(l);if(0===h&&!t.isSource||1===h&&!t.isTarget)t.maybeCleanup&&t.maybeCleanup(c);else{t.onDrop&&t.onDrop(l),a&&i.setDragScope(s,a);var d=t.isFull(e);if(d&&c.fire("maxConnections",{endpoint:this,connection:l,maxConnections:c._jsPlumb.maxConnections},o),!d&&t.enabled()){var p=!0;0===h?(l.floatingElement=l.source,l.floatingId=l.sourceId,l.floatingEndpoint=l.endpoints[0],l.floatingIndex=0,l.source=t.element,l.sourceId=i.getId(t.element)):(l.floatingElement=l.target,l.floatingId=l.targetId,l.floatingEndpoint=l.endpoints[1],l.floatingIndex=1,l.target=t.element,l.targetId=i.getId(t.element)),u&&l.suspendedEndpoint.id!==c.id&&(l.isDetachAllowed(l)&&l.endpoints[h].isDetachAllowed(l)&&l.suspendedEndpoint.isDetachAllowed(l)&&i.checkCondition("beforeDetach",l)||(p=!1));var f=function(e){l.endpoints[h].detachFromConnection(l),l.suspendedEndpoint&&l.suspendedEndpoint.detachFromConnection(l),l.endpoints[h]=c,c.addConnection(l);var s=c.getParameters();for(var r in s)l.setParameter(r,s[r]);if(u){var a=l.suspendedEndpoint.elementId;i.fireMoveEvent({index:h,originalSourceId:0===h?a:l.sourceId,newSourceId:0===h?c.elementId:l.sourceId,originalTargetId:1===h?a:l.targetId,newTargetId:1===h?c.elementId:l.targetId,originalSourceEndpoint:0===h?l.suspendedEndpoint:l.endpoints[0],newSourceEndpoint:0===h?c:l.endpoints[0],originalTargetEndpoint:1===h?l.suspendedEndpoint:l.endpoints[1],newTargetEndpoint:1===h?c:l.endpoints[1],connection:l},o)}else s.draggable&&i.initDraggable(this.element,t.dragOptions,"internal",i);if(1===h?i.router.sourceOrTargetChanged(l.floatingId,l.targetId,l,l.target,1):i.router.sourceOrTargetChanged(l.floatingId,l.sourceId,l,l.source,0),l.endpoints[0].finalEndpoint){var d=l.endpoints[0];d.detachFromConnection(l),l.endpoints[0]=l.endpoints[0].finalEndpoint,l.endpoints[0].addConnection(l)}n.isObject(e)&&l.mergeData(e),i.finaliseConnection(l,null,o,!1),l.setHover(!1),i.revalidate(l.endpoints[0].element)}.bind(this),g=function(){l.suspendedEndpoint&&(l.endpoints[h]=l.suspendedEndpoint,l.setHover(!1),l._forceDetach=!0,0===h?(l.source=l.suspendedEndpoint.element,l.sourceId=l.suspendedEndpoint.elementId):(l.target=l.suspendedEndpoint.element,l.targetId=l.suspendedEndpoint.elementId),l.suspendedEndpoint.addConnection(l),1===h?i.router.sourceOrTargetChanged(l.floatingId,l.targetId,l,l.target,1):i.router.sourceOrTargetChanged(l.floatingId,l.sourceId,l,l.source,0),i.repaint(l.sourceId),l._forceDetach=!1)};if(p=p&&t.isDropAllowed(l.sourceId,l.targetId,l.scope,l,c),p)return f(p),!0;g()}t.maybeCleanup&&t.maybeCleanup(c),i.currentlyDragging=!1}}}}}}}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=function(t,i,o,s,r){if(e.Connectors[i]=e.Connectors[i]||{},null==e.Connectors[i][o]){if(null==e.Connectors[o]){if(t.Defaults.DoNotThrowErrors)return null;throw new TypeError("jsPlumb: unknown connector type '"+o+"'")}e.Connectors[i][o]=function(){e.Connectors[o].apply(this,arguments),e.ConnectorRenderers[i].apply(this,arguments)},n.extend(e.Connectors[i][o],[e.Connectors[o],e.ConnectorRenderers[i]])}return new e.Connectors[i][o](s,r)},o=function(t,e,n){return t?n.makeAnchor(t,e,n):null},s=function(t,e,i,o){null!=e&&(e._jsPlumbConnections=e._jsPlumbConnections||{},o?delete e._jsPlumbConnections[t.id]:e._jsPlumbConnections[t.id]=!0,n.isEmpty(e._jsPlumbConnections)?i.removeClass(e,i.connectedClass):i.addClass(e,i.connectedClass))};e.Connection=function(t){var i=t.newEndpoint;this.id=t.id,this.connector=null,this.idPrefix="_jsplumb_c_",this.defaultLabelLocation=.5,this.defaultOverlayKeys=["Overlays","ConnectionOverlays"],this.previousConnection=t.previousConnection,this.source=e.getElement(t.source),this.target=e.getElement(t.target),e.OverlayCapableJsPlumbUIComponent.apply(this,arguments),t.sourceEndpoint?(this.source=t.sourceEndpoint.getElement(),this.sourceId=t.sourceEndpoint.elementId):this.sourceId=this._jsPlumb.instance.getId(this.source),t.targetEndpoint?(this.target=t.targetEndpoint.getElement(),this.targetId=t.targetEndpoint.elementId):this.targetId=this._jsPlumb.instance.getId(this.target),this.scope=t.scope,this.endpoints=[],this.endpointStyles=[];var o=this._jsPlumb.instance;o.manage(this.sourceId,this.source),o.manage(this.targetId,this.target),this._jsPlumb.visible=!0,this._jsPlumb.params={cssClass:t.cssClass,container:t.container,"pointer-events":t["pointer-events"],editorParams:t.editorParams,overlays:t.overlays},this._jsPlumb.lastPaintedAt=null,this.bind("mouseover",function(){this.setHover(!0)}.bind(this)),this.bind("mouseout",function(){this.setHover(!1)}.bind(this)),this.makeEndpoint=function(e,n,s,r,a){return s=s||this._jsPlumb.instance.getId(n),this.prepareEndpoint(o,i,this,r,e?0:1,t,n,s,a)},t.type&&(t.endpoints=t.endpoints||this._jsPlumb.instance.deriveEndpointAndAnchorSpec(t.type).endpoints);var s=this.makeEndpoint(!0,this.source,this.sourceId,t.sourceEndpoint),r=this.makeEndpoint(!1,this.target,this.targetId,t.targetEndpoint);s&&n.addToList(t.endpointsByElement,this.sourceId,s),r&&n.addToList(t.endpointsByElement,this.targetId,r),this.scope||(this.scope=this.endpoints[0].scope),null!=t.deleteEndpointsOnEmpty&&(this.endpoints[0].setDeleteOnEmpty(t.deleteEndpointsOnEmpty),this.endpoints[1].setDeleteOnEmpty(t.deleteEndpointsOnEmpty));var a=o.Defaults.ConnectionsDetachable;!1===t.detachable&&(a=!1),!1===this.endpoints[0].connectionsDetachable&&(a=!1),!1===this.endpoints[1].connectionsDetachable&&(a=!1);var l=t.reattach||this.endpoints[0].reattachConnections||this.endpoints[1].reattachConnections||o.Defaults.ReattachConnections;this.appendToDefaultType({detachable:a,reattach:l,paintStyle:this.endpoints[0].connectorStyle||this.endpoints[1].connectorStyle||t.paintStyle||o.Defaults.PaintStyle||e.Defaults.PaintStyle,hoverPaintStyle:this.endpoints[0].connectorHoverStyle||this.endpoints[1].connectorHoverStyle||t.hoverPaintStyle||o.Defaults.HoverPaintStyle||e.Defaults.HoverPaintStyle});var u=o.getSuspendedAt();if(!o.isSuspendDrawing()){var c=o.getCachedData(this.sourceId),h=c.o,d=c.s,p=o.getCachedData(this.targetId),f=p.o,g=p.s,m=u||jsPlumbUtil.uuid(),v=this.endpoints[0].anchor.compute({xy:[h.left,h.top],wh:d,element:this.endpoints[0],elementId:this.endpoints[0].elementId,txy:[f.left,f.top],twh:g,tElement:this.endpoints[1],timestamp:m,rotation:o.getRotation(this.endpoints[0].elementId)});this.endpoints[0].paint({anchorLoc:v,timestamp:m}),v=this.endpoints[1].anchor.compute({xy:[f.left,f.top],wh:g,element:this.endpoints[1],elementId:this.endpoints[1].elementId,txy:[h.left,h.top],twh:d,tElement:this.endpoints[0],timestamp:m,rotation:o.getRotation(this.endpoints[1].elementId)}),this.endpoints[1].paint({anchorLoc:v,timestamp:m})}this.getTypeDescriptor=function(){return"connection"},this.getAttachedElements=function(){return this.endpoints},this.isDetachable=function(t){return!1!==this._jsPlumb.detachable&&(null!=t?!0===t.connectionsDetachable:!0===this._jsPlumb.detachable)},this.setDetachable=function(t){this._jsPlumb.detachable=!0===t},this.isReattach=function(){return!0===this._jsPlumb.reattach||!0===this.endpoints[0].reattachConnections||!0===this.endpoints[1].reattachConnections},this.setReattach=function(t){this._jsPlumb.reattach=!0===t},this._jsPlumb.cost=t.cost||this.endpoints[0].getConnectionCost(),this._jsPlumb.directed=t.directed,null==t.directed&&(this._jsPlumb.directed=this.endpoints[0].areConnectionsDirected());var b=e.extend({},this.endpoints[1].getParameters());e.extend(b,this.endpoints[0].getParameters()),e.extend(b,this.getParameters()),this.setParameters(b),this.setConnector(this.endpoints[0].connector||this.endpoints[1].connector||t.connector||o.Defaults.Connector||e.Defaults.Connector,!0);var y=null!=t.data&&n.isObject(t.data)?t.data:{};this.getData=function(){return y},this.setData=function(t){y=t||{}},this.mergeData=function(t){y=e.extend(y,t)};var P=["default",this.endpoints[0].connectionType,this.endpoints[1].connectionType,t.type].join(" ");/[^\s]/.test(P)&&this.addType(P,t.data,!0),this.updateConnectedClass()},n.extend(e.Connection,e.OverlayCapableJsPlumbUIComponent,{applyType:function(t,n,i){var o=null;null!=t.connector&&(o=this.getCachedTypeItem("connector",i.connector),null==o&&(o=this.prepareConnector(t.connector,i.connector),this.cacheTypeItem("connector",o,i.connector)),this.setPreparedConnector(o)),null!=t.detachable&&this.setDetachable(t.detachable),null!=t.reattach&&this.setReattach(t.reattach),t.scope&&(this.scope=t.scope),null!=t.cssClass&&this.canvas&&this._jsPlumb.instance.addClass(this.canvas,t.cssClass);var s=null;t.anchor?(s=this.getCachedTypeItem("anchors",i.anchor),null==s&&(s=[this._jsPlumb.instance.makeAnchor(t.anchor),this._jsPlumb.instance.makeAnchor(t.anchor)],this.cacheTypeItem("anchors",s,i.anchor))):t.anchors&&(s=this.getCachedTypeItem("anchors",i.anchors),null==s&&(s=[this._jsPlumb.instance.makeAnchor(t.anchors[0]),this._jsPlumb.instance.makeAnchor(t.anchors[1])],this.cacheTypeItem("anchors",s,i.anchors))),null!=s&&(this.endpoints[0].anchor=s[0],this.endpoints[1].anchor=s[1],this.endpoints[1].anchor.isDynamic&&this._jsPlumb.instance.repaint(this.endpoints[1].elementId)),e.OverlayCapableJsPlumbUIComponent.applyType(this,t)},addClass:function(t,e){e&&(this.endpoints[0].addClass(t),this.endpoints[1].addClass(t),this.suspendedEndpoint&&this.suspendedEndpoint.addClass(t)),this.connector&&this.connector.addClass(t)},removeClass:function(t,e){e&&(this.endpoints[0].removeClass(t),this.endpoints[1].removeClass(t),this.suspendedEndpoint&&this.suspendedEndpoint.removeClass(t)),this.connector&&this.connector.removeClass(t)},isVisible:function(){return this._jsPlumb.visible},setVisible:function(t){this._jsPlumb.visible=t,this.connector&&this.connector.setVisible(t),this.repaint()},cleanup:function(){this.updateConnectedClass(!0),this.endpoints=null,this.source=null,this.target=null,null!=this.connector&&(this.connector.cleanup(!0),this.connector.destroy(!0)),this.connector=null},updateConnectedClass:function(t){this._jsPlumb&&(s(this,this.source,this._jsPlumb.instance,t),s(this,this.target,this._jsPlumb.instance,t))},setHover:function(e){this.connector&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&(this.connector.setHover(e),t.jsPlumb[e?"addClass":"removeClass"](this.source,this._jsPlumb.instance.hoverSourceClass),t.jsPlumb[e?"addClass":"removeClass"](this.target,this._jsPlumb.instance.hoverTargetClass))},getUuids:function(){return[this.endpoints[0].getUuid(),this.endpoints[1].getUuid()]},getCost:function(){return this._jsPlumb?this._jsPlumb.cost:-1/0},setCost:function(t){this._jsPlumb.cost=t},isDirected:function(){return this._jsPlumb.directed},getConnector:function(){return this.connector},prepareConnector:function(t,e){var o,s={_jsPlumb:this._jsPlumb.instance,cssClass:this._jsPlumb.params.cssClass,container:this._jsPlumb.params.container,"pointer-events":this._jsPlumb.params["pointer-events"]},r=this._jsPlumb.instance.getRenderMode();return n.isString(t)?o=i(this._jsPlumb.instance,r,t,s,this):n.isArray(t)&&(o=1===t.length?i(this._jsPlumb.instance,r,t[0],s,this):i(this._jsPlumb.instance,r,t[0],n.merge(t[1],s),this)),null!=e&&(o.typeId=e),o},setPreparedConnector:function(t,e,n,i){if(this.connector!==t){var o,s="";if(null!=this.connector&&(o=this.connector,s=o.getClass(),this.connector.cleanup(),this.connector.destroy()),this.connector=t,i&&this.cacheTypeItem("connector",t,i),this.canvas=this.connector.canvas,this.bgCanvas=this.connector.bgCanvas,this.connector.reattach(this._jsPlumb.instance),this.addClass(s),this.canvas&&(this.canvas._jsPlumb=this),this.bgCanvas&&(this.bgCanvas._jsPlumb=this),null!=o)for(var r=this.getOverlays(),a=0;a<r.length;a++)r[a].transfer&&r[a].transfer(this.connector);n||this.setListenerComponent(this.connector),e||this.repaint()}},setConnector:function(t,e,n,i){var o=this.prepareConnector(t,i);this.setPreparedConnector(o,e,n,i)},paint:function(t){if(!this._jsPlumb.instance.isSuspendDrawing()&&this._jsPlumb.visible){t=t||{};var e=t.timestamp,n=!1,i=n?this.sourceId:this.targetId,o=n?this.targetId:this.sourceId,s=n?0:1,r=n?1:0;if(null==e||e!==this._jsPlumb.lastPaintedAt){var a=this._jsPlumb.instance.updateOffset({elId:o}).o,l=this._jsPlumb.instance.updateOffset({elId:i}).o,u=this.endpoints[r],c=this.endpoints[s],h=u.anchor.getCurrentLocation({xy:[a.left,a.top],wh:[a.width,a.height],element:u,timestamp:e,rotation:this._jsPlumb.instance.getRotation(this.sourceId)}),d=c.anchor.getCurrentLocation({xy:[l.left,l.top],wh:[l.width,l.height],element:c,timestamp:e,rotation:this._jsPlumb.instance.getRotation(this.targetId)});this.connector.resetBounds(),this.connector.compute({sourcePos:h,targetPos:d,sourceOrientation:u.anchor.getOrientation(u),targetOrientation:c.anchor.getOrientation(c),sourceEndpoint:this.endpoints[r],targetEndpoint:this.endpoints[s],"stroke-width":this._jsPlumb.paintStyleInUse.strokeWidth,sourceInfo:a,targetInfo:l});var p={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};for(var f in this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(f)){var g=this._jsPlumb.overlays[f];g.isVisible()&&(this._jsPlumb.overlayPlacements[f]=g.draw(this.connector,this._jsPlumb.paintStyleInUse,this.getAbsoluteOverlayPosition(g)),p.minX=Math.min(p.minX,this._jsPlumb.overlayPlacements[f].minX),p.maxX=Math.max(p.maxX,this._jsPlumb.overlayPlacements[f].maxX),p.minY=Math.min(p.minY,this._jsPlumb.overlayPlacements[f].minY),p.maxY=Math.max(p.maxY,this._jsPlumb.overlayPlacements[f].maxY))}var m=parseFloat(this._jsPlumb.paintStyleInUse.strokeWidth||1)/2,v=parseFloat(this._jsPlumb.paintStyleInUse.strokeWidth||0),b={xmin:Math.min(this.connector.bounds.minX-(m+v),p.minX),ymin:Math.min(this.connector.bounds.minY-(m+v),p.minY),xmax:Math.max(this.connector.bounds.maxX+(m+v),p.maxX),ymax:Math.max(this.connector.bounds.maxY+(m+v),p.maxY)};for(var y in this.connector.paintExtents=b,this.connector.paint(this._jsPlumb.paintStyleInUse,null,b),this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(y)){var P=this._jsPlumb.overlays[y];P.isVisible()&&P.paint(this._jsPlumb.overlayPlacements[y],b)}}this._jsPlumb.lastPaintedAt=e}},repaint:function(t){var e=jsPlumb.extend(t||{},{});e.elId=this.sourceId,this.paint(e)},prepareEndpoint:function(t,n,i,s,r,a,l,u,c){var h;if(s)i.endpoints[r]=s,s.addConnection(i);else{a.endpoints||(a.endpoints=[null,null]);var d=c||a.endpoints[r]||a.endpoint||t.Defaults.Endpoints[r]||e.Defaults.Endpoints[r]||t.Defaults.Endpoint||e.Defaults.Endpoint;a.endpointStyles||(a.endpointStyles=[null,null]),a.endpointHoverStyles||(a.endpointHoverStyles=[null,null]);var p=a.endpointStyles[r]||a.endpointStyle||t.Defaults.EndpointStyles[r]||e.Defaults.EndpointStyles[r]||t.Defaults.EndpointStyle||e.Defaults.EndpointStyle;null==p.fill&&null!=a.paintStyle&&(p.fill=a.paintStyle.stroke),null==p.outlineStroke&&null!=a.paintStyle&&(p.outlineStroke=a.paintStyle.outlineStroke),null==p.outlineWidth&&null!=a.paintStyle&&(p.outlineWidth=a.paintStyle.outlineWidth);var f=a.endpointHoverStyles[r]||a.endpointHoverStyle||t.Defaults.EndpointHoverStyles[r]||e.Defaults.EndpointHoverStyles[r]||t.Defaults.EndpointHoverStyle||e.Defaults.EndpointHoverStyle;null!=a.hoverPaintStyle&&(null==f&&(f={}),null==f.fill&&(f.fill=a.hoverPaintStyle.stroke));var g=a.anchors?a.anchors[r]:a.anchor?a.anchor:o(t.Defaults.Anchors[r],u,t)||o(e.Defaults.Anchors[r],u,t)||o(t.Defaults.Anchor,u,t)||o(e.Defaults.Anchor,u,t),m=a.uuids?a.uuids[r]:null;h=n({paintStyle:p,hoverPaintStyle:f,endpoint:d,connections:[i],uuid:m,anchor:g,source:l,scope:a.scope,reattach:a.reattach||t.Defaults.ReattachConnections,detachable:a.detachable||t.Defaults.ConnectionsDetachable}),null==s&&h.setDeleteOnEmpty(!0),i.endpoints[r]=h,!1===a.drawEndpoints&&h.setVisible(!1,!0,!0)}return h},replaceEndpoint:function(t,e){var n=this.endpoints[t],i=n.elementId,o=this._jsPlumb.instance.getEndpoints(i),s=o.indexOf(n),r=this.makeEndpoint(0===t,n.element,i,null,e);this.endpoints[t]=r,o.splice(s,1,r),this._jsPlumb.instance.deleteObject({endpoint:n,deleteAttachedObjects:!1}),this._jsPlumb.instance.fire("endpointReplaced",{previous:n,current:r}),this._jsPlumb.instance.router.sourceOrTargetChanged(this.endpoints[1].elementId,this.endpoints[1].elementId,this,this.endpoints[1].element,1)}})}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumbUtil,n=t.jsPlumb;n.AnchorManager=function(t){var i={},o={},s={},r={},a=this,l={},u=t.jsPlumbInstance,c={},h=function(t,e,n,i,o,s,r,a){for(var l=[],u=e[o?0:1]/(i.length+1),c=0;c<i.length;c++){var h=(c+1)*u,d=s*e[o?1:0];r&&(h=e[o?0:1]-h);var p=o?h:d,f=n.left+p,g=p/e[0],m=o?d:h,v=n.top+m,b=m/e[1];if(0!==a){var y=jsPlumbUtil.rotatePoint([f,v],[n.centerx,n.centery],a);f=y[0],v=y[1]}l.push([f,v,g,b,i[c][1],i[c][2]])}return l},d=function(t,e){return e[0][0]-t[0][0]},p=function(t,e){var n=t[0][0]<0?-Math.PI-t[0][0]:Math.PI-t[0][0],i=e[0][0]<0?-Math.PI-e[0][0]:Math.PI-e[0][0];return n-i},f={top:p,right:d,bottom:d,left:p},g=function(t,e){return t.sort(e)},m=function(t,e){var n=u.getCachedData(t),i=n.s,r=n.o,a=function(e,n,i,r,a,l,c){if(r.length>0)for(var d=g(r,f[e]),p="right"===e||"top"===e,m=u.getRotation(t),v=h(e,n,i,d,a,l,p,m),b=function(t,e){o[t.id]=[e[0],e[1],e[2],e[3]],s[t.id]=c},y=0;y<v.length;y++){var P=v[y][4],_=P.endpoints[0].elementId===t,x=P.endpoints[1].elementId===t;_&&b(P.endpoints[0],v[y]),x&&b(P.endpoints[1],v[y])}};a("bottom",i,r,e.bottom,!0,1,[0,1]),a("top",i,r,e.top,!0,0,[0,-1]),a("left",i,r,e.left,!1,0,[-1,0]),a("right",i,r,e.right,!1,1,[1,0])};this.reset=function(){i={},r={},l={}},this.addFloatingConnection=function(t,e){c[t]=e},this.newConnection=function(t){var i=t.sourceId,o=t.targetId,s=t.endpoints,a=!0,l=function(l,u,c,h,d){i===o&&c.isContinuous&&(t._jsPlumb.instance.removeElement(s[1].canvas),a=!1),e.addToList(r,h,[d,u,c.constructor===n.DynamicAnchor])};l(0,s[0],s[0].anchor,o,t),a&&l(1,s[1],s[1].anchor,i,t)};var v=function(t){(function(t,n){if(t){var i=function(t){return t[4]===n};e.removeWithFunction(t.top,i),e.removeWithFunction(t.left,i),e.removeWithFunction(t.bottom,i),e.removeWithFunction(t.right,i)}})(l[t.elementId],t.id)};this.connectionDetached=function(t,n){var i=t.connection||t,o=t.sourceId,s=t.targetId,l=i.endpoints,u=function(t,n,i,o,s){e.removeWithFunction(r[o],(function(t){return t[0].id===s.id}))};u(1,l[1],l[1].anchor,o,i),u(0,l[0],l[0].anchor,s,i),i.floatingId&&(u(i.floatingIndex,i.floatingEndpoint,i.floatingEndpoint.anchor,i.floatingId,i),v(i.floatingEndpoint)),v(i.endpoints[0]),v(i.endpoints[1]),n||(a.redraw(i.sourceId),i.targetId!==i.sourceId&&a.redraw(i.targetId))},this.addEndpoint=function(t,n){e.addToList(i,n,t)},this.changeId=function(t,e){r[e]=r[t],i[e]=i[t],delete r[t],delete i[t]},this.getConnectionsFor=function(t){return r[t]||[]},this.getEndpointsFor=function(t){return i[t]||[]},this.deleteEndpoint=function(t){e.removeWithFunction(i[t.elementId],(function(e){return e.id===t.id})),v(t)},this.elementRemoved=function(t){delete c[t],delete i[t],i[t]=[]};var b=function(n,i,o,s,r,a,l,u,c,h,d,p){var f,g,m=-1,v=-1,b=s.endpoints[l],y=b.id,P=[1,0][l],_=[[i,o],s,r,a,y],x=n[c],C=b._continuousAnchorEdge?n[b._continuousAnchorEdge]:null;if(C){var E=e.findWithFunction(C,(function(t){return t[4]===y}));if(-1!==E)for(C.splice(E,1),f=0;f<C.length;f++)g=C[f][1],e.addWithFunction(d,g,(function(t){return t.id===g.id})),e.addWithFunction(p,C[f][1].endpoints[l],(function(t){return t.id===g.endpoints[l].id})),e.addWithFunction(p,C[f][1].endpoints[P],(function(t){return t.id===g.endpoints[P].id}))}for(f=0;f<x.length;f++)g=x[f][1],1===t.idx&&x[f][3]===a&&-1===v&&(v=f),e.addWithFunction(d,g,(function(t){return t.id===g.id})),e.addWithFunction(p,x[f][1].endpoints[l],(function(t){return t.id===g.endpoints[l].id})),e.addWithFunction(p,x[f][1].endpoints[P],(function(t){return t.id===g.endpoints[P].id}));if(-1!==m)x[m]=_;else{var S=u?-1!==v?v:0:x.length;x.splice(S,0,_)}b._continuousAnchorEdge=c};this.sourceOrTargetChanged=function(t,i,o,s,a){if(0===a){if(t!==i){o.sourceId=i,o.source=s,e.removeWithFunction(r[t],(function(t){return t[0].id===o.id}));var l=e.findWithFunction(r[o.targetId],(function(t){return t[0].id===o.id}));l>-1&&(r[o.targetId][l][0]=o,r[o.targetId][l][1]=o.endpoints[0],r[o.targetId][l][2]=o.endpoints[0].anchor.constructor===n.DynamicAnchor),e.addToList(r,i,[o,o.endpoints[1],o.endpoints[1].anchor.constructor===n.DynamicAnchor]),o.endpoints[1].anchor.isContinuous&&(o.source===o.target?o._jsPlumb.instance.removeElement(o.endpoints[1].canvas):null==o.endpoints[1].canvas.parentNode&&o._jsPlumb.instance.appendElement(o.endpoints[1].canvas)),o.updateConnectedClass()}}else if(1===a){var u=o.endpoints[0].elementId;o.target=s,o.targetId=i;var c=e.findWithFunction(r[u],(function(t){return t[0].id===o.id})),h=e.findWithFunction(r[t],(function(t){return t[0].id===o.id}));-1!==c&&(r[u][c][0]=o,r[u][c][1]=o.endpoints[1],r[u][c][2]=o.endpoints[1].anchor.constructor===n.DynamicAnchor),h>-1&&(r[t].splice(h,1),e.addToList(r,i,[o,o.endpoints[0],o.endpoints[0].anchor.constructor===n.DynamicAnchor])),o.updateConnectedClass()}},this.rehomeEndpoint=function(t,e,n){var o=i[e]||[],s=u.getId(n);if(s!==e){var r=o.indexOf(t);if(r>-1){var l=o.splice(r,1)[0];a.add(l,s)}}for(var c=0;c<t.connections.length;c++)t.connections[c].sourceId===e?a.sourceOrTargetChanged(e,t.elementId,t.connections[c],t.element,0):t.connections[c].targetId===e&&a.sourceOrTargetChanged(e,t.elementId,t.connections[c],t.element,1)},this.redraw=function(t,o,s,a,h,d){var p=[],f=[],g=[];if(!u.isSuspendDrawing()){var v=i[t]||[],y=r[t]||[];s=s||jsPlumbUtil.uuid(),a=a||{left:0,top:0},o&&(o={left:o.left+a.left,top:o.top+a.top});for(var P=u.updateOffset({elId:t,offset:o,recalc:!1,timestamp:s}),_={},x=0;x<y.length;x++){var C=y[x][0],E=C.sourceId,S=C.targetId,j=C.endpoints[0].anchor.isContinuous,w=C.endpoints[1].anchor.isContinuous;if(j||w){var D=E+"_"+S,I=_[D],A=C.sourceId===t?1:0,k=u.getRotation(S),O=u.getRotation(E);j&&!l[E]&&(l[E]={top:[],right:[],bottom:[],left:[]}),w&&!l[S]&&(l[S]={top:[],right:[],bottom:[],left:[]}),t!==S&&u.updateOffset({elId:S,timestamp:s}),t!==E&&u.updateOffset({elId:E,timestamp:s});var T=u.getCachedData(S),M=u.getCachedData(E);S===E&&(j||w)?(b(l[E],-Math.PI/2,0,C,!1,S,0,!1,"top",E,p,f),b(l[S],-Math.PI/2,0,C,!1,E,1,!1,"top",S,p,f)):(I||(I=this.calculateOrientation(E,S,M.o,T.o,C.endpoints[0].anchor,C.endpoints[1].anchor,C,O,k),_[D]=I),j&&b(l[E],I.theta,0,C,!1,S,0,!1,I.a[0],E,p,f),w&&b(l[S],I.theta2,-1,C,!0,E,1,!0,I.a[1],S,p,f)),j&&e.addWithFunction(g,E,(function(t){return t===E})),w&&e.addWithFunction(g,S,(function(t){return t===S})),e.addWithFunction(p,C,(function(t){return t.id===C.id})),(j&&0===A||w&&1===A)&&e.addWithFunction(f,C.endpoints[A],(function(t){return t.id===C.endpoints[A].id}))}}for(x=0;x<v.length;x++)0===v[x].connections.length&&v[x].anchor.isContinuous&&(l[t]||(l[t]={top:[],right:[],bottom:[],left:[]}),b(l[t],-Math.PI/2,0,{endpoints:[v[x],v[x]],paint:function(){}},!1,t,0,!1,v[x].anchor.getDefaultFace(),t,p,f),e.addWithFunction(g,t,(function(e){return e===t})));for(x=0;x<g.length;x++)m(g[x],l[g[x]]);for(x=0;x<v.length;x++)v[x].paint({timestamp:s,offset:P,dimensions:P.s,recalc:!0!==d});for(x=0;x<f.length;x++){var F=u.getCachedData(f[x].elementId);f[x].paint({timestamp:null,offset:F,dimensions:F.s})}for(x=0;x<y.length;x++){var L=y[x][1];if(L.anchor.constructor===n.DynamicAnchor){L.paint({elementWithPrecedence:t,timestamp:s}),e.addWithFunction(p,y[x][0],(function(t){return t.id===y[x][0].id}));for(var N=0;N<L.connections.length;N++)L.connections[N]!==y[x][0]&&e.addWithFunction(p,L.connections[N],(function(t){return t.id===L.connections[N].id}))}else e.addWithFunction(p,y[x][0],(function(t){return t.id===y[x][0].id}))}var R=c[t];for(R&&R.paint({timestamp:s,recalc:!1,elId:t}),x=0;x<p.length;x++)p[x].paint({elId:t,timestamp:null,recalc:!1,clearEdits:h})}return{c:p,e:f}};var y=function(t){e.EventGenerator.apply(this),this.type="Continuous",this.isDynamic=!0,this.isContinuous=!0;for(var n=t.faces||["top","right","bottom","left"],i=!(!1===t.clockwise),r={},a={top:"bottom",right:"left",left:"right",bottom:"top"},l={top:"right",right:"bottom",left:"top",bottom:"left"},u={top:"left",right:"top",left:"bottom",bottom:"right"},c=i?l:u,h=i?u:l,d=t.cssClass||"",p=null,f=null,g=["left","right"],m=["top","bottom"],v=null,b=0;b<n.length;b++)r[n[b]]=!0;this.getDefaultFace=function(){return 0===n.length?"top":n[0]},this.isRelocatable=function(){return!0},this.isSnapOnRelocate=function(){return!0},this.verifyEdge=function(t){return r[t]?t:r[a[t]]?a[t]:r[c[t]]?c[t]:r[h[t]]?h[t]:t},this.isEdgeSupported=function(t){return null==v?null==f?!0===r[t]:f===t:-1!==v.indexOf(t)},this.setCurrentFace=function(t,e){p=t,e&&null!=f&&(f=p)},this.getCurrentFace=function(){return p},this.getSupportedFaces=function(){var t=[];for(var e in r)r[e]&&t.push(e);return t},this.lock=function(){f=p},this.unlock=function(){f=null},this.isLocked=function(){return null!=f},this.lockCurrentAxis=function(){null!=p&&(v="left"===p||"right"===p?g:m)},this.unlockCurrentAxis=function(){v=null},this.compute=function(t){return o[t.element.id]||[0,0]},this.getCurrentLocation=function(t){return o[t.element.id]||[0,0]},this.getOrientation=function(t){return s[t.id]||[0,0]},this.getCssClass=function(){return d}};u.continuousAnchorFactory={get:function(t){return new y(t)},clear:function(t){delete o[t]}}},n.AnchorManager.prototype.calculateOrientation=function(t,e,n,i,o,s,r,a,l){var u={HORIZONTAL:"horizontal",VERTICAL:"vertical",DIAGONAL:"diagonal",IDENTITY:"identity"},c=["left","top","right","bottom"];if(t===e)return{orientation:u.IDENTITY,a:["top","top"]};var h=Math.atan2(i.centery-n.centery,i.centerx-n.centerx),d=Math.atan2(n.centery-i.centery,n.centerx-i.centerx),p=[],f={};(function(t,e){for(var n=0;n<t.length;n++)if(f[t[n]]={left:[e[n][0].left,e[n][0].centery],right:[e[n][0].right,e[n][0].centery],top:[e[n][0].centerx,e[n][0].top],bottom:[e[n][0].centerx,e[n][0].bottom]},0!==e[n][1])for(var i in f[t[n]])f[t[n]][i]=jsPlumbUtil.rotatePoint(f[t[n]][i],[e[n][0].centerx,e[n][0].centery],e[n][1])})(["source","target"],[[n,a],[i,l]]);for(var g=0;g<c.length;g++)for(var m=0;m<c.length;m++)p.push({source:c[g],target:c[m],dist:Biltong.lineLength(f.source[c[g]],f.target[c[m]])});p.sort((function(t,e){return t.dist<e.dist?-1:t.dist>e.dist?1:0}));for(var v=p[0].source,b=p[0].target,y=0;y<p.length;y++)if(v=o.isContinuous&&o.locked?o.getCurrentFace():!o.isContinuous||o.isEdgeSupported(p[y].source)?p[y].source:null,b=s.isContinuous&&s.locked?s.getCurrentFace():!s.isContinuous||s.isEdgeSupported(p[y].target)?p[y].target:null,null!=v&&null!=b)break;return o.isContinuous&&o.setCurrentFace(v),s.isContinuous&&s.setCurrentFace(b),{a:[v,b],theta:h,theta2:d}},n.Anchor=function(t){this.x=t.x||0,this.y=t.y||0,this.elementId=t.elementId,this.cssClass=t.cssClass||"",this.orientation=t.orientation||[0,0],this.lastReturnValue=null,this.offsets=t.offsets||[0,0],this.timestamp=null,this._unrotatedOrientation=[this.orientation[0],this.orientation[1]],this.relocatable=!1!==t.relocatable,this.snapOnRelocate=!1!==t.snapOnRelocate,this.locked=!1,e.EventGenerator.apply(this),this.compute=function(t){var e=t.xy,n=t.wh,i=t.timestamp;if(i&&i===this.timestamp)return this.lastReturnValue;var o=[e[0]+this.x*n[0]+this.offsets[0],e[1]+this.y*n[1]+this.offsets[1],this.x,this.y],s=t.rotation;if(null!=s&&0!==s){var r=jsPlumbUtil.rotatePoint(o,[e[0]+n[0]/2,e[1]+n[1]/2],s);this.orientation[0]=Math.round(this._unrotatedOrientation[0]*r[2]-this._unrotatedOrientation[1]*r[3]),this.orientation[1]=Math.round(this._unrotatedOrientation[1]*r[2]+this._unrotatedOrientation[0]*r[3]),this.lastReturnValue=[r[0],r[1],this.x,this.y]}else this.orientation[0]=this._unrotatedOrientation[0],this.orientation[1]=this._unrotatedOrientation[1],this.lastReturnValue=o;return this.timestamp=i,this.lastReturnValue},this.getCurrentLocation=function(t){return t=t||{},null==this.lastReturnValue||null!=t.timestamp&&this.timestamp!==t.timestamp?this.compute(t):this.lastReturnValue},this.setPosition=function(t,e,n,i,o){this.locked&&!o||(this.x=t,this.y=e,this.orientation=[n,i],this.lastReturnValue=null)}},e.extend(n.Anchor,e.EventGenerator,{equals:function(t){if(!t)return!1;var e=t.getOrientation(),n=this.getOrientation();return this.x===t.x&&this.y===t.y&&this.offsets[0]===t.offsets[0]&&this.offsets[1]===t.offsets[1]&&n[0]===e[0]&&n[1]===e[1]},getOrientation:function(){return this.orientation},getCssClass:function(){return this.cssClass}}),n.FloatingAnchor=function(t){n.Anchor.apply(this,arguments);var e=t.reference,i=t.referenceCanvas,o=n.getSize(i),s=0,r=0,a=null,l=null;this.orientation=null,this.x=0,this.y=0,this.isFloating=!0,this.compute=function(t){var e=t.xy,n=[e[0]+o[0]/2,e[1]+o[1]/2];return l=n,n},this.getOrientation=function(t){if(a)return a;var n=e.getOrientation(t);return[Math.abs(n[0])*s*-1,Math.abs(n[1])*r*-1]},this.over=function(t,e){a=t.getOrientation(e)},this.out=function(){a=null},this.getCurrentLocation=function(t){return null==l?this.compute(t):l}},e.extend(n.FloatingAnchor,n.Anchor);var i=function(t,e,i){return t.constructor===n.Anchor?t:e.makeAnchor(t,i,e)};n.DynamicAnchor=function(t){n.Anchor.apply(this,arguments),this.isDynamic=!0,this.anchors=[],this.elementId=t.elementId,this.jsPlumbInstance=t.jsPlumbInstance;for(var e=0;e<t.anchors.length;e++)this.anchors[e]=i(t.anchors[e],this.jsPlumbInstance,this.elementId);this.getAnchors=function(){return this.anchors};var o=this.anchors.length>0?this.anchors[0]:null,s=o,r=function(t,e,n,i,o,s,r){var a=i[0]+t.x*o[0],l=i[1]+t.y*o[1],u=i[0]+o[0]/2,c=i[1]+o[1]/2;if(null!=s&&0!==s){var h=jsPlumbUtil.rotatePoint([a,l],[u,c],s);a=h[0],l=h[1]}return Math.sqrt(Math.pow(e-a,2)+Math.pow(n-l,2))+Math.sqrt(Math.pow(u-a,2)+Math.pow(c-l,2))},a=t.selector||function(t,e,n,i,o,s,a){for(var l=n[0]+i[0]/2,u=n[1]+i[1]/2,c=-1,h=1/0,d=0;d<a.length;d++){var p=r(a[d],l,u,t,e,o,s);p<h&&(c=d+0,h=p)}return a[c]};this.compute=function(t){var e=t.xy,n=t.wh,i=t.txy,r=t.twh,l=t.rotation,u=t.tRotation;return this.timestamp=t.timestamp,this.locked||null==i||null==r?(this.lastReturnValue=o.compute(t),this.lastReturnValue):(t.timestamp=null,o=a(e,n,i,r,l,u,this.anchors),this.x=o.x,this.y=o.y,o!==s&&this.fire("anchorChanged",o),s=o,this.lastReturnValue=o.compute(t),this.lastReturnValue)},this.getCurrentLocation=function(t){return null!=o?o.getCurrentLocation(t):null},this.getOrientation=function(t){return null!=o?o.getOrientation(t):[0,0]},this.over=function(t,e){null!=o&&o.over(t,e)},this.out=function(){null!=o&&o.out()},this.setAnchor=function(t){o=t},this.getCssClass=function(){return o&&o.getCssClass()||""},this.setAnchorCoordinates=function(t){var e=jsPlumbUtil.findWithFunction(this.anchors,(function(e){return e.x===t[0]&&e.y===t[1]}));return-1!==e&&(this.setAnchor(this.anchors[e]),!0)}},e.extend(n.DynamicAnchor,n.Anchor);var o=function(t,e,i,o,s,r){n.Anchors[s]=function(n){var a=n.jsPlumbInstance.makeAnchor([t,e,i,o,0,0],n.elementId,n.jsPlumbInstance);return a.type=s,r&&r(a,n),a}};o(.5,0,0,-1,"TopCenter"),o(.5,1,0,1,"BottomCenter"),o(0,.5,-1,0,"LeftMiddle"),o(1,.5,1,0,"RightMiddle"),o(.5,0,0,-1,"Top"),o(.5,1,0,1,"Bottom"),o(0,.5,-1,0,"Left"),o(1,.5,1,0,"Right"),o(.5,.5,0,0,"Center"),o(1,0,0,-1,"TopRight"),o(1,1,0,1,"BottomRight"),o(0,0,0,-1,"TopLeft"),o(0,1,0,1,"BottomLeft"),n.Defaults.DynamicAnchors=function(t){return t.jsPlumbInstance.makeAnchors(["TopCenter","RightMiddle","BottomCenter","LeftMiddle"],t.elementId,t.jsPlumbInstance)},n.Anchors.AutoDefault=function(t){var e=t.jsPlumbInstance.makeDynamicAnchor(n.Defaults.DynamicAnchors(t));return e.type="AutoDefault",e};var s=function(t,e){n.Anchors[t]=function(n){var i=n.jsPlumbInstance.makeAnchor(["Continuous",{faces:e}],n.elementId,n.jsPlumbInstance);return i.type=t,i}};n.Anchors.Continuous=function(t){return t.jsPlumbInstance.continuousAnchorFactory.get(t)},s("ContinuousLeft",["left"]),s("ContinuousTop",["top"]),s("ContinuousBottom",["bottom"]),s("ContinuousRight",["right"]),o(0,0,0,0,"Assign",(function(t,e){var n=e.position||"Fixed";t.positionFinder=n.constructor===String?e.jsPlumbInstance.AnchorPositionFinders[n]:n,t.constructorParams=e})),t.jsPlumbInstance.prototype.AnchorPositionFinders={Fixed:function(t,e,n){return[(t.left-e.left)/n[0],(t.top-e.top)/n[1]]},Grid:function(t,e,n,i){var o=t.left-e.left,s=t.top-e.top,r=n[0]/i.grid[0],a=n[1]/i.grid[1],l=Math.floor(o/r),u=Math.floor(s/a);return[(l*r+r/2)/n[0],(u*a+a/2)/n[1]]}},n.Anchors.Perimeter=function(t){t=t||{};var e=t.anchorCount||60,n=t.shape;if(!n)throw new Error("no shape supplied to Perimeter Anchor type");var i=function(){for(var t=.5,n=2*Math.PI/e,i=0,o=[],s=0;s<e;s++){var r=t+t*Math.sin(i),a=t+t*Math.cos(i);o.push([r,a,0,0]),i+=n}return o},o=function(t){for(var n=e/t.length,i=[],o=function(t,o,s,r,a,l,u){n=e*a;for(var c=(s-t)/n,h=(r-o)/n,d=0;d<n;d++)i.push([t+c*d,o+h*d,null==l?0:l,null==u?0:u])},s=0;s<t.length;s++)o.apply(null,t[s]);return i},s=function(t){for(var e=[],n=0;n<t.length;n++)e.push([t[n][0],t[n][1],t[n][2],t[n][3],1/t.length,t[n][4],t[n][5]]);return o(e)},r=function(){return s([[0,0,1,0,0,-1],[1,0,1,1,1,0],[1,1,0,1,0,1],[0,1,0,0,-1,0]])},a={Circle:i,Ellipse:i,Diamond:function(){return s([[.5,0,1,.5],[1,.5,.5,1],[.5,1,0,.5],[0,.5,.5,0]])},Rectangle:r,Square:r,Triangle:function(){return s([[.5,0,1,1],[1,1,0,1],[0,1,.5,0]])},Path:function(t){for(var e=t.points,n=[],i=0,s=0;s<e.length-1;s++){var r=Math.sqrt(Math.pow(e[s][2]-e[s][0])+Math.pow(e[s][3]-e[s][1]));i+=r,n.push([e[s][0],e[s][1],e[s+1][0],e[s+1][1],r])}for(var a=0;a<n.length;a++)n[a][4]=n[a][4]/i;return o(n)}},l=function(t,e){for(var n=[],i=e/180*Math.PI,o=0;o<t.length;o++){var s=t[o][0]-.5,r=t[o][1]-.5;n.push([s*Math.cos(i)-r*Math.sin(i)+.5,s*Math.sin(i)+r*Math.cos(i)+.5,t[o][2],t[o][3]])}return n};if(!a[n])throw new Error("Shape ["+n+"] is unknown by Perimeter Anchor type");var u=a[n](t);t.rotation&&(u=l(u,t.rotation));var c=t.jsPlumbInstance.makeDynamicAnchor(u);return c.type="Perimeter",c}}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=(t.jsPlumbUtil,t.jsPlumb);e.DefaultRouter=function(t){this.jsPlumbInstance=t,this.anchorManager=new e.AnchorManager({jsPlumbInstance:t}),this.sourceOrTargetChanged=function(t,e,n,i,o){this.anchorManager.sourceOrTargetChanged(t,e,n,i,o)},this.reset=function(){this.anchorManager.reset()},this.changeId=function(t,e){this.anchorManager.changeId(t,e)},this.elementRemoved=function(t){this.anchorManager.elementRemoved(t)},this.newConnection=function(t){this.anchorManager.newConnection(t)},this.connectionDetached=function(t,e){this.anchorManager.connectionDetached(t,e)},this.redraw=function(t,e,n,i,o,s){return this.anchorManager.redraw(t,e,n,i,o,s)},this.deleteEndpoint=function(t){this.anchorManager.deleteEndpoint(t)},this.rehomeEndpoint=function(t,e,n){this.anchorManager.rehomeEndpoint(t,e,n)},this.addEndpoint=function(t,e){this.anchorManager.addEndpoint(t,e)}}}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=t.Biltong;e.Segments={AbstractSegment:function(t){this.params=t,this.findClosestPointOnPath=function(t,e){return{d:1/0,x:null,y:null,l:null}},this.getBounds=function(){return{minX:Math.min(t.x1,t.x2),minY:Math.min(t.y1,t.y2),maxX:Math.max(t.x1,t.x2),maxY:Math.max(t.y1,t.y2)}},this.lineIntersection=function(t,e,n,i){return[]},this.boxIntersection=function(t,e,n,i){var o=[];return o.push.apply(o,this.lineIntersection(t,e,t+n,e)),o.push.apply(o,this.lineIntersection(t+n,e,t+n,e+i)),o.push.apply(o,this.lineIntersection(t+n,e+i,t,e+i)),o.push.apply(o,this.lineIntersection(t,e+i,t,e)),o},this.boundingBoxIntersection=function(t){return this.boxIntersection(t.x,t.y,t.w,t.y)}},Straight:function(t){e.Segments.AbstractSegment.apply(this,arguments);var n,o,s,r,a,l,u,c=function(){n=Math.sqrt(Math.pow(a-r,2)+Math.pow(u-l,2)),o=i.gradient({x:r,y:l},{x:a,y:u}),s=-1/o};this.type="Straight",this.getLength=function(){return n},this.getGradient=function(){return o},this.getCoordinates=function(){return{x1:r,y1:l,x2:a,y2:u}},this.setCoordinates=function(t){r=t.x1,l=t.y1,a=t.x2,u=t.y2,c()},this.setCoordinates({x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}),this.getBounds=function(){return{minX:Math.min(r,a),minY:Math.min(l,u),maxX:Math.max(r,a),maxY:Math.max(l,u)}},this.pointOnPath=function(t,e){if(0!==t||e){if(1!==t||e){var o=e?t>0?t:n+t:t*n;return i.pointOnLine({x:r,y:l},{x:a,y:u},o)}return{x:a,y:u}}return{x:r,y:l}},this.gradientAtPoint=function(t){return o},this.pointAlongPathFrom=function(t,e,n){var o=this.pointOnPath(t,n),s=e<=0?{x:r,y:l}:{x:a,y:u};return e<=0&&Math.abs(e)>1&&(e*=-1),i.pointOnLine(o,s,e)};var h=function(t,e,n){return n>=Math.min(t,e)&&n<=Math.max(t,e)},d=function(t,e,n){return Math.abs(n-t)<Math.abs(n-e)?t:e};this.findClosestPointOnPath=function(t,e){var c={d:1/0,x:null,y:null,l:null,x1:r,x2:a,y1:l,y2:u};if(0===o)c.y=l,c.x=h(r,a,t)?t:d(r,a,t);else if(o===1/0||o===-1/0)c.x=r,c.y=h(l,u,e)?e:d(l,u,e);else{var p=l-o*r,f=e-s*t,g=(f-p)/(o-s),m=o*g+p;c.x=h(r,a,g)?g:d(r,a,g),c.y=h(l,u,m)?m:d(l,u,m)}var v=i.lineLength([c.x,c.y],[r,l]);return c.d=i.lineLength([t,e],[c.x,c.y]),c.l=v/n,c};var p=function(t,e,n){return n>e?e<=t&&t<=n:e>=t&&t>=n},f=p;this.lineIntersection=function(t,e,n,s){var c=Math.abs(i.gradient({x:t,y:e},{x:n,y:s})),h=Math.abs(o),d=h===1/0?r:l-h*r,p=[],g=c===1/0?t:e-c*t;if(c!==h)if(c===1/0&&0===h)f(t,r,a)&&f(l,e,s)&&(p=[t,l]);else if(0===c&&h===1/0)f(e,l,u)&&f(r,t,n)&&(p=[r,e]);else{var m,v;c===1/0?(m=t,f(m,r,a)&&(v=h*t+d,f(v,e,s)&&(p=[m,v]))):0===c?(v=e,f(v,l,u)&&(m=(e-d)/h,f(m,t,n)&&(p=[m,v]))):(m=(g-d)/(h-c),v=h*m+d,f(m,r,a)&&f(v,l,u)&&(p=[m,v]))}return p},this.boxIntersection=function(t,e,n,i){var o=[];return o.push.apply(o,this.lineIntersection(t,e,t+n,e)),o.push.apply(o,this.lineIntersection(t+n,e,t+n,e+i)),o.push.apply(o,this.lineIntersection(t+n,e+i,t,e+i)),o.push.apply(o,this.lineIntersection(t,e+i,t,e)),o},this.boundingBoxIntersection=function(t){return this.boxIntersection(t.x,t.y,t.w,t.h)}},Arc:function(t){e.Segments.AbstractSegment.apply(this,arguments);var n=function(e,n){return i.theta([t.cx,t.cy],[e,n])},o=function(t,e){if(t.anticlockwise){var n=t.startAngle<t.endAngle?t.startAngle+s:t.startAngle,i=Math.abs(n-t.endAngle);return n-i*e}var o=t.endAngle<t.startAngle?t.endAngle+s:t.endAngle,r=Math.abs(o-t.startAngle);return t.startAngle+r*e},s=2*Math.PI;this.radius=t.r,this.anticlockwise=t.ac,this.type="Arc",t.startAngle&&t.endAngle?(this.startAngle=t.startAngle,this.endAngle=t.endAngle,this.x1=t.cx+this.radius*Math.cos(t.startAngle),this.y1=t.cy+this.radius*Math.sin(t.startAngle),this.x2=t.cx+this.radius*Math.cos(t.endAngle),this.y2=t.cy+this.radius*Math.sin(t.endAngle)):(this.startAngle=n(t.x1,t.y1),this.endAngle=n(t.x2,t.y2),this.x1=t.x1,this.y1=t.y1,this.x2=t.x2,this.y2=t.y2),this.endAngle<0&&(this.endAngle+=s),this.startAngle<0&&(this.startAngle+=s);var r=this.endAngle<this.startAngle?this.endAngle+s:this.endAngle;this.sweep=Math.abs(r-this.startAngle),this.anticlockwise&&(this.sweep=s-this.sweep);var a=2*Math.PI*this.radius,l=this.sweep/s,u=a*l;this.getLength=function(){return u},this.getBounds=function(){return{minX:t.cx-t.r,maxX:t.cx+t.r,minY:t.cy-t.r,maxY:t.cy+t.r}};var c=1e-10,h=function(t){var e=Math.floor(t),n=Math.ceil(t);return t-e<c?e:n-t<c?n:t};this.pointOnPath=function(e,n){if(0===e)return{x:this.x1,y:this.y1,theta:this.startAngle};if(1===e)return{x:this.x2,y:this.y2,theta:this.endAngle};n&&(e/=u);var i=o(this,e),s=t.cx+t.r*Math.cos(i),r=t.cy+t.r*Math.sin(i);return{x:h(s),y:h(r),theta:i}},this.gradientAtPoint=function(e,n){var o=this.pointOnPath(e,n),s=i.normal([t.cx,t.cy],[o.x,o.y]);return this.anticlockwise||s!==1/0&&s!==-1/0||(s*=-1),s},this.pointAlongPathFrom=function(e,n,i){var o=this.pointOnPath(e,i),s=n/a*2*Math.PI,r=this.anticlockwise?-1:1,l=o.theta+r*s,u=t.cx+this.radius*Math.cos(l),c=t.cy+this.radius*Math.sin(l);return{x:u,y:c}}},Bezier:function(n){this.curve=[{x:n.x1,y:n.y1},{x:n.cp1x,y:n.cp1y},{x:n.cp2x,y:n.cp2y},{x:n.x2,y:n.y2}];var i=function(t){return t[0].x===t[1].x&&t[0].y===t[1].y},o=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},s=function(t){var e={x:0,y:0};if(0===t)return this.curve[0];var n=this.curve.length-1;if(1===t)return this.curve[n];var i=this.curve,o=1-t;if(0===n)return this.curve[0];if(1===n)return{x:o*i[0].x+t*i[1].x,y:o*i[0].y+t*i[1].y};if(n<4){var s,r,a,l=o*o,u=t*t,c=0;return 2===n?(i=[i[0],i[1],i[2],e],s=l,r=o*t*2,a=u):3===n&&(s=l*o,r=l*t*3,a=o*u*3,c=t*u),{x:s*i[0].x+r*i[1].x+a*i[2].x+c*i[3].x,y:s*i[0].y+r*i[1].y+a*i[2].y+c*i[3].y}}return e}.bind(this),r=function(t){var e=[];t--;for(var n=0;n<=t;n++)e.push(s(n/t));return e},a=function(){i(this.curve)&&(this.length=0);var t=16,e=r(t);this.length=0;for(var n=0;n<t-1;n++){var s=e[n],a=e[n+1];this.length+=o(s,a)}}.bind(this);e.Segments.AbstractSegment.apply(this,arguments);this.bounds={minX:Math.min(n.x1,n.x2,n.cp1x,n.cp2x),minY:Math.min(n.y1,n.y2,n.cp1y,n.cp2y),maxX:Math.max(n.x1,n.x2,n.cp1x,n.cp2x),maxY:Math.max(n.y1,n.y2,n.cp1y,n.cp2y)},this.type="Bezier",a();var l=function(e,n,i){return i&&(n=t.jsBezier.locationAlongCurveFrom(e,n>0?0:1,n)),n};this.pointOnPath=function(e,n){return e=l(this.curve,e,n),t.jsBezier.pointOnCurve(this.curve,e)},this.gradientAtPoint=function(e,n){return e=l(this.curve,e,n),t.jsBezier.gradientAtPoint(this.curve,e)},this.pointAlongPathFrom=function(e,n,i){return e=l(this.curve,e,i),t.jsBezier.pointAlongCurveFrom(this.curve,e,n)},this.getLength=function(){return this.length},this.getBounds=function(){return this.bounds},this.findClosestPointOnPath=function(e,n){var i=t.jsBezier.nearestPointOnCurve({x:e,y:n},this.curve);return{d:Math.sqrt(Math.pow(i.point.x-e,2)+Math.pow(i.point.y-n,2)),x:i.point.x,y:i.point.y,l:1-i.location,s:this}},this.lineIntersection=function(e,n,i,o){return t.jsBezier.lineIntersection(e,n,i,o,this.curve)}}},e.SegmentRenderer={getPath:function(t,e){return{Straight:function(e){var n=t.getCoordinates();return(e?"M "+n.x1+" "+n.y1+" ":"")+"L "+n.x2+" "+n.y2},Bezier:function(e){var n=t.params;return(e?"M "+n.x2+" "+n.y2+" ":"")+"C "+n.cp2x+" "+n.cp2y+" "+n.cp1x+" "+n.cp1y+" "+n.x1+" "+n.y1},Arc:function(e){var n=t.params,i=t.sweep>Math.PI?1:0,o=t.anticlockwise?0:1;return(e?"M"+t.x1+" "+t.y1+" ":"")+"A "+t.radius+" "+n.r+" 0 "+i+","+o+" "+t.x2+" "+t.y2}}[t.type](e)}};var o=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};e.Connectors.AbstractConnector=function(t){o.apply(this,arguments);var s=[],r=0,a=[],l=[],u=t.stub||0,c=n.isArray(u)?u[0]:u,h=n.isArray(u)?u[1]:u,d=t.gap||0,p=n.isArray(d)?d[0]:d,f=n.isArray(d)?d[1]:d,g=null,m=null;this.getPathData=function(){for(var t="",n=0;n<s.length;n++)t+=e.SegmentRenderer.getPath(s[n],0===n),t+=" ";return t},this.findSegmentForPoint=function(t,e){for(var n={d:1/0,s:null,x:null,y:null,l:null},i=0;i<s.length;i++){var o=s[i].findClosestPointOnPath(t,e);o.d<n.d&&(n.d=o.d,n.l=o.l,n.x=o.x,n.y=o.y,n.s=s[i],n.x1=o.x1,n.x2=o.x2,n.y1=o.y1,n.y2=o.y2,n.index=i,n.connectorLocation=a[i][0]+o.l*(a[i][1]-a[i][0]))}return n},this.lineIntersection=function(t,e,n,i){for(var o=[],r=0;r<s.length;r++)o.push.apply(o,s[r].lineIntersection(t,e,n,i));return o},this.boxIntersection=function(t,e,n,i){for(var o=[],r=0;r<s.length;r++)o.push.apply(o,s[r].boxIntersection(t,e,n,i));return o},this.boundingBoxIntersection=function(t){for(var e=[],n=0;n<s.length;n++)e.push.apply(e,s[n].boundingBoxIntersection(t));return e};var v=function(){for(var t=0,e=0;e<s.length;e++){var n=s[e].getLength();l[e]=n/r,a[e]=[t,t+=n/r]}},b=function(t,e){var n,i,o;if(e&&(t=t>0?t/r:(r+t)/r),1===t)n=s.length-1,o=1;else if(0===t)o=0,n=0;else if(t>=.5){for(n=0,o=0,i=a.length-1;i>-1;i--)if(a[i][1]>=t&&a[i][0]<=t){n=i,o=(t-a[i][0])/l[i];break}}else for(n=a.length-1,o=1,i=0;i<a.length;i++)if(a[i][1]>=t){n=i,o=(t-a[i][0])/l[i];break}return{segment:s[n],proportion:o,index:n}},y=function(t,n,i){if(i.x1!==i.x2||i.y1!==i.y2){var o=new e.Segments[n](i);s.push(o),r+=o.getLength(),t.updateBounds(o)}},P=function(){r=s.length=a.length=l.length=0};this.setSegments=function(t){g=[],r=0;for(var e=0;e<t.length;e++)g.push(t[e]),r+=t[e].getLength()},this.getLength=function(){return r};var _=function(t){this.strokeWidth=t.strokeWidth;var e=i.quadrant(t.sourcePos,t.targetPos),n=t.targetPos[0]<t.sourcePos[0],o=t.targetPos[1]<t.sourcePos[1],s=t.strokeWidth||1,r=t.sourceEndpoint.anchor.getOrientation(t.sourceEndpoint),a=t.targetEndpoint.anchor.getOrientation(t.targetEndpoint),l=n?t.targetPos[0]:t.sourcePos[0],u=o?t.targetPos[1]:t.sourcePos[1],d=Math.abs(t.targetPos[0]-t.sourcePos[0]),g=Math.abs(t.targetPos[1]-t.sourcePos[1]);if(0===r[0]&&0===r[1]||0===a[0]&&0===a[1]){var m=d>g?0:1,v=[1,0][m];r=[],a=[],r[m]=t.sourcePos[m]>t.targetPos[m]?-1:1,a[m]=t.sourcePos[m]>t.targetPos[m]?1:-1,r[v]=0,a[v]=0}var b=n?d+p*r[0]:p*r[0],y=o?g+p*r[1]:p*r[1],P=n?f*a[0]:d+f*a[0],_=o?f*a[1]:g+f*a[1],x=r[0]*a[0]+r[1]*a[1],C={sx:b,sy:y,tx:P,ty:_,lw:s,xSpan:Math.abs(P-b),ySpan:Math.abs(_-y),mx:(b+P)/2,my:(y+_)/2,so:r,to:a,x:l,y:u,w:d,h:g,segment:e,startStubX:b+r[0]*c,startStubY:y+r[1]*c,endStubX:P+a[0]*h,endStubY:_+a[1]*h,isXGreaterThanStubTimes2:Math.abs(b-P)>c+h,isYGreaterThanStubTimes2:Math.abs(y-_)>c+h,opposite:-1===x,perpendicular:0===x,orthogonal:1===x,sourceAxis:0===r[0]?"y":"x",points:[l,u,d,g,b,y,P,_],stubs:[c,h]};return C.anchorOrientation=C.opposite?"opposite":C.orthogonal?"orthogonal":"perpendicular",C};this.getSegments=function(){return s},this.updateBounds=function(t){var e=t.getBounds();this.bounds.minX=Math.min(this.bounds.minX,e.minX),this.bounds.maxX=Math.max(this.bounds.maxX,e.maxX),this.bounds.minY=Math.min(this.bounds.minY,e.minY),this.bounds.maxY=Math.max(this.bounds.maxY,e.maxY)};return this.pointOnPath=function(t,e){var n=b(t,e);return n.segment&&n.segment.pointOnPath(n.proportion,!1)||[0,0]},this.gradientAtPoint=function(t,e){var n=b(t,e);return n.segment&&n.segment.gradientAtPoint(n.proportion,!1)||0},this.pointAlongPathFrom=function(t,e,n){var i=b(t,n);return i.segment&&i.segment.pointAlongPathFrom(i.proportion,e,!1)||[0,0]},this.compute=function(t){m=_.call(this,t),P(),this._compute(m,t),this.x=m.points[0],this.y=m.points[1],this.w=m.points[2],this.h=m.points[3],this.segment=m.segment,v()},{addSegment:y,prepareCompute:_,sourceStub:c,targetStub:h,maxStub:Math.max(c,h),sourceGap:p,targetGap:f,maxGap:Math.max(p,f)}},n.extend(e.Connectors.AbstractConnector,o),e.Endpoints.AbstractEndpoint=function(t){o.apply(this,arguments);var e=this.compute=function(t,e,n,i){var o=this._compute.apply(this,arguments);return this.x=o[0],this.y=o[1],this.w=o[2],this.h=o[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,o};return{compute:e,cssClass:t.cssClass}},n.extend(e.Endpoints.AbstractEndpoint,o),e.Endpoints.Dot=function(t){this.type="Dot";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.radius=t.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(t,e,n,i){this.radius=n.radius||this.radius;var o=t[0]-this.radius,s=t[1]-this.radius,r=2*this.radius,a=2*this.radius;if(n.stroke){var l=n.strokeWidth||1;o-=l,s-=l,r+=2*l,a+=2*l}return[o,s,r,a,this.radius]}},n.extend(e.Endpoints.Dot,e.Endpoints.AbstractEndpoint),e.Endpoints.Rectangle=function(t){this.type="Rectangle";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.width=t.width||20,this.height=t.height||20,this._compute=function(t,e,n,i){var o=n.width||this.width,s=n.height||this.height,r=t[0]-o/2,a=t[1]-s/2;return[r,a,o,s]}},n.extend(e.Endpoints.Rectangle,e.Endpoints.AbstractEndpoint);var s=function(t){e.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};n.extend(s,e.jsPlumbUIComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(t){this._jsPlumb.displayElements.push(t)}}),e.Endpoints.Image=function(i){this.type="Image",s.apply(this,arguments),e.Endpoints.AbstractEndpoint.apply(this,arguments);var o=i.onload,r=i.src||i.url,a=i.cssClass?" "+i.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=i.width,this._jsPlumb.heightToUse=i.height,this._jsPlumb.endpoint=i.endpoint,this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,o&&o(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(t,e){var n=t.constructor===String?t:t.src;o=e,this._jsPlumb.img.src=n,null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(r,o),this._compute=function(t,e,n,i){return this.anchorPoint=t,this._jsPlumb.ready?[t[0]-this._jsPlumb.widthToUse/2,t[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=e.createElement("img",{position:"absolute",margin:0,padding:0,outline:0},this._jsPlumb.instance.endpointClass+a),this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.actuallyPaint=function(t,e,i){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var o=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,s=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;n.sizeElement(this.canvas,o,s,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(e,n){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(e,n):t.setTimeout(function(){this.paint(e,n)}.bind(this),200))}},n.extend(e.Endpoints.Image,[s,e.Endpoints.AbstractEndpoint],{cleanup:function(t){t&&(this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null)}}),e.Endpoints.Blank=function(t){e.Endpoints.AbstractEndpoint.apply(this,arguments);this.type="Blank",s.apply(this,arguments),this._compute=function(t,e,n,i){return[t[0],t[1],10,0]};var i=t.cssClass?" "+t.cssClass:"";this.canvas=e.createElement("div",{display:"block",width:"1px",height:"1px",background:"transparent",position:"absolute"},this._jsPlumb.instance.endpointClass+i),this._jsPlumb.instance.appendElement(this.canvas),this.paint=function(t,e){n.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},n.extend(e.Endpoints.Blank,[e.Endpoints.AbstractEndpoint,s],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),e.Endpoints.Triangle=function(t){this.type="Triangle",e.Endpoints.AbstractEndpoint.apply(this,arguments);var n=this;t=t||{},t.width=t.width||55,t.height=t.height||55,this.width=t.width,this.height=t.height,this._compute=function(t,e,i,o){var s=i.width||n.width,r=i.height||n.height,a=t[0]-s/2,l=t[1]-r/2;return[a,l,s,r]}};var r=e.Overlays.AbstractOverlay=function(t){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=t.component,this.loc=null==t.location?.5:t.location,this.endpointLoc=null==t.endpointLocation?[.5,.5]:t.endpointLocation,this.visible=!1!==t.visible};r.prototype={cleanup:function(t){t&&(this.component=null,this.canvas=null,this.endpointLoc=null)},reattach:function(t,e){},setVisible:function(t){this.visible=t,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(t){this.loc+=t,this.component.repaint()},setLocation:function(t){this.loc=t,this.component.repaint()},getLocation:function(){return this.loc},updateFrom:function(){}},e.Overlays.Arrow=function(t){this.type="Arrow",r.apply(this,arguments),this.isAppendedAtTopLevel=!1,t=t||{};var o=this;this.length=t.length||20,this.width=t.width||20,this.id=t.id,this.direction=(t.direction||1)<0?-1:1;var s=t.paintStyle||{"stroke-width":1},a=t.foldback||.623;this.computeMaxSize=function(){return 1.5*o.width},this.elementCreated=function(n,i){if(this.path=n,t.events)for(var o in t.events)e.on(n,o,t.events[o])},this.draw=function(t,e){var o,r,l,u,c;if(t.pointAlongPathFrom){if(n.isString(this.loc)||this.loc>1||this.loc<0){var h=parseInt(this.loc,10),d=this.loc<0?1:0;o=t.pointAlongPathFrom(d,h,!1),r=t.pointAlongPathFrom(d,h-this.direction*this.length/2,!1),l=i.pointOnLine(o,r,this.length)}else if(1===this.loc){if(o=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,-this.length),l=i.pointOnLine(o,r,this.length),-1===this.direction){var p=l;l=o,o=p}}else if(0===this.loc){if(l=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,this.length),o=i.pointOnLine(l,r,this.length),-1===this.direction){var f=l;l=o,o=f}}else o=t.pointAlongPathFrom(this.loc,this.direction*this.length/2),r=t.pointOnPath(this.loc),l=i.pointOnLine(o,r,this.length);u=i.perpendicularLineTo(o,l,this.width),c=i.pointOnLine(o,l,a*this.length);var g={hxy:o,tail:u,cxy:c},m=s.stroke||e.stroke,v=s.fill||e.stroke,b=s.strokeWidth||e.strokeWidth;return{component:t,d:g,"stroke-width":b,stroke:m,fill:v,minX:Math.min(o.x,u[0].x,u[1].x),maxX:Math.max(o.x,u[0].x,u[1].x),minY:Math.min(o.y,u[0].y,u[1].y),maxY:Math.max(o.y,u[0].y,u[1].y)}}return{component:t,minX:0,maxX:0,minY:0,maxY:0}}},n.extend(e.Overlays.Arrow,r,{updateFrom:function(t){this.length=t.length||this.length,this.width=t.width||this.width,this.direction=null!=t.direction?t.direction:this.direction,this.foldback=t.foldback||this.foldback},cleanup:function(){this.path&&this.path.parentNode&&this.path.parentNode.removeChild(this.path)}}),e.Overlays.PlainArrow=function(t){t=t||{};var n=e.extend(t,{foldback:1});e.Overlays.Arrow.call(this,n),this.type="PlainArrow"},n.extend(e.Overlays.PlainArrow,e.Overlays.Arrow),e.Overlays.Diamond=function(t){t=t||{};var n=t.length||40,i=e.extend(t,{length:n/2,foldback:2});e.Overlays.Arrow.call(this,i),this.type="Diamond"},n.extend(e.Overlays.Diamond,e.Overlays.Arrow);var a=function(t,e){return(null==t._jsPlumb.cachedDimensions||e)&&(t._jsPlumb.cachedDimensions=t.getDimensions()),t._jsPlumb.cachedDimensions},l=function(t){e.jsPlumbUIComponent.apply(this,arguments),r.apply(this,arguments);var i=this.fire;this.fire=function(){i.apply(this,arguments),this.component&&this.component.fire.apply(this.component,arguments)},this.detached=!1,this.id=t.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=t.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=t.create,this._jsPlumb.initiallyInvisible=!1===t.visible,this.getElement=function(){if(null==this._jsPlumb.div){var n=this._jsPlumb.div=e.getElement(this._jsPlumb.create(this._jsPlumb.component));n.style.position="absolute",jsPlumb.addClass(n,this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:t.cssClass?t.cssClass:"")),this._jsPlumb.instance.appendElement(n),this._jsPlumb.instance.getId(n),this.canvas=n;var i="translate(-50%, -50%)";n.style.webkitTransform=i,n.style.mozTransform=i,n.style.msTransform=i,n.style.oTransform=i,n.style.transform=i,n._jsPlumb=this,!1===t.visible&&(n.style.display="none")}return this._jsPlumb.div},this.draw=function(t,e,i){var o=a(this);if(null!=o&&2===o.length){var s={x:0,y:0};if(i)s={x:i[0],y:i[1]};else if(t.pointOnPath){var r=this.loc,l=!1;(n.isString(this.loc)||this.loc<0||this.loc>1)&&(r=parseInt(this.loc,10),l=!0),s=t.pointOnPath(r,l)}else{var u=this.loc.constructor===Array?this.loc:this.endpointLoc;s={x:u[0]*t.w,y:u[1]*t.h}}var c=s.x-o[0]/2,h=s.y-o[1]/2;return{component:t,d:{minx:c,miny:h,td:o,cxy:s},minX:c,maxX:c+o[0],minY:h,maxY:h+o[1]}}return{minX:0,maxX:0,minY:0,maxY:0}}};n.extend(l,[e.jsPlumbUIComponent,r],{getDimensions:function(){return[1,1]},setVisible:function(t){this._jsPlumb.div&&(this._jsPlumb.div.style.display=t?"block":"none",t&&this._jsPlumb.initiallyInvisible&&(a(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1))},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(t){t?null!=this._jsPlumb.div&&(this._jsPlumb.div._jsPlumb=null,this._jsPlumb.instance.removeElement(this._jsPlumb.div)):(this._jsPlumb&&this._jsPlumb.div&&this._jsPlumb.div.parentNode&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div),this.detached=!0)},reattach:function(t,e){null!=this._jsPlumb.div&&t.getContainer().appendChild(this._jsPlumb.div),this.detached=!1},computeMaxSize:function(){var t=a(this);return Math.max(t[0],t[1])},paint:function(t,e){this._jsPlumb.initialised||(this.getElement(),t.component.appendDisplayElement(this._jsPlumb.div),this._jsPlumb.initialised=!0,this.detached&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div)),this._jsPlumb.div.style.left=t.component.x+t.d.minx+"px",this._jsPlumb.div.style.top=t.component.y+t.d.miny+"px"}}),e.Overlays.Custom=function(t){this.type="Custom",l.apply(this,arguments)},n.extend(e.Overlays.Custom,l),e.Overlays.GuideLines=function(){var t=this;t.length=50,t.strokeWidth=5,this.type="GuideLines",r.apply(this,arguments),e.jsPlumbUIComponent.apply(this,arguments),this.draw=function(e,n){var o=e.pointAlongPathFrom(t.loc,t.length/2),s=e.pointOnPath(t.loc),r=i.pointOnLine(o,s,t.length),a=i.perpendicularLineTo(o,r,40),l=i.perpendicularLineTo(r,o,20);return{connector:e,head:o,tail:r,headLine:l,tailLine:a,minX:Math.min(o.x,r.x,l[0].x,l[1].x),minY:Math.min(o.y,r.y,l[0].y,l[1].y),maxX:Math.max(o.x,r.x,l[0].x,l[1].x),maxY:Math.max(o.y,r.y,l[0].y,l[1].y)}}},e.Overlays.Label=function(t){this.labelStyle=t.labelStyle;this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;var n=e.extend({create:function(){return e.createElement("div")}},t);if(e.Overlays.Custom.call(this,n),this.type="Label",this.label=t.label||"",this.labelText=null,this.labelStyle){var i=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",i.style.font=this.labelStyle.font,i.style.color=this.labelStyle.color||"black",this.labelStyle.fill&&(i.style.background=this.labelStyle.fill),this.labelStyle.borderWidth>0){var o=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";i.style.border=this.labelStyle.borderWidth+"px solid "+o}this.labelStyle.padding&&(i.style.padding=this.labelStyle.padding)}},n.extend(e.Overlays.Label,e.Overlays.Custom,{cleanup:function(t){t&&(this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null)},getLabel:function(){return this.label},setLabel:function(t){this.label=t,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),l.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"===typeof this.label){var t=this.label(this);this.getElement().innerHTML=t.replace(/\r\n/g,"<br/>")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"<br/>"))},updateFrom:function(t){null!=t.label&&this.setLabel(t.label)}})}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumbUtil,n=t.jsPlumbInstance,i="jtk-group-collapsed",o="jtk-group-expanded",s="[jtk-group-content]",r="elementDraggable",a="stop",l="revert",u="_groupManager",c="_jsPlumbGroup",h="_jsPlumbGroupDrag",d="group:addMember",p="group:removeMember",f="group:add",g="group:remove",m="group:expand",v="group:collapse",b="groupDragStop",y="connectionMoved",P="internal.connectionDetached",_="removeAll",x="orphanAll",C="show",E="hide",S=function(t){var n={},s={},r={},a=this;function l(e,n){var i=t.getContainer(),o=!1;while(!o){if(null==e||e===i)return!1;if(e===n)return!0;e=e.parentNode}}function u(t){delete t.proxies;var n,i=s[t.id];null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete s[t.id]),i=r[t.id],null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete r[t.id])}function h(e,n){for(var i=e.getEl().querySelectorAll(".jtk-managed"),o=0;o<i.length;o++)t[n?C:E](i[o],!0)}t.bind("connection",(function(n){var i=t.getGroupFor(n.source),o=t.getGroupFor(n.target);null!=i&&null!=o&&i===o?(s[n.connection.id]=i,r[n.connection.id]=i):(null!=i&&(e.suggest(i.connections.source,n.connection),s[n.connection.id]=i),null!=o&&(e.suggest(o.connections.target,n.connection),r[n.connection.id]=o))})),t.bind(P,(function(t){u(t.connection)})),t.bind(y,(function(t){var e=0===t.index?s:r,n=e[t.connection.id];if(n){var i=n.connections[0===t.index?"source":"target"],o=i.indexOf(t.connection);-1!==o&&i.splice(o,1)}})),this.addGroup=function(e){t.addClass(e.getEl(),o),n[e.id]=e,e.manager=this,S(e),t.fire(f,{group:e})},this.addToGroup=function(e,n,i){if(e=this.getGroup(e),e){var o=e.getEl();if(n._isJsPlumbGroup)return;var s=n._jsPlumbGroup;if(s!==e){t.removeFromDragSelection(n);var r=t.getOffset(n,!0),l=e.collapsed?t.getOffset(o,!0):t.getOffset(e.getDragArea(),!0);null!=s&&(s.remove(n,!1,i,!1,e),a.updateConnectionsForGroup(s)),e.add(n,i);var u=function(t,n){var i=0===n?1:0;t.each((function(t){t.setVisible(!1),t.endpoints[i].element._jsPlumbGroup===e?(t.endpoints[i].setVisible(!1),b(t,i,e)):(t.endpoints[n].setVisible(!1),p(t,n,e))}))};e.collapsed&&(u(t.select({source:n}),0),u(t.select({target:n}),1));var c=t.getId(n);t.dragManager.setParent(n,c,o,t.getId(o),r);var h={left:r.left-l.left,top:r.top-l.top};if(t.setPosition(n,h),t.dragManager.revalidateParent(n,c,r),a.updateConnectionsForGroup(e),t.revalidate(c),!i){var f={group:e,el:n,pos:h};s&&(f.sourceGroup=s),t.fire(d,f)}}}},this.removeFromGroup=function(t,e,n){if(t=this.getGroup(t),t){if(t.collapsed){var i=function(n,i){for(var o=0;o<n.length;o++){var s=n[o];if(s.proxies)for(var r=0;r<s.proxies.length;r++)if(null!=s.proxies[r]){var a=s.proxies[r].originalEp.element;(a===e||l(a,e))&&b(s,i,t)}}};i(t.connections.source.slice(),0),i(t.connections.target.slice(),1)}t.remove(e,null,n)}},this.getGroup=function(t){var i=t;if(e.isString(t)&&(i=n[t],null==i))throw new TypeError("No such group ["+t+"]");return i},this.getGroups=function(){var t=[];for(var e in n)t.push(n[e]);return t},this.removeGroup=function(e,i,o,s){e=this.getGroup(e),this.expandGroup(e,!0);var r=e[i?_:x](o,s);return t.remove(e.getEl()),delete n[e.id],delete t._groups[e.id],t.fire(g,{group:e}),r},this.removeAllGroups=function(t,e,i){for(var o in n)this.removeGroup(n[o],t,e,i)};var p=function(e,n,i){var o=e.endpoints[0===n?1:0].element;if(!o[c]||o[c].shouldProxy()||!o[c].collapsed){var s=i.getEl(),r=t.getId(s);t.proxyConnection(e,n,s,r,(function(t,e){return i.getEndpoint(t,e)}),(function(t,e){return i.getAnchor(t,e)}))}};this.collapseGroup=function(e){if(e=this.getGroup(e),null!=e&&!e.collapsed){var n=e.getEl();if(h(e,!1),e.shouldProxy()){var s=function(t,n){for(var i=0;i<t.length;i++){var o=t[i];p(o,n,e)}};s(e.connections.source,0),s(e.connections.target,1)}e.collapsed=!0,t.removeClass(n,o),t.addClass(n,i),t.revalidate(n),t.fire(v,{group:e})}};var b=function(e,n,i){t.unproxyConnection(e,n,t.getId(i.getEl()))};function S(e){for(var n=e.getMembers().slice(),i=[],o=0;o<n.length;o++)Array.prototype.push.apply(i,n[o].querySelectorAll(".jtk-managed"));Array.prototype.push.apply(n,i);var a=t.getConnections({source:n,scope:"*"},!0),l=t.getConnections({target:n,scope:"*"},!0),u={};e.connections.source.length=0,e.connections.target.length=0;var c=function(n){for(var i=0;i<n.length;i++)if(!u[n[i].id]){u[n[i].id]=!0;var o=t.getGroupFor(n[i].source),a=t.getGroupFor(n[i].target);o===e?(a!==e&&e.connections.source.push(n[i]),s[n[i].id]=e):a===e&&(e.connections.target.push(n[i]),r[n[i].id]=e)}};c(a),c(l)}this.expandGroup=function(e,n){if(e=this.getGroup(e),null!=e&&e.collapsed){var s=e.getEl();if(h(e,!0),e.shouldProxy()){var r=function(t,n){for(var i=0;i<t.length;i++){var o=t[i];b(o,n,e)}};r(e.connections.source,0),r(e.connections.target,1)}e.collapsed=!1,t.addClass(s,o),t.removeClass(s,i),t.revalidate(s),this.repaintGroup(e),n||t.fire(m,{group:e})}},this.repaintGroup=function(e){e=this.getGroup(e);for(var n=e.getMembers(),i=0;i<n.length;i++)t.revalidate(n[i])},this.updateConnectionsForGroup=S,this.refreshAllGroups=function(){for(var e in n)S(n[e]),t.dragManager.updateOffsets(t.getId(n[e].getEl()))}},j=function(n,i){var o=this,u=i.el;this.getEl=function(){return u},this.id=i.id||e.uuid(),u._isJsPlumbGroup=!0;var d=this.getDragArea=function(){var t=n.getSelector(u,s);return t&&t.length>0?t[0]:u},f=!0===i.ghost,g=f||!0===i.constrain,m=!1!==i.revert,v=!0===i.orphan,y=!0===i.prune,P=!0===i.dropOverride,_=!1!==i.proxied,x=[];if(this.connections={source:[],target:[],internal:[]},this.getAnchor=function(t,e){return i.anchor||"Continuous"},this.getEndpoint=function(t,e){return i.endpoint||["Dot",{radius:10}]},this.collapsed=!1,!1!==i.draggable){var C={drag:function(){for(var t=0;t<x.length;t++)n.draw(x[t])},stop:function(t){n.fire(b,jsPlumb.extend(t,{group:o}))},scope:h};i.dragOptions&&t.jsPlumb.extend(C,i.dragOptions),n.draggable(i.el,C)}!1!==i.droppable&&n.droppable(i.el,{drop:function(t){var e=t.drag.el;if(!e._isJsPlumbGroup){var i=e._jsPlumbGroup;if(i!==o){if(null!=i&&i.overrideDrop(e,o))return;n.getGroupManager().addToGroup(o,e,!1)}}}});var E=function(t,e){for(var n=null==t.nodeType?t:[t],i=0;i<n.length;i++)e(n[i])};function S(t){return t.offsetParent}function j(t,e){var i=S(t),o=n.getSize(i),s=n.getSize(t),r=e[0],a=r+s[0],l=e[1],u=l+s[1];return a>0&&r<o[0]&&u>0&&l<o[1]}function w(t){var e=n.getId(t),i=n.getOffset(t);return t.parentNode.removeChild(t),n.getContainer().appendChild(t),n.setPosition(t,i),A(t),n.dragManager.clearParent(t,e),[e,i]}function D(t){var e=[];function i(t,e,i){var o=null;if(!j(t,[e,i])){var s=t._jsPlumbGroup;y?n.remove(t):o=w(t),s.remove(t)}return o}for(var o=0;o<t.selection.length;o++)e.push(i(t.selection[o][0],t.selection[o][1].left,t.selection[o][1].top));return 1===e.length?e[0]:e}function I(t){var e=n.getId(t);n.revalidate(t),n.dragManager.revalidateParent(t,e)}function A(t){t._katavorioDrag&&((y||v)&&t._katavorioDrag.off(a,D),y||v||!m||(t._katavorioDrag.off(l,I),t._katavorioDrag.setRevert(null)))}function k(t){t._katavorioDrag&&((y||v)&&t._katavorioDrag.on(a,D),g&&t._katavorioDrag.setConstrain(!0),f&&t._katavorioDrag.setUseGhostProxy(!0),y||v||!m||(t._katavorioDrag.on(l,I),t._katavorioDrag.setRevert((function(t,e){return!j(t,e)}))))}this.overrideDrop=function(t,e){return P&&(m||y||v)},this.add=function(t,e){var i=d();E(t,(function(t){if(null!=t._jsPlumbGroup){if(t._jsPlumbGroup===o)return;t._jsPlumbGroup.remove(t,!0,e,!1)}t._jsPlumbGroup=o,x.push(t),n.isAlreadyDraggable(t)&&k(t),t.parentNode!==i&&i.appendChild(t)})),n.getGroupManager().updateConnectionsForGroup(o)},this.remove=function(t,i,s,r,a){E(t,(function(t){if(t._jsPlumbGroup===o){if(delete t._jsPlumbGroup,e.removeWithFunction(x,(function(e){return e===t})),i)try{o.getDragArea().removeChild(t)}catch(l){jsPlumbUtil.log("Could not remove element from Group "+l)}if(A(t),!s){var r={group:o,el:t};a&&(r.targetGroup=a),n.fire(p,r)}}})),r||n.getGroupManager().updateConnectionsForGroup(o)},this.removeAll=function(t,e){for(var i=0,s=x.length;i<s;i++){var r=x[0];o.remove(r,t,e,!0),n.remove(r,!0)}x.length=0,n.getGroupManager().updateConnectionsForGroup(o)},this.orphanAll=function(){for(var t={},e=0;e<x.length;e++){var n=w(x[e]);t[n[0]]=n[1]}return x.length=0,t},this.getMembers=function(){return x},u[c]=this,n.bind(r,function(t){t.el._jsPlumbGroup===this&&k(t.el)}.bind(this)),this.shouldProxy=function(){return _},n.getGroupManager().addGroup(this)};n.prototype.addGroup=function(t){var e=this;if(e._groups=e._groups||{},null!=e._groups[t.id])throw new TypeError("cannot create Group ["+t.id+"]; a Group with that ID exists");if(null!=t.el[c])throw new TypeError("cannot create Group ["+t.id+"]; the given element is already a Group");var n=new j(e,t);return e._groups[n.id]=n,t.collapsed&&this.collapseGroup(n),n},n.prototype.addToGroup=function(t,e,n){var i=function(e){var i=this.getId(e);this.manage(i,e),this.getGroupManager().addToGroup(t,e,n)}.bind(this);if(Array.isArray(e))for(var o=0;o<e.length;o++)i(e[o]);else i(e)},n.prototype.removeFromGroup=function(t,e,n){this.getGroupManager().removeFromGroup(t,e,n),this.getContainer().appendChild(e)},n.prototype.removeGroup=function(t,e,n,i){return this.getGroupManager().removeGroup(t,e,n,i)},n.prototype.removeAllGroups=function(t,e,n){this.getGroupManager().removeAllGroups(t,e,n)},n.prototype.getGroup=function(t){return this.getGroupManager().getGroup(t)},n.prototype.getGroups=function(){return this.getGroupManager().getGroups()},n.prototype.expandGroup=function(t){this.getGroupManager().expandGroup(t)},n.prototype.collapseGroup=function(t){this.getGroupManager().collapseGroup(t)},n.prototype.repaintGroup=function(t){this.getGroupManager().repaintGroup(t)},n.prototype.toggleGroup=function(t){t=this.getGroupManager().getGroup(t),null!=t&&this.getGroupManager()[t.collapsed?"expandGroup":"collapseGroup"](t)},n.prototype.getGroupManager=function(){var t=this[u];return null==t&&(t=this[u]=new S(this)),t},n.prototype.removeGroupManager=function(){delete this[u]},n.prototype.getGroupFor=function(t){if(t=this.getElement(t),t){var e=this.getContainer(),n=!1,i=null;while(!n)null==t||t===e?n=!0:t[c]?(i=t[c],t,n=!0):t=t.parentNode;return i}}}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i="Straight",o="Arc",s=function(t){this.type="Flowchart",t=t||{},t.stub=null==t.stub?30:t.stub;var n,s=e.Connectors.AbstractConnector.apply(this,arguments),r=null==t.midpoint||isNaN(t.midpoint)?.5:t.midpoint,a=!0===t.alwaysRespectStubs,l=null,u=null,c=null!=t.cornerRadius?t.cornerRadius:0,h=(t.loopbackRadius,function(t){return t<0?-1:0===t?0:1}),d=function(t){return[h(t[2]-t[0]),h(t[3]-t[1])]},p=function(t,e,n,i){if(l!==e||u!==n){var o=null==l?i.sx:l,s=null==u?i.sy:u,r=o===e?"v":"h";l=e,u=n,t.push([o,s,e,n,r])}},f=function(t){return Math.sqrt(Math.pow(t[0]-t[2],2)+Math.pow(t[1]-t[3],2))},g=function(t){var e=[];return e.push.apply(e,t),e},m=function(t,e,n){for(var r,a,l,u=null,h=0;h<e.length-1;h++){if(u=u||g(e[h]),r=g(e[h+1]),a=d(u),l=d(r),c>0&&u[4]!==r[4]){var p=Math.min(f(u),f(r)),m=Math.min(c,p/2);u[2]-=a[0]*m,u[3]-=a[1]*m,r[0]+=l[0]*m,r[1]+=l[1]*m;var v=a[1]===l[0]&&1===l[0]||a[1]===l[0]&&0===l[0]&&a[0]!==l[1]||a[1]===l[0]&&-1===l[0],b=r[1]>u[3]?1:-1,y=r[0]>u[2]?1:-1,P=b===y,_=P&&v||!P&&!v?r[0]:u[2],x=P&&v||!P&&!v?u[3]:r[1];s.addSegment(t,i,{x1:u[0],y1:u[1],x2:u[2],y2:u[3]}),s.addSegment(t,o,{r:m,x1:u[2],y1:u[3],x2:r[0],y2:r[1],cx:_,cy:x,ac:v})}else{var C=u[2]===u[0]?0:u[2]>u[0]?n.lw/2:-n.lw/2,E=u[3]===u[1]?0:u[3]>u[1]?n.lw/2:-n.lw/2;s.addSegment(t,i,{x1:u[0]-C,y1:u[1]-E,x2:u[2]+C,y2:u[3]+E})}u=r}null!=r&&s.addSegment(t,i,{x1:r[0],y1:r[1],x2:r[2],y2:r[3]})};this.midpoint=r,this._compute=function(t,e){n=[],l=null,u=null,null;var i=function(){return[t.startStubX,t.startStubY,t.endStubX,t.endStubY]},o={perpendicular:i,orthogonal:i,opposite:function(e){var n=t,i="x"===e?0:1,o={x:function(){return 1===n.so[i]&&(n.startStubX>n.endStubX&&n.tx>n.startStubX||n.sx>n.endStubX&&n.tx>n.sx)||-1===n.so[i]&&(n.startStubX<n.endStubX&&n.tx<n.startStubX||n.sx<n.endStubX&&n.tx<n.sx)},y:function(){return 1===n.so[i]&&(n.startStubY>n.endStubY&&n.ty>n.startStubY||n.sy>n.endStubY&&n.ty>n.sy)||-1===n.so[i]&&(n.startStubY<n.endStubY&&n.ty<n.startStubY||n.sy<n.endStubY&&n.ty<n.sy)}};return!a&&o[e]()?{x:[(t.sx+t.tx)/2,t.startStubY,(t.sx+t.tx)/2,t.endStubY],y:[t.startStubX,(t.sy+t.ty)/2,t.endStubX,(t.sy+t.ty)/2]}[e]:[t.startStubX,t.startStubY,t.endStubX,t.endStubY]}},c=o[t.anchorOrientation](t.sourceAxis),h="x"===t.sourceAxis?0:1,d="x"===t.sourceAxis?1:0,f=c[h],g=c[d],v=c[h+2],b=c[d+2];p(n,c[0],c[1],t);var y=t.startStubX+(t.endStubX-t.startStubX)*r,P=t.startStubY+(t.endStubY-t.startStubY)*r,_={x:[0,1],y:[1,0]},x={perpendicular:function(e){var n=t,i={x:[[[1,2,3,4],null,[2,1,4,3]],null,[[4,3,2,1],null,[3,4,1,2]]],y:[[[3,2,1,4],null,[2,3,4,1]],null,[[4,1,2,3],null,[1,4,3,2]]]},o={x:[[n.startStubX,n.endStubX],null,[n.endStubX,n.startStubX]],y:[[n.startStubY,n.endStubY],null,[n.endStubY,n.startStubY]]},s={x:[[y,n.startStubY],[y,n.endStubY]],y:[[n.startStubX,P],[n.endStubX,P]]},r={x:[[n.endStubX,n.startStubY]],y:[[n.startStubX,n.endStubY]]},a={x:[[n.startStubX,n.endStubY],[n.endStubX,n.endStubY]],y:[[n.endStubX,n.startStubY],[n.endStubX,n.endStubY]]},l={x:[[n.startStubX,P],[n.endStubX,P],[n.endStubX,n.endStubY]],y:[[y,n.startStubY],[y,n.endStubY],[n.endStubX,n.endStubY]]},u={x:[n.startStubY,n.endStubY],y:[n.startStubX,n.endStubX]},c=_[e][0],h=_[e][1],d=n.so[c]+1,p=n.to[h]+1,f=-1===n.to[h]&&u[e][1]<u[e][0]||1===n.to[h]&&u[e][1]>u[e][0],g=o[e][d][0],m=o[e][d][1],v=i[e][d][p];return n.segment===v[3]||n.segment===v[2]&&f?s[e]:n.segment===v[2]&&m<g?r[e]:n.segment===v[2]&&m>=g||n.segment===v[1]&&!f?l[e]:n.segment===v[0]||n.segment===v[1]&&f?a[e]:void 0},orthogonal:function(e,n,i,o,s){var r=t,a={x:-1===r.so[0]?Math.min(n,o):Math.max(n,o),y:-1===r.so[1]?Math.min(n,o):Math.max(n,o)}[e];return{x:[[a,i],[a,s],[o,s]],y:[[i,a],[s,a],[s,o]]}[e]},opposite:function(n,i,o,r){var a=t,l={x:"y",y:"x"}[n],u={x:"height",y:"width"}[n],c=a["is"+n.toUpperCase()+"GreaterThanStubTimes2"];if(e.sourceEndpoint.elementId===e.targetEndpoint.elementId){var d=o+(1-e.sourceEndpoint.anchor[l])*e.sourceInfo[u]+s.maxStub;return{x:[[i,d],[r,d]],y:[[d,i],[d,r]]}[n]}return!c||1===a.so[h]&&i>r||-1===a.so[h]&&i<r?{x:[[i,P],[r,P]],y:[[y,i],[y,r]]}[n]:1===a.so[h]&&i<r||-1===a.so[h]&&i>r?{x:[[y,a.sy],[y,a.ty]],y:[[a.sx,P],[a.tx,P]]}[n]:void 0}},C=x[t.anchorOrientation](t.sourceAxis,f,g,v,b);if(C)for(var E=0;E<C.length;E++)p(n,C[E][0],C[E][1],t);p(n,c[2],c[3],t),p(n,t.tx,t.ty,t),m(this,n,t)}};e.Connectors.Flowchart=s,n.extend(e.Connectors.Flowchart,e.Connectors.AbstractConnector)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil;e.Connectors.AbstractBezierConnector=function(t){t=t||{};var n,i=!1!==t.showLoopback,o=(t.curviness,t.margin||5),s=(t.proximityLimit,t.orientation&&"clockwise"===t.orientation),r=t.loopbackRadius||25;return this._compute=function(t,e){var a=e.sourcePos,l=e.targetPos,u=Math.abs(a[0]-l[0]),c=Math.abs(a[1]-l[1]);if(i&&e.sourceEndpoint.elementId===e.targetEndpoint.elementId){!0;var h=e.sourcePos[0],d=e.sourcePos[1]-o,p=h,f=d-r,g=p-r,m=f-r;u=2*r,c=2*r,t.points[0]=g,t.points[1]=m,t.points[2]=u,t.points[3]=c,n.addSegment(this,"Arc",{loopback:!0,x1:h-g+4,y1:d-m,startAngle:0,endAngle:2*Math.PI,r:r,ac:!s,x2:h-g-4,y2:d-m,cx:p-g,cy:f-m})}else!1,this._computeBezier(t,e,a,l,u,c)},n=e.Connectors.AbstractConnector.apply(this,arguments),n},n.extend(e.Connectors.AbstractBezierConnector,e.Connectors.AbstractConnector);var i=function(t){t=t||{},this.type="Bezier";var n=e.Connectors.AbstractBezierConnector.apply(this,arguments),i=t.curviness||150,o=10;this.getCurviness=function(){return i},this._findControlPoint=function(t,e,n,s,r,a,l){var u=a[0]!==l[0]||a[1]===l[1],c=[];return u?(0===l[0]?c.push(n[0]<e[0]?t[0]+o:t[0]-o):c.push(t[0]+i*l[0]),0===l[1]?c.push(n[1]<e[1]?t[1]+o:t[1]-o):c.push(t[1]+i*a[1])):(0===a[0]?c.push(e[0]<n[0]?t[0]+o:t[0]-o):c.push(t[0]-i*a[0]),0===a[1]?c.push(e[1]<n[1]?t[1]+o:t[1]-o):c.push(t[1]+i*l[1])),c},this._computeBezier=function(t,e,i,o,s,r){var a,l,u=i[0]<o[0]?s:0,c=i[1]<o[1]?r:0,h=i[0]<o[0]?0:s,d=i[1]<o[1]?0:r;a=this._findControlPoint([u,c],i,o,e.sourceEndpoint,e.targetEndpoint,t.so,t.to),l=this._findControlPoint([h,d],o,i,e.targetEndpoint,e.sourceEndpoint,t.to,t.so),n.addSegment(this,"Bezier",{x1:u,y1:c,x2:h,y2:d,cp1x:a[0],cp1y:a[1],cp2x:l[0],cp2y:l[1]})}};e.Connectors.Bezier=i,n.extend(i,e.Connectors.AbstractBezierConnector)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=function(t,e,n,i){return t<=n&&i<=e?1:t<=n&&e<=i?2:n<=t&&i>=e?3:4},o=function(t,e,n,i,o,s,r,a,l){return a<=l?[t,e]:1===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:2===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:3===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:4===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:void 0},s=function(t){t=t||{},this.type="StateMachine";var n,s=e.Connectors.AbstractBezierConnector.apply(this,arguments),r=t.curviness||10,a=t.margin||5,l=t.proximityLimit||80;t.orientation&&t.orientation;this._computeBezier=function(t,e,u,c,h,d){var p=e.sourcePos[0]<e.targetPos[0]?0:h,f=e.sourcePos[1]<e.targetPos[1]?0:d,g=e.sourcePos[0]<e.targetPos[0]?h:0,m=e.sourcePos[1]<e.targetPos[1]?d:0;0===e.sourcePos[2]&&(p-=a),1===e.sourcePos[2]&&(p+=a),0===e.sourcePos[3]&&(f-=a),1===e.sourcePos[3]&&(f+=a),0===e.targetPos[2]&&(g-=a),1===e.targetPos[2]&&(g+=a),0===e.targetPos[3]&&(m-=a),1===e.targetPos[3]&&(m+=a);var v,b,y,P,_=(p+g)/2,x=(f+m)/2,C=i(p,f,g,m),E=Math.sqrt(Math.pow(g-p,2)+Math.pow(m-f,2));n=o(_,x,C,e.sourcePos,e.targetPos,r,r,E,l),v=n[0],b=n[0],y=n[1],P=n[1],s.addSegment(this,"Bezier",{x1:g,y1:m,x2:p,y2:f,cp1x:v,cp1y:y,cp2x:b,cp2y:P})}};e.Connectors.StateMachine=s,n.extend(s,e.Connectors.AbstractBezierConnector)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i="Straight",o=function(t){this.type=i;var n=e.Connectors.AbstractConnector.apply(this,arguments);this._compute=function(t,e){n.addSegment(this,i,{x1:t.sx,y1:t.sy,x2:t.startStubX,y2:t.startStubY}),n.addSegment(this,i,{x1:t.startStubX,y1:t.startStubY,x2:t.endStubX,y2:t.endStubY}),n.addSegment(this,i,{x1:t.endStubX,y1:t.endStubY,x2:t.tx,y2:t.ty})}};e.Connectors.Straight=o,n.extend(o,e.Connectors.AbstractConnector)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i={"stroke-linejoin":"stroke-linejoin","stroke-dashoffset":"stroke-dashoffset","stroke-linecap":"stroke-linecap"},o="stroke-dasharray",s="dashstyle",r="linearGradient",a="radialGradient",l="defs",u="fill",c="stop",h="stroke",d="stroke-width",p="style",f="none",g="jsplumb_gradient_",m="strokeWidth",v={svg:"http://www.w3.org/2000/svg"},b=function(t,e){for(var n in e)t.setAttribute(n,""+e[n])},y=function(t,n){return n=n||{},n.version="1.1",n.xmlns=v.svg,e.createElementNS(v.svg,t,null,null,n)},P=function(t){return"position:absolute;left:"+t[0]+"px;top:"+t[1]+"px"},_=function(t){for(var e=t.querySelectorAll(" defs,linearGradient,radialGradient"),n=0;n<e.length;n++)e[n].parentNode.removeChild(e[n])},x=function(t,e,n,i,o){var s,d=g+o._jsPlumb.instance.idstamp();_(t),s=n.gradient.offset?y(a,{id:d}):y(r,{id:d,gradientUnits:"userSpaceOnUse"});var p=y(l);t.appendChild(p),p.appendChild(s);for(var f=0;f<n.gradient.stops.length;f++){var m=1===o.segment||2===o.segment?f:n.gradient.stops.length-1-f,v=n.gradient.stops[m][1],b=y(c,{offset:Math.floor(100*n.gradient.stops[f][0])+"%","stop-color":v});s.appendChild(b)}var P=n.stroke?h:u;e.setAttribute(P,"url(#"+d+")")},C=function(t,e,n,r,a){if(e.setAttribute(u,n.fill?n.fill:f),e.setAttribute(h,n.stroke?n.stroke:f),n.gradient?x(t,e,n,r,a):(_(t),e.setAttribute(p,"")),n.strokeWidth&&e.setAttribute(d,n.strokeWidth),n[s]&&n[m]&&!n[o]){var l=-1===n[s].indexOf(",")?" ":",",c=n[s].split(l),g="";c.forEach((function(t){g+=Math.floor(t*n.strokeWidth)+l})),e.setAttribute(o,g)}else n[o]&&e.setAttribute(o,n[o]);for(var v in i)n[v]&&e.setAttribute(i[v],n[v])},E=function(t,e,n){t.childNodes.length>n?t.insertBefore(e,t.childNodes[n]):t.appendChild(e)};n.svg={node:y,attr:b,pos:P};var S=function(t){var i=t.pointerEventsSpec||"all",o={};e.jsPlumbUIComponent.apply(this,t.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var s=t.cssClass+" "+(t.originalArgs[0].cssClass||""),r={style:"",width:0,height:0,"pointer-events":i,position:"absolute"};this.svg=y("svg",r),t.useDivWrapper?(this.canvas=e.createElement("div",{position:"absolute"}),n.sizeElement(this.canvas,0,0,1,1),this.canvas.className=s):(b(this.svg,{class:s}),this.canvas=this.svg),t._jsPlumb.appendElement(this.canvas,t.originalArgs[0].parent),t.useDivWrapper&&this.canvas.appendChild(this.svg);var a=[this.canvas];return this.getDisplayElements=function(){return a},this.appendDisplayElement=function(t){a.push(t)},this.paint=function(e,i,s){if(null!=e){var r,a=[this.x,this.y],l=[this.w,this.h];null!=s&&(s.xmin<0&&(a[0]+=s.xmin),s.ymin<0&&(a[1]+=s.ymin),l[0]=s.xmax+(s.xmin<0?-s.xmin:0),l[1]=s.ymax+(s.ymin<0?-s.ymin:0)),t.useDivWrapper?(n.sizeElement(this.canvas,a[0],a[1],l[0]>0?l[0]:1,l[1]>0?l[1]:1),a[0]=0,a[1]=0,r=P([0,0])):r=P([a[0],a[1]]),o.paint.apply(this,arguments),b(this.svg,{style:r,width:l[0]||1,height:l[1]||1})}},{renderer:o}};n.extend(S,e.jsPlumbUIComponent,{cleanup:function(t){t||null==this.typeId?(this.canvas&&(this.canvas._jsPlumb=null),this.svg&&(this.svg._jsPlumb=null),this.bgCanvas&&(this.bgCanvas._jsPlumb=null),this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.path=null,this.group=null,this._jsPlumb=null):(this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.bgCanvas.parentNode.removeChild(this.bgCanvas))},reattach:function(t){var e=t.getContainer();this.canvas&&null==this.canvas.parentNode&&e.appendChild(this.canvas),this.bgCanvas&&null==this.bgCanvas.parentNode&&e.appendChild(this.bgCanvas)},setVisible:function(t){this.canvas&&(this.canvas.style.display=t?"block":"none")}}),e.ConnectorRenderers.svg=function(t){var n=this,i=S.apply(this,[{cssClass:t._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:t._jsPlumb}]);i.renderer.paint=function(i,o,s){var r=n.getSegments(),a="",l=[0,0];if(s.xmin<0&&(l[0]=-s.xmin),s.ymin<0&&(l[1]=-s.ymin),r.length>0){a=n.getPathData();var u={d:a,transform:"translate("+l[0]+","+l[1]+")","pointer-events":t["pointer-events"]||"visibleStroke"},c=null,h=[n.x,n.y,n.w,n.h];if(i.outlineStroke){var d=i.outlineWidth||1,p=i.strokeWidth+2*d;c=e.extend({},i),delete c.gradient,c.stroke=i.outlineStroke,c.strokeWidth=p,null==n.bgPath?(n.bgPath=y("path",u),e.addClass(n.bgPath,e.connectorOutlineClass),E(n.svg,n.bgPath,0)):b(n.bgPath,u),C(n.svg,n.bgPath,c,h,n)}null==n.path?(n.path=y("path",u),E(n.svg,n.path,i.outlineStroke?1:0)):b(n.path,u),C(n.svg,n.path,i,h,n)}}},n.extend(e.ConnectorRenderers.svg,S);var j=e.SvgEndpoint=function(t){var n=S.apply(this,[{cssClass:t._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:t._jsPlumb}]);n.renderer.paint=function(t){var n=e.extend({},t);n.outlineStroke&&(n.stroke=n.outlineStroke),null==this.node?(this.node=this.makeNode(n),this.svg.appendChild(this.node)):null!=this.updateNode&&this.updateNode(this.node),C(this.svg,this.node,n,[this.x,this.y,this.w,this.h],this),P(this.node,[this.x,this.y])}.bind(this)};n.extend(j,S),e.Endpoints.svg.Dot=function(){e.Endpoints.Dot.apply(this,arguments),j.apply(this,arguments),this.makeNode=function(t){return y("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(t){b(t,{cx:this.w/2,cy:this.h/2,r:this.radius})}},n.extend(e.Endpoints.svg.Dot,[e.Endpoints.Dot,j]),e.Endpoints.svg.Rectangle=function(){e.Endpoints.Rectangle.apply(this,arguments),j.apply(this,arguments),this.makeNode=function(t){return y("rect",{width:this.w,height:this.h})},this.updateNode=function(t){b(t,{width:this.w,height:this.h})}},n.extend(e.Endpoints.svg.Rectangle,[e.Endpoints.Rectangle,j]),e.Endpoints.svg.Image=e.Endpoints.Image,e.Endpoints.svg.Blank=e.Endpoints.Blank,e.Overlays.svg.Label=e.Overlays.Label,e.Overlays.svg.Custom=e.Overlays.Custom;var w=function(t,n){t.apply(this,n),e.jsPlumbUIComponent.apply(this,n),this.isAppendedAtTopLevel=!1;this.path=null,this.paint=function(t,e){if(t.component.svg&&e){null==this.path&&(this.path=y("path",{"pointer-events":"all"}),t.component.svg.appendChild(this.path),this.elementCreated&&this.elementCreated(this.path,t.component),this.canvas=t.component.svg);var o=n&&1===n.length&&n[0].cssClass||"",s=[0,0];e.xmin<0&&(s[0]=-e.xmin),e.ymin<0&&(s[1]=-e.ymin),b(this.path,{d:i(t.d),class:o,stroke:t.stroke?t.stroke:null,fill:t.fill?t.fill:null,transform:"translate("+s[0]+","+s[1]+")"})}};var i=function(t){return isNaN(t.cxy.x)||isNaN(t.cxy.y)?"":"M"+t.hxy.x+","+t.hxy.y+" L"+t.tail[0].x+","+t.tail[0].y+" L"+t.cxy.x+","+t.cxy.y+" L"+t.tail[1].x+","+t.tail[1].y+" L"+t.hxy.x+","+t.hxy.y};this.transfer=function(t){t.canvas&&this.path&&this.path.parentNode&&(this.path.parentNode.removeChild(this.path),t.canvas.appendChild(this.path))}},D={cleanup:function(t){null!=this.path&&(t?this._jsPlumb.instance.removeElement(this.path):this.path.parentNode&&this.path.parentNode.removeChild(this.path))},reattach:function(t,e){this.path&&e.canvas&&e.canvas.appendChild(this.path)},setVisible:function(t){null!=this.path&&(this.path.style.display=t?"block":"none")}};n.extend(w,[e.jsPlumbUIComponent,e.Overlays.AbstractOverlay]),e.Overlays.svg.Arrow=function(){w.apply(this,[e.Overlays.Arrow,arguments])},n.extend(e.Overlays.svg.Arrow,[e.Overlays.Arrow,w],D),e.Overlays.svg.PlainArrow=function(){w.apply(this,[e.Overlays.PlainArrow,arguments])},n.extend(e.Overlays.svg.PlainArrow,[e.Overlays.PlainArrow,w],D),e.Overlays.svg.Diamond=function(){w.apply(this,[e.Overlays.Diamond,arguments])},n.extend(e.Overlays.svg.Diamond,[e.Overlays.Diamond,w],D),e.Overlays.svg.GuideLines=function(){var t,n,i=null,o=this;e.Overlays.GuideLines.apply(this,arguments),this.paint=function(e,r){null==i&&(i=y("path"),e.connector.svg.appendChild(i),o.attachListeners(i,e.connector),o.attachListeners(i,o),t=y("path"),e.connector.svg.appendChild(t),o.attachListeners(t,e.connector),o.attachListeners(t,o),n=y("path"),e.connector.svg.appendChild(n),o.attachListeners(n,e.connector),o.attachListeners(n,o));var a=[0,0];r.xmin<0&&(a[0]=-r.xmin),r.ymin<0&&(a[1]=-r.ymin),b(i,{d:s(e.head,e.tail),stroke:"red",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(t,{d:s(e.tailLine[0],e.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(n,{d:s(e.headLine[0],e.headLine[1]),stroke:"green",fill:null,transform:"translate("+a[0]+","+a[1]+")"})};var s=function(t,e){return"M "+t.x+","+t.y+" L"+e.x+","+e.y}},n.extend(e.Overlays.svg.GuideLines,e.Overlays.GuideLines)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=t.Katavorio,o=t.Biltong,s=function(e){var n=e._mottle;return n||(n=e._mottle=new t.Mottle),n},r=function(t,n){n=n||"main";var s="_katavorio_"+n,r=t[s],a=t.getEventManager();return r||(r=new i({bind:a.on,unbind:a.off,getSize:e.getSize,getConstrainingRectangle:function(t){return[t.parentNode.scrollWidth,t.parentNode.scrollHeight]},getPosition:function(e,n){var i=t.getOffset(e,n,e._katavorioDrag?e.offsetParent:null);return[i.left,i.top]},setPosition:function(t,e){t.style.left=e[0]+"px",t.style.top=e[1]+"px"},addClass:e.addClass,removeClass:e.removeClass,intersects:o.intersects,indexOf:function(t,e){return t.indexOf(e)},scope:t.getDefaultScope(),css:{noSelect:t.dragSelectClass,droppable:"jtk-droppable",draggable:"jtk-draggable",drag:"jtk-drag",selected:"jtk-drag-selected",active:"jtk-drag-active",hover:"jtk-drag-hover",ghostProxy:"jtk-ghost-proxy"}}),r.setZoom(t.getZoom()),t[s]=r,t.bind("zoom",r.setZoom)),r},a=function(t){var e=t.el._jsPlumbDragOptions,n=!0;return e.canDrag&&(n=e.canDrag()),n&&(this.setHoverSuspended(!0),this.select({source:t.el}).addClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:t.el}).addClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.setConnectionBeingDragged(!0)),n},l=function(t){var e=this.getUIPosition(arguments,this.getZoom());if(null!=e){var n=t.el._jsPlumbDragOptions;this.draw(t.el,e,null,!0),n._dragging&&this.addClass(t.el,"jtk-dragged"),n._dragging=!0}},u=function(t){for(var e,n=t.selection,i=function(n){var i;null!=n[1]&&(e=this.getUIPosition([{el:n[2].el,pos:[n[1].left,n[1].top]}]),i=this.draw(n[2].el,e)),null!=n[0]._jsPlumbDragOptions&&delete n[0]._jsPlumbDragOptions._dragging,this.removeClass(n[0],"jtk-dragged"),this.select({source:n[2].el}).removeClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:n[2].el}).removeClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),t.e._drawResult=t.e._drawResult||{c:[],e:[],a:[]},Array.prototype.push.apply(t.e._drawResult.c,i.c),Array.prototype.push.apply(t.e._drawResult.e,i.e),Array.prototype.push.apply(t.e._drawResult.a,i.a),this.getDragManager().dragEnded(n[2].el)}.bind(this),o=0;o<n.length;o++)i(n[o]);this.setHoverSuspended(!1),this.setConnectionBeingDragged(!1)},c=function(t,e){var i=function(i){if(null!=e[i]){if(n.isString(e[i])){var o=e[i].match(/-=/)?-1:1,s=e[i].substring(2);return t[i]+o*s}return e[i]}return t[i]};return[i("left"),i("top")]},h=function(t,e){if(null==e)return[0,0];var n=m(e),i=g(n,0);return[i[t+"X"],i[t+"Y"]]},d=h.bind(this,"page"),p=h.bind(this,"screen"),f=h.bind(this,"client"),g=function(t,e){return t.item?t.item(e):t[e]},m=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},v=function(t){var e={},n=[],i={},o={},s={};this.register=function(r){var a,l=t.getId(r);e[l]||(e[l]=r,n.push(r),i[l]={});var u=function(e){if(e)for(var n=0;n<e.childNodes.length;n++)if(3!==e.childNodes[n].nodeType&&8!==e.childNodes[n].nodeType){var c=jsPlumb.getElement(e.childNodes[n]),h=t.getId(e.childNodes[n],null,!0);if(h&&o[h]&&o[h]>0){a||(a=t.getOffset(r));var d=t.getOffset(c);i[l][h]={id:h,offset:{left:d.left-a.left,top:d.top-a.top}},s[h]=l}u(e.childNodes[n])}};u(r)},this.updateOffsets=function(e,n){if(null!=e){n=n||{};var o,r=jsPlumb.getElement(e),a=t.getId(r),l=i[a];if(l)for(var u in l)if(l.hasOwnProperty(u)){var c=jsPlumb.getElement(u),h=n[u]||t.getOffset(c);if(null==c.offsetParent&&null!=i[a][u])continue;o||(o=t.getOffset(r)),i[a][u]={id:u,offset:{left:h.left-o.left,top:h.top-o.top}},s[u]=a}}},this.endpointAdded=function(n,r){r=r||t.getId(n);var a=document.body,l=n.parentNode;o[r]=o[r]?o[r]+1:1;while(null!=l&&l!==a){var u=t.getId(l,null,!0);if(u&&e[u]){var c=t.getOffset(l);if(null==i[u][r]){var h=t.getOffset(n);i[u][r]={id:r,offset:{left:h.left-c.left,top:h.top-c.top}},s[r]=u}break}l=l.parentNode}},this.endpointDeleted=function(t){if(o[t.elementId]&&(o[t.elementId]--,o[t.elementId]<=0))for(var e in i)i.hasOwnProperty(e)&&i[e]&&(delete i[e][t.elementId],delete s[t.elementId])},this.changeId=function(t,e){i[e]=i[t],i[t]={},s[e]=s[t],s[t]=null},this.getElementsForDraggable=function(t){return i[t]},this.elementRemoved=function(t){var e=s[t];e&&(i[e]&&delete i[e][t],delete s[t])},this.reset=function(){e={},n=[],i={},o={}},this.dragEnded=function(e){if(null!=e.offsetParent){var n=t.getId(e),i=s[n];i&&this.updateOffsets(i)}},this.setParent=function(e,n,o,r,a){var l=s[n];i[r]||(i[r]={});var u=t.getOffset(o),c=a||t.getOffset(e);l&&i[l]&&delete i[l][n],i[r][n]={id:n,offset:{left:c.left-u.left,top:c.top-u.top}},s[n]=r},this.clearParent=function(t,e){var n=s[e];n&&(delete i[n][e],delete s[e])},this.revalidateParent=function(e,n,i){var o=s[n];if(o){var r={};r[n]=i,this.updateOffsets(o,r),t.revalidate(o)}},this.getDragAncestor=function(e){var n=jsPlumb.getElement(e),i=t.getId(n),o=s[i];return o?jsPlumb.getElement(o):null}},b=function(t,e,i){e=n.fastTrim(e),"undefined"!==typeof t.className.baseVal?t.className.baseVal=e:t.className=e;try{var o=t.classList;if(null!=o){while(o.length>0)o.remove(o.item(0));for(var s=0;s<i.length;s++)i[s]&&o.add(i[s])}}catch(r){n.log("JSPLUMB: cannot set class list",r)}},y=function(t){return"undefined"===typeof t.className.baseVal?t.className:t.className.baseVal},P=function(t,e,i){e=null==e?[]:n.isArray(e)?e:e.split(/\s+/),i=null==i?[]:n.isArray(i)?i:i.split(/\s+/);var o=y(t),s=o.split(/\s+/),r=function(t,e){for(var n=0;n<e.length;n++)if(t)-1===s.indexOf(e[n])&&s.push(e[n]);else{var i=s.indexOf(e[n]);-1!==i&&s.splice(i,1)}};r(!0,e),r(!1,i),b(t,s.join(" "),s)};t.jsPlumb.extend(t.jsPlumbInstance.prototype,{headless:!1,pageLocation:d,screenLocation:p,clientLocation:f,getDragManager:function(){return null==this.dragManager&&(this.dragManager=new v(this)),this.dragManager},recalculateOffsets:function(t){this.getDragManager().updateOffsets(t)},createElement:function(t,e,n,i){return this.createElementNS(null,t,e,n,i)},createElementNS:function(t,e,n,i,o){var s,r=null==t?document.createElement(e):document.createElementNS(t,e);for(s in n=n||{},n)r.style[s]=n[s];for(s in i&&(r.className=i),o=o||{},o)r.setAttribute(s,""+o[s]);return r},getAttribute:function(t,e){return null!=t.getAttribute?t.getAttribute(e):null},setAttribute:function(t,e,n){null!=t.setAttribute&&t.setAttribute(e,n)},setAttributes:function(t,e){for(var n in e)e.hasOwnProperty(n)&&t.setAttribute(n,e[n])},appendToRoot:function(t){document.body.appendChild(t)},getRenderModes:function(){return["svg"]},getClass:y,addClass:function(t,e){jsPlumb.each(t,(function(t){P(t,e)}))},hasClass:function(t,e){return t=jsPlumb.getElement(t),t.classList?t.classList.contains(e):-1!==y(t).indexOf(e)},removeClass:function(t,e){jsPlumb.each(t,(function(t){P(t,null,e)}))},toggleClass:function(t,e){jsPlumb.hasClass(t,e)?jsPlumb.removeClass(t,e):jsPlumb.addClass(t,e)},updateClasses:function(t,e,n){jsPlumb.each(t,(function(t){P(t,e,n)}))},setClass:function(t,e){null!=e&&jsPlumb.each(t,(function(t){b(t,e,e.split(/\s+/))}))},setPosition:function(t,e){t.style.left=e.left+"px",t.style.top=e.top+"px"},getPosition:function(t){var e=function(e){var n=t.style[e];return n?n.substring(0,n.length-2):0};return{left:e("left"),top:e("top")}},getStyle:function(t,e){return"undefined"!==typeof window.getComputedStyle?getComputedStyle(t,null).getPropertyValue(e):t.currentStyle[e]},getSelector:function(t,e){var n=null;return n=1===arguments.length?null!=t.nodeType?t:document.querySelectorAll(t):t.querySelectorAll(e),n},getOffset:function(t,e,n){t=jsPlumb.getElement(t),n=n||this.getContainer();var i={left:t.offsetLeft,top:t.offsetTop},o=e||null!=n&&t!==n&&t.offsetParent!==n?t.offsetParent:null,s=function(t){null!=t&&t!==document.body&&(t.scrollTop>0||t.scrollLeft>0)&&(i.left-=t.scrollLeft,i.top-=t.scrollTop)}.bind(this);while(null!=o)i.left+=o.offsetLeft,i.top+=o.offsetTop,s(o),o=e?o.offsetParent:o.offsetParent===n?null:o.offsetParent;if(null!=n&&!e&&(n.scrollTop>0||n.scrollLeft>0)){var r=null!=t.offsetParent?this.getStyle(t.offsetParent,"position"):"static",a=this.getStyle(t,"position");"absolute"!==a&&"fixed"!==a&&"absolute"!==r&&"fixed"!==r&&(i.left-=n.scrollLeft,i.top-=n.scrollTop)}return i},getPositionOnElement:function(t,e,n){var i="undefined"!==typeof e.getBoundingClientRect?e.getBoundingClientRect():{left:0,top:0,width:0,height:0},o=document.body,s=document.documentElement,r=window.pageYOffset||s.scrollTop||o.scrollTop,a=window.pageXOffset||s.scrollLeft||o.scrollLeft,l=s.clientTop||o.clientTop||0,u=s.clientLeft||o.clientLeft||0,c=0,h=0,d=i.top+r-l+c*n,p=i.left+a-u+h*n,f=jsPlumb.pageLocation(t),g=i.width||e.offsetWidth*n,m=i.height||e.offsetHeight*n,v=(f[0]-p)/g,b=(f[1]-d)/m;return[v,b]},getAbsolutePosition:function(t){var e=function(e){var n=t.style[e];if(n)return parseFloat(n.substring(0,n.length-2))};return[e("left"),e("top")]},setAbsolutePosition:function(t,e,n,i){n?this.animate(t,{left:"+="+(e[0]-n[0]),top:"+="+(e[1]-n[1])},i):(t.style.left=e[0]+"px",t.style.top=e[1]+"px")},getSize:function(t){return[t.offsetWidth,t.offsetHeight]},getWidth:function(t){return t.offsetWidth},getHeight:function(t){return t.offsetHeight},getRenderMode:function(){return"svg"},draggable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this._initDraggableIfNecessary(i.el,!0,e,i.id,!0)}.bind(this)),this},snapToGrid:function(t,e,n){var i=[],o=function(t){var o=this.info(t);if(null!=o.el&&o.el._katavorioDrag){var s=o.el._katavorioDrag.snap(e,n);this.revalidate(o.el),i.push([o.el,s])}}.bind(this);if(1===arguments.length||3===arguments.length)o(t,e,n);else{var s=this.getManagedElements();for(var r in s)o(r,arguments[0],arguments[1])}return i},initDraggable:function(t,e,n){r(this,n).draggable(t,e),t._jsPlumbDragOptions=e},destroyDraggable:function(t,e){r(this,e).destroyDraggable(t),t._jsPlumbDragOptions=null,t._jsPlumbRelatedElement=null},unbindDraggable:function(t,e,n,i){r(this,i).destroyDraggable(t,e,n)},setDraggable:function(t,e){return jsPlumb.each(t,function(t){this.isDragSupported(t)&&(this._draggableStates[this.getAttribute(t,"id")]=e,this.setElementDraggable(t,e))}.bind(this))},_draggableStates:{},toggleDraggable:function(t){var e;return jsPlumb.each(t,function(t){var n=this.getAttribute(t,"id");return e=null!=this._draggableStates[n]&&this._draggableStates[n],e=!e,this._draggableStates[n]=e,this.setDraggable(t,e),e}.bind(this)),e},_initDraggableIfNecessary:function(t,e,i,o,s){if(!jsPlumb.headless){var r=null!=e&&e;if(r&&jsPlumb.isDragSupported(t,this)){var c=i||this.Defaults.DragOptions;if(c=jsPlumb.extend({},c),jsPlumb.isAlreadyDraggable(t,this))i.force&&this.initDraggable(t,c);else{var h=jsPlumb.dragEvents.drag,d=jsPlumb.dragEvents.stop,p=jsPlumb.dragEvents.start;this.manage(o,t),c[p]=n.wrap(c[p],a.bind(this)),c[h]=n.wrap(c[h],l.bind(this)),c[d]=n.wrap(c[d],u.bind(this));var f=this.getId(t);this._draggableStates[f]=!0;var g=this._draggableStates[f];c.disabled=null!=g&&!g,this.initDraggable(t,c),this.getDragManager().register(t),s&&this.fire("elementDraggable",{el:t,options:c})}}}},animationSupported:!0,getElement:function(t){return null==t?null:(t="string"===typeof t?t:null==t.tagName&&null!=t.length&&null==t.enctype?t[0]:t,"string"===typeof t?document.getElementById(t):t)},removeElement:function(t){r(this).elementRemoved(t),this.getEventManager().remove(t)},doAnimate:function(t,n,i){i=i||{};var o=this.getOffset(t),s=c(o,n),r=s[0]-o.left,a=s[1]-o.top,l=i.duration||250,u=15,h=l/u,d=u/l*r,p=u/l*a,f=0,g=setInterval((function(){e.setPosition(t,{left:o.left+d*(f+1),top:o.top+p*(f+1)}),null!=i.step&&i.step(f,Math.ceil(h)),f++,f>=h&&(window.clearInterval(g),null!=i.complete&&i.complete())}),u)},destroyDroppable:function(t,e){r(this,e).destroyDroppable(t)},unbindDroppable:function(t,e,n,i){r(this,i).destroyDroppable(t,e,n)},droppable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],e=e||{},e.allowLoopback=!1,Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this.initDroppable(i.el,e)}.bind(this)),this},initDroppable:function(t,e,n){r(this,n).droppable(t,e)},isAlreadyDraggable:function(t){return null!=t._katavorioDrag},isDragSupported:function(t,e){return!0},isDropSupported:function(t,e){return!0},isElementDraggable:function(t){return t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.isEnabled()},getDragObject:function(t){return t[0].drag.getDragElement()},getDragScope:function(t){return t._katavorioDrag&&t._katavorioDrag.scopes.join(" ")||""},getDropEvent:function(t){return t[0].e},getUIPosition:function(t,e){var n=t[0].el;if(null==n.offsetParent)return null;var i=t[0].finalPos||t[0].pos,o={left:i[0],top:i[1]};if(n._katavorioDrag&&n.offsetParent!==this.getContainer()){var s=this.getOffset(n.offsetParent);o.left+=s.left,o.top+=s.top}return o},setDragFilter:function(t,e,n){t._katavorioDrag&&t._katavorioDrag.setFilter(e,n)},setElementDraggable:function(t,n){t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.setEnabled(n)},setDragScope:function(t,e){t._katavorioDrag&&t._katavorioDrag.k.setDragScope(t,e)},setDropScope:function(t,e){t._katavorioDrop&&t._katavorioDrop.length>0&&t._katavorioDrop[0].k.setDropScope(t,e)},addToPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.addToPosse.apply(o,t)}))},setPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.setPosse.apply(o,t)}))},removeFromPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.removeFromPosse.apply(o,t)}))},removeFromAllPosses:function(t){var n=r(this);e.each(t,(function(t){n.removeFromAllPosses(e.getElement(t))}))},setPosseState:function(t,n,i){var o=r(this);e.each(t,(function(t){o.setPosseState(e.getElement(t),n,i)}))},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete",beforeStart:"beforeStart"},animEvents:{step:"step",complete:"complete"},stopDrag:function(t){t._katavorioDrag&&t._katavorioDrag.abort()},addToDragSelection:function(t){var e=this.getElement(t);null==e||!e._isJsPlumbGroup&&null!=e._jsPlumbGroup||r(this).select(t)},removeFromDragSelection:function(t){r(this).deselect(t)},getDragSelection:function(){return r(this).getSelection()},clearDragSelection:function(){r(this).deselectAll()},trigger:function(t,e,n,i){this.getEventManager().trigger(t,e,n,i)},doReset:function(){for(var t in this)0===t.indexOf("_katavorio_")&&this[t].reset()},getEventManager:function(){return s(this)},on:function(t,e,n){return this.getEventManager().on.apply(this,arguments),this},off:function(t,e,n){return this.getEventManager().off.apply(this,arguments),this}});var _=function(t){var e=function(){/complete|loaded|interactive/.test(document.readyState)&&"undefined"!==typeof document.body&&null!=document.body?t():setTimeout(e,9)};e()};_(e.init)}.call("undefined"!==typeof window?window:this)},9386:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return jn}});var i=n(6252),o=n(2262),s=n(3577),r=n(294);
  2. /*!
  3. * vue-draggable-next v2.2.0
  4. * (c) 2023 Anish George
  5. * @license MIT
  6. */
  7. /**!
  8. * Sortable 1.14.0
  9. * @author RubaXa <trash@rubaxa.org>
  10. * @author owenm <owen23355@gmail.com>
  11. * @license MIT
  12. */
  13. function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function l(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){c(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function u(t){return u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function c(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(){return h=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},h.apply(this,arguments)}function d(t,e){if(null==t)return{};var n,i,o={},s=Object.keys(t);for(i=0;i<s.length;i++)n=s[i],e.indexOf(n)>=0||(o[n]=t[n]);return o}function p(t,e){if(null==t)return{};var n,i,o=d(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i<s.length;i++)n=s[i],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var f="1.14.0";function g(t){if("undefined"!==typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var m=g(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),v=g(/Edge/i),b=g(/firefox/i),y=g(/safari/i)&&!g(/chrome/i)&&!g(/android/i),P=g(/iP(ad|od|hone)/i),_=g(/chrome/i)&&g(/android/i),x={capture:!1,passive:!1};function C(t,e,n){t.addEventListener(e,n,!m&&x)}function E(t,e,n){t.removeEventListener(e,n,!m&&x)}function S(t,e){if(e){if(">"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function j(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function w(t,e,n,i){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&S(t,e):S(t,e))||i&&t===n)return t;if(t===n)break}while(t=j(t))}return null}var D,I=/\s+/g;function A(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var i=(" "+t.className+" ").replace(I," ").replace(" "+e+" "," ");t.className=(i+(n?" "+e:"")).replace(I," ")}}function k(t,e,n){var i=t&&t.style;if(i){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in i||-1!==e.indexOf("webkit")||(e="-webkit-"+e),i[e]=n+("string"===typeof n?"":"px")}}function O(t,e){var n="";if("string"===typeof t)n=t;else do{var i=k(t,"transform");i&&"none"!==i&&(n=i+" "+n)}while(!e&&(t=t.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function T(t,e,n){if(t){var i=t.getElementsByTagName(e),o=0,s=i.length;if(n)for(;o<s;o++)n(i[o],o);return i}return[]}function M(){var t=document.scrollingElement;return t||document.documentElement}function F(t,e,n,i,o){if(t.getBoundingClientRect||t===window){var s,r,a,l,u,c,h;if(t!==window&&t.parentNode&&t!==M()?(s=t.getBoundingClientRect(),r=s.top,a=s.left,l=s.bottom,u=s.right,c=s.height,h=s.width):(r=0,a=0,l=window.innerHeight,u=window.innerWidth,c=window.innerHeight,h=window.innerWidth),(e||n)&&t!==window&&(o=o||t.parentNode,!m))do{if(o&&o.getBoundingClientRect&&("none"!==k(o,"transform")||n&&"static"!==k(o,"position"))){var d=o.getBoundingClientRect();r-=d.top+parseInt(k(o,"border-top-width")),a-=d.left+parseInt(k(o,"border-left-width")),l=r+s.height,u=a+s.width;break}}while(o=o.parentNode);if(i&&t!==window){var p=O(o||t),f=p&&p.a,g=p&&p.d;p&&(r/=g,a/=f,h/=f,c/=g,l=r+c,u=a+h)}return{top:r,left:a,bottom:l,right:u,width:h,height:c}}}function L(t,e,n){var i=Y(t,!0),o=F(t)[e];while(i){var s=F(i)[n],r=void 0;if(r="top"===n||"left"===n?o>=s:o<=s,!r)return i;if(i===M())break;i=Y(i,!1)}return!1}function N(t,e,n,i){var o=0,s=0,r=t.children;while(s<r.length){if("none"!==r[s].style.display&&r[s]!==Kt.ghost&&(i||r[s]!==Kt.dragged)&&w(r[s],n.draggable,t,!1)){if(o===e)return r[s];o++}s++}return null}function R(t,e){var n=t.lastElementChild;while(n&&(n===Kt.ghost||"none"===k(n,"display")||e&&!S(n,e)))n=n.previousElementSibling;return n||null}function U(t,e){var n=0;if(!t||!t.parentNode)return-1;while(t=t.previousElementSibling)"TEMPLATE"===t.nodeName.toUpperCase()||t===Kt.clone||e&&!S(t,e)||n++;return n}function B(t){var e=0,n=0,i=M();if(t)do{var o=O(t),s=o.a,r=o.d;e+=t.scrollLeft*s,n+=t.scrollTop*r}while(t!==i&&(t=t.parentNode));return[e,n]}function G(t,e){for(var n in t)if(t.hasOwnProperty(n))for(var i in e)if(e.hasOwnProperty(i)&&e[i]===t[n][i])return Number(n);return-1}function Y(t,e){if(!t||!t.getBoundingClientRect)return M();var n=t,i=!1;do{if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var o=k(n);if(n.clientWidth<n.scrollWidth&&("auto"==o.overflowX||"scroll"==o.overflowX)||n.clientHeight<n.scrollHeight&&("auto"==o.overflowY||"scroll"==o.overflowY)){if(!n.getBoundingClientRect||n===document.body)return M();if(i||e)return n;i=!0}}}while(n=n.parentNode);return M()}function H(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function X(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function W(t,e){return function(){if(!D){var n=arguments,i=this;1===n.length?t.call(i,n[0]):t.apply(i,n),D=setTimeout((function(){D=void 0}),e)}}}function q(){clearTimeout(D),D=void 0}function V(t,e,n){t.scrollLeft+=e,t.scrollTop+=n}function z(t){var e=window.Polymer,n=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}var $="Sortable"+(new Date).getTime();function Z(){var t,e=[];return{captureAnimationState:function(){if(e=[],this.options.animation){var t=[].slice.call(this.el.children);t.forEach((function(t){if("none"!==k(t,"display")&&t!==Kt.ghost){e.push({target:t,rect:F(t)});var n=l({},e[e.length-1].rect);if(t.thisAnimationDuration){var i=O(t,!0);i&&(n.top-=i.f,n.left-=i.e)}t.fromRect=n}}))}},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(G(e,{target:t}),1)},animateAll:function(n){var i=this;if(!this.options.animation)return clearTimeout(t),void("function"===typeof n&&n());var o=!1,s=0;e.forEach((function(t){var e=0,n=t.target,r=n.fromRect,a=F(n),l=n.prevFromRect,u=n.prevToRect,c=t.rect,h=O(n,!0);h&&(a.top-=h.f,a.left-=h.e),n.toRect=a,n.thisAnimationDuration&&X(l,a)&&!X(r,a)&&(c.top-a.top)/(c.left-a.left)===(r.top-a.top)/(r.left-a.left)&&(e=K(c,l,u,i.options)),X(a,r)||(n.prevFromRect=r,n.prevToRect=a,e||(e=i.options.animation),i.animate(n,c,a,e)),e&&(o=!0,s=Math.max(s,e),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout((function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null}),e),n.thisAnimationDuration=e)})),clearTimeout(t),o?t=setTimeout((function(){"function"===typeof n&&n()}),s):"function"===typeof n&&n(),e=[]},animate:function(t,e,n,i){if(i){k(t,"transition",""),k(t,"transform","");var o=O(this.el),s=o&&o.a,r=o&&o.d,a=(e.left-n.left)/(s||1),l=(e.top-n.top)/(r||1);t.animatingX=!!a,t.animatingY=!!l,k(t,"transform","translate3d("+a+"px,"+l+"px,0)"),this.forRepaintDummy=J(t),k(t,"transition","transform "+i+"ms"+(this.options.easing?" "+this.options.easing:"")),k(t,"transform","translate3d(0,0,0)"),"number"===typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout((function(){k(t,"transition",""),k(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1}),i)}}}}function J(t){return t.offsetWidth}function K(t,e,n,i){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-n.top,2)+Math.pow(e.left-n.left,2))*i.animation}var Q=[],tt={initializeByDefault:!0},et={mount:function(t){for(var e in tt)tt.hasOwnProperty(e)&&!(e in t)&&(t[e]=tt[e]);Q.forEach((function(e){if(e.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")})),Q.push(t)},pluginEvent:function(t,e,n){var i=this;this.eventCanceled=!1,n.cancel=function(){i.eventCanceled=!0};var o=t+"Global";Q.forEach((function(i){e[i.pluginName]&&(e[i.pluginName][o]&&e[i.pluginName][o](l({sortable:e},n)),e.options[i.pluginName]&&e[i.pluginName][t]&&e[i.pluginName][t](l({sortable:e},n)))}))},initializePlugins:function(t,e,n,i){for(var o in Q.forEach((function(i){var o=i.pluginName;if(t.options[o]||i.initializeByDefault){var s=new i(t,e,t.options);s.sortable=t,s.options=t.options,t[o]=s,h(n,s.defaults)}})),t.options)if(t.options.hasOwnProperty(o)){var s=this.modifyOption(t,o,t.options[o]);"undefined"!==typeof s&&(t.options[o]=s)}},getEventProperties:function(t,e){var n={};return Q.forEach((function(i){"function"===typeof i.eventProperties&&h(n,i.eventProperties.call(e[i.pluginName],t))})),n},modifyOption:function(t,e,n){var i;return Q.forEach((function(o){t[o.pluginName]&&o.optionListeners&&"function"===typeof o.optionListeners[e]&&(i=o.optionListeners[e].call(t[o.pluginName],n))})),i}};function nt(t){var e=t.sortable,n=t.rootEl,i=t.name,o=t.targetEl,s=t.cloneEl,r=t.toEl,a=t.fromEl,u=t.oldIndex,c=t.newIndex,h=t.oldDraggableIndex,d=t.newDraggableIndex,p=t.originalEvent,f=t.putSortable,g=t.extraEventProperties;if(e=e||n&&n[$],e){var b,y=e.options,P="on"+i.charAt(0).toUpperCase()+i.substr(1);!window.CustomEvent||m||v?(b=document.createEvent("Event"),b.initEvent(i,!0,!0)):b=new CustomEvent(i,{bubbles:!0,cancelable:!0}),b.to=r||n,b.from=a||n,b.item=o||n,b.clone=s,b.oldIndex=u,b.newIndex=c,b.oldDraggableIndex=h,b.newDraggableIndex=d,b.originalEvent=p,b.pullMode=f?f.lastPutMode:void 0;var _=l(l({},g),et.getEventProperties(i,e));for(var x in _)b[x]=_[x];n&&n.dispatchEvent(b),y[P]&&y[P].call(e,b)}}var it=["evt"],ot=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.evt,o=p(n,it);et.pluginEvent.bind(Kt)(t,e,l({dragEl:rt,parentEl:at,ghostEl:lt,rootEl:ut,nextEl:ct,lastDownEl:ht,cloneEl:dt,cloneHidden:pt,dragStarted:jt,putSortable:yt,activeSortable:Kt.active,originalEvent:i,oldIndex:ft,oldDraggableIndex:mt,newIndex:gt,newDraggableIndex:vt,hideGhostForTarget:zt,unhideGhostForTarget:$t,cloneNowHidden:function(){pt=!0},cloneNowShown:function(){pt=!1},dispatchSortableEvent:function(t){st({sortable:e,name:t,originalEvent:i})}},o))};function st(t){nt(l({putSortable:yt,cloneEl:dt,targetEl:rt,rootEl:ut,oldIndex:ft,oldDraggableIndex:mt,newIndex:gt,newDraggableIndex:vt},t))}var rt,at,lt,ut,ct,ht,dt,pt,ft,gt,mt,vt,bt,yt,Pt,_t,xt,Ct,Et,St,jt,wt,Dt,It,At,kt=!1,Ot=!1,Tt=[],Mt=!1,Ft=!1,Lt=[],Nt=!1,Rt=[],Ut="undefined"!==typeof document,Bt=P,Gt=v||m?"cssFloat":"float",Yt=Ut&&!_&&!P&&"draggable"in document.createElement("div"),Ht=function(){if(Ut){if(m)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Xt=function(t,e){var n=k(t),i=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=N(t,0,e),s=N(t,1,e),r=o&&k(o),a=s&&k(s),l=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+F(o).width,u=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+F(s).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&r["float"]&&"none"!==r["float"]){var c="left"===r["float"]?"left":"right";return!s||"both"!==a.clear&&a.clear!==c?"horizontal":"vertical"}return o&&("block"===r.display||"flex"===r.display||"table"===r.display||"grid"===r.display||l>=i&&"none"===n[Gt]||s&&"none"===n[Gt]&&l+u>i)?"vertical":"horizontal"},Wt=function(t,e,n){var i=n?t.left:t.top,o=n?t.right:t.bottom,s=n?t.width:t.height,r=n?e.left:e.top,a=n?e.right:e.bottom,l=n?e.width:e.height;return i===r||o===a||i+s/2===r+l/2},qt=function(t,e){var n;return Tt.some((function(i){var o=i[$].options.emptyInsertThreshold;if(o&&!R(i)){var s=F(i),r=t>=s.left-o&&t<=s.right+o,a=e>=s.top-o&&e<=s.bottom+o;return r&&a?n=i:void 0}})),n},Vt=function(t){function e(t,n){return function(i,o,s,r){var a=i.options.group.name&&o.options.group.name&&i.options.group.name===o.options.group.name;if(null==t&&(n||a))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"===typeof t)return e(t(i,o,s,r),n)(i,o,s,r);var l=(n?i:o).options.group.name;return!0===t||"string"===typeof t&&t===l||t.join&&t.indexOf(l)>-1}}var n={},i=t.group;i&&"object"==u(i)||(i={name:i}),n.name=i.name,n.checkPull=e(i.pull,!0),n.checkPut=e(i.put),n.revertClone=i.revertClone,t.group=n},zt=function(){!Ht&&lt&&k(lt,"display","none")},$t=function(){!Ht&&lt&&k(lt,"display","")};Ut&&document.addEventListener("click",(function(t){if(Ot)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Ot=!1,!1}),!0);var Zt=function(t){if(rt){t=t.touches?t.touches[0]:t;var e=qt(t.clientX,t.clientY);if(e){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[$]._onDragOver(n)}}},Jt=function(t){rt&&rt.parentNode[$]._isOutsideThisEl(t.target)};function Kt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=h({},e),t[$]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Xt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Kt.supportPointer&&"PointerEvent"in window&&!y,emptyInsertThreshold:5};for(var i in et.initializePlugins(this,t,n),n)!(i in e)&&(e[i]=n[i]);for(var o in Vt(e),this)"_"===o.charAt(0)&&"function"===typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&Yt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?C(t,"pointerdown",this._onTapStart):(C(t,"mousedown",this._onTapStart),C(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(C(t,"dragover",this),C(t,"dragenter",this)),Tt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),h(this,Z())}function Qt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,n,i,o,s,r,a){var l,u,c=t[$],h=c.options.onMove;return!window.CustomEvent||m||v?(l=document.createEvent("Event"),l.initEvent("move",!0,!0)):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=e,l.from=t,l.dragged=n,l.draggedRect=i,l.related=o||e,l.relatedRect=s||F(e),l.willInsertAfter=a,l.originalEvent=r,t.dispatchEvent(l),h&&(u=h.call(c,l,r)),u}function ee(t){t.draggable=!1}function ne(){Nt=!1}function ie(t,e,n){var i=F(N(n.el,0,n.options,!0)),o=10;return e?t.clientX<i.left-o||t.clientY<i.top&&t.clientX<i.right:t.clientY<i.top-o||t.clientY<i.bottom&&t.clientX<i.left}function oe(t,e,n){var i=F(R(n.el,n.options.draggable)),o=10;return e?t.clientX>i.right+o||t.clientX<=i.right&&t.clientY>i.bottom&&t.clientX>=i.left:t.clientX>i.right&&t.clientY>i.top||t.clientX<=i.right&&t.clientY>i.bottom+o}function se(t,e,n,i,o,s,r,a){var l=i?t.clientY:t.clientX,u=i?n.height:n.width,c=i?n.top:n.left,h=i?n.bottom:n.right,d=!1;if(!r)if(a&&It<u*o){if(!Mt&&(1===Dt?l>c+u*s/2:l<h-u*s/2)&&(Mt=!0),Mt)d=!0;else if(1===Dt?l<c+It:l>h-It)return-Dt}else if(l>c+u*(1-o)/2&&l<h-u*(1-o)/2)return re(e);return d=d||r,d&&(l<c+u*s/2||l>h-u*s/2)?l>c+u/2?1:-1:0}function re(t){return U(rt)<U(t)?1:-1}function ae(t){var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,i=0;while(n--)i+=e.charCodeAt(n);return i.toString(36)}function le(t){Rt.length=0;var e=t.getElementsByTagName("input"),n=e.length;while(n--){var i=e[n];i.checked&&Rt.push(i)}}function ue(t){return setTimeout(t,0)}function ce(t){return clearTimeout(t)}Kt.prototype={constructor:Kt,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(wt=null)},_getDirection:function(t,e){return"function"===typeof this.options.direction?this.options.direction.call(this,t,e,rt):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,i=this.options,o=i.preventOnFilter,s=t.type,r=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,a=(r||t).target,l=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||a,u=i.filter;if(le(n),!rt&&!(/mousedown|pointerdown/.test(s)&&0!==t.button||i.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!y||!a||"SELECT"!==a.tagName.toUpperCase())&&(a=w(a,i.draggable,n,!1),(!a||!a.animated)&&ht!==a)){if(ft=U(a),mt=U(a,i.draggable),"function"===typeof u){if(u.call(this,t,a,this))return st({sortable:e,rootEl:l,name:"filter",targetEl:a,toEl:n,fromEl:n}),ot("filter",e,{evt:t}),void(o&&t.cancelable&&t.preventDefault())}else if(u&&(u=u.split(",").some((function(i){if(i=w(l,i.trim(),n,!1),i)return st({sortable:e,rootEl:i,name:"filter",targetEl:a,fromEl:n,toEl:n}),ot("filter",e,{evt:t}),!0})),u))return void(o&&t.cancelable&&t.preventDefault());i.handle&&!w(l,i.handle,n,!1)||this._prepareDragStart(t,r,a)}}},_prepareDragStart:function(t,e,n){var i,o=this,s=o.el,r=o.options,a=s.ownerDocument;if(n&&!rt&&n.parentNode===s){var l=F(n);if(ut=s,rt=n,at=rt.parentNode,ct=rt.nextSibling,ht=n,bt=r.group,Kt.dragged=rt,Pt={target:rt,clientX:(e||t).clientX,clientY:(e||t).clientY},Et=Pt.clientX-l.left,St=Pt.clientY-l.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,rt.style["will-change"]="all",i=function(){ot("delayEnded",o,{evt:t}),Kt.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!b&&o.nativeDraggable&&(rt.draggable=!0),o._triggerDragStart(t,e),st({sortable:o,name:"choose",originalEvent:t}),A(rt,r.chosenClass,!0))},r.ignore.split(",").forEach((function(t){T(rt,t.trim(),ee)})),C(a,"dragover",Zt),C(a,"mousemove",Zt),C(a,"touchmove",Zt),C(a,"mouseup",o._onDrop),C(a,"touchend",o._onDrop),C(a,"touchcancel",o._onDrop),b&&this.nativeDraggable&&(this.options.touchStartThreshold=4,rt.draggable=!0),ot("delayStart",this,{evt:t}),!r.delay||r.delayOnTouchOnly&&!e||this.nativeDraggable&&(v||m))i();else{if(Kt.eventCanceled)return void this._onDrop();C(a,"mouseup",o._disableDelayedDrag),C(a,"touchend",o._disableDelayedDrag),C(a,"touchcancel",o._disableDelayedDrag),C(a,"mousemove",o._delayedDragTouchMoveHandler),C(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&C(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(i,r.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){rt&&ee(rt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;E(t,"mouseup",this._disableDelayedDrag),E(t,"touchend",this._disableDelayedDrag),E(t,"touchcancel",this._disableDelayedDrag),E(t,"mousemove",this._delayedDragTouchMoveHandler),E(t,"touchmove",this._delayedDragTouchMoveHandler),E(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?C(document,"pointermove",this._onTouchMove):C(document,e?"touchmove":"mousemove",this._onTouchMove):(C(rt,"dragend",this),C(ut,"dragstart",this._onDragStart));try{document.selection?ue((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(t,e){if(kt=!1,ut&&rt){ot("dragStarted",this,{evt:e}),this.nativeDraggable&&C(document,"dragover",Jt);var n=this.options;!t&&A(rt,n.dragClass,!1),A(rt,n.ghostClass,!0),Kt.active=this,t&&this._appendGhost(),st({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(_t){this._lastX=_t.clientX,this._lastY=_t.clientY,zt();var t=document.elementFromPoint(_t.clientX,_t.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(_t.clientX,_t.clientY),t===e)break;e=t}if(rt.parentNode[$]._isOutsideThisEl(t),e)do{if(e[$]){var n=void 0;if(n=e[$]._onDragOver({clientX:_t.clientX,clientY:_t.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);$t()}},_onTouchMove:function(t){if(Pt){var e=this.options,n=e.fallbackTolerance,i=e.fallbackOffset,o=t.touches?t.touches[0]:t,s=lt&&O(lt,!0),r=lt&&s&&s.a,a=lt&&s&&s.d,l=Bt&&At&&B(At),u=(o.clientX-Pt.clientX+i.x)/(r||1)+(l?l[0]-Lt[0]:0)/(r||1),c=(o.clientY-Pt.clientY+i.y)/(a||1)+(l?l[1]-Lt[1]:0)/(a||1);if(!Kt.active&&!kt){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(lt){s?(s.e+=u-(xt||0),s.f+=c-(Ct||0)):s={a:1,b:0,c:0,d:1,e:u,f:c};var h="matrix(".concat(s.a,",").concat(s.b,",").concat(s.c,",").concat(s.d,",").concat(s.e,",").concat(s.f,")");k(lt,"webkitTransform",h),k(lt,"mozTransform",h),k(lt,"msTransform",h),k(lt,"transform",h),xt=u,Ct=c,_t=o}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!lt){var t=this.options.fallbackOnBody?document.body:ut,e=F(rt,!0,Bt,!0,t),n=this.options;if(Bt){At=t;while("static"===k(At,"position")&&"none"===k(At,"transform")&&At!==document)At=At.parentNode;At!==document.body&&At!==document.documentElement?(At===document&&(At=M()),e.top+=At.scrollTop,e.left+=At.scrollLeft):At=M(),Lt=B(At)}lt=rt.cloneNode(!0),A(lt,n.ghostClass,!1),A(lt,n.fallbackClass,!0),A(lt,n.dragClass,!0),k(lt,"transition",""),k(lt,"transform",""),k(lt,"box-sizing","border-box"),k(lt,"margin",0),k(lt,"top",e.top),k(lt,"left",e.left),k(lt,"width",e.width),k(lt,"height",e.height),k(lt,"opacity","0.8"),k(lt,"position",Bt?"absolute":"fixed"),k(lt,"zIndex","100000"),k(lt,"pointerEvents","none"),Kt.ghost=lt,t.appendChild(lt),k(lt,"transform-origin",Et/parseInt(lt.style.width)*100+"% "+St/parseInt(lt.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,i=t.dataTransfer,o=n.options;ot("dragStart",this,{evt:t}),Kt.eventCanceled?this._onDrop():(ot("setupClone",this),Kt.eventCanceled||(dt=z(rt),dt.draggable=!1,dt.style["will-change"]="",this._hideClone(),A(dt,this.options.chosenClass,!1),Kt.clone=dt),n.cloneId=ue((function(){ot("clone",n),Kt.eventCanceled||(n.options.removeCloneOnHide||ut.insertBefore(dt,rt),n._hideClone(),st({sortable:n,name:"clone"}))})),!e&&A(rt,o.dragClass,!0),e?(Ot=!0,n._loopId=setInterval(n._emulateDragOver,50)):(E(document,"mouseup",n._onDrop),E(document,"touchend",n._onDrop),E(document,"touchcancel",n._onDrop),i&&(i.effectAllowed="move",o.setData&&o.setData.call(n,i,rt)),C(document,"drop",n),k(rt,"transform","translateZ(0)")),kt=!0,n._dragStartId=ue(n._dragStarted.bind(n,e,t)),C(document,"selectstart",n),jt=!0,y&&k(document.body,"user-select","none"))},_onDragOver:function(t){var e,n,i,o,s=this.el,r=t.target,a=this.options,u=a.group,c=Kt.active,h=bt===u,d=a.sort,p=yt||c,f=this,g=!1;if(!Nt){if(void 0!==t.preventDefault&&t.cancelable&&t.preventDefault(),r=w(r,a.draggable,s,!0),T("dragOver"),Kt.eventCanceled)return g;if(rt.contains(t.target)||r.animated&&r.animatingX&&r.animatingY||f._ignoreWhileAnimating===r)return B(!1);if(Ot=!1,c&&!a.disabled&&(h?d||(i=at!==ut):yt===this||(this.lastPutMode=bt.checkPull(this,c,rt,t))&&u.checkPut(this,c,rt,t))){if(o="vertical"===this._getDirection(t,r),e=F(rt),T("dragOverValid"),Kt.eventCanceled)return g;if(i)return at=ut,M(),this._hideClone(),T("revert"),Kt.eventCanceled||(ct?ut.insertBefore(rt,ct):ut.appendChild(rt)),B(!0);var m=R(s,a.draggable);if(!m||oe(t,o,this)&&!m.animated){if(m===rt)return B(!1);if(m&&s===t.target&&(r=m),r&&(n=F(r)),!1!==te(ut,s,rt,e,r,n,t,!!r))return M(),s.appendChild(rt),at=s,G(),B(!0)}else if(m&&ie(t,o,this)){var v=N(s,0,a,!0);if(v===rt)return B(!1);if(r=v,n=F(r),!1!==te(ut,s,rt,e,r,n,t,!1))return M(),s.insertBefore(rt,v),at=s,G(),B(!0)}else if(r.parentNode===s){n=F(r);var b,y,P=0,_=rt.parentNode!==s,x=!Wt(rt.animated&&rt.toRect||e,r.animated&&r.toRect||n,o),C=o?"top":"left",E=L(r,"top","top")||L(rt,"top","top"),S=E?E.scrollTop:void 0;if(wt!==r&&(b=n[C],Mt=!1,Ft=!x&&a.invertSwap||_),P=se(t,r,n,o,x?1:a.swapThreshold,null==a.invertedSwapThreshold?a.swapThreshold:a.invertedSwapThreshold,Ft,wt===r),0!==P){var j=U(rt);do{j-=P,y=at.children[j]}while(y&&("none"===k(y,"display")||y===lt))}if(0===P||y===r)return B(!1);wt=r,Dt=P;var D=r.nextElementSibling,I=!1;I=1===P;var O=te(ut,s,rt,e,r,n,t,I);if(!1!==O)return 1!==O&&-1!==O||(I=1===O),Nt=!0,setTimeout(ne,30),M(),I&&!D?s.appendChild(rt):r.parentNode.insertBefore(rt,I?D:r),E&&V(E,0,S-E.scrollTop),at=rt.parentNode,void 0===b||Ft||(It=Math.abs(b-F(r)[C])),G(),B(!0)}if(s.contains(rt))return B(!1)}return!1}function T(a,u){ot(a,f,l({evt:t,isOwner:h,axis:o?"vertical":"horizontal",revert:i,dragRect:e,targetRect:n,canSort:d,fromSortable:p,target:r,completed:B,onMove:function(n,i){return te(ut,s,rt,e,n,F(n),t,i)},changed:G},u))}function M(){T("dragOverAnimationCapture"),f.captureAnimationState(),f!==p&&p.captureAnimationState()}function B(e){return T("dragOverCompleted",{insertion:e}),e&&(h?c._hideClone():c._showClone(f),f!==p&&(A(rt,yt?yt.options.ghostClass:c.options.ghostClass,!1),A(rt,a.ghostClass,!0)),yt!==f&&f!==Kt.active?yt=f:f===Kt.active&&yt&&(yt=null),p===f&&(f._ignoreWhileAnimating=r),f.animateAll((function(){T("dragOverAnimationComplete"),f._ignoreWhileAnimating=null})),f!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(r===rt&&!rt.animated||r===s&&!r.animated)&&(wt=null),a.dragoverBubble||t.rootEl||r===document||(rt.parentNode[$]._isOutsideThisEl(t.target),!e&&Zt(t)),!a.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),g=!0}function G(){gt=U(rt),vt=U(rt,a.draggable),st({sortable:f,name:"change",toEl:s,newIndex:gt,newDraggableIndex:vt,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){E(document,"mousemove",this._onTouchMove),E(document,"touchmove",this._onTouchMove),E(document,"pointermove",this._onTouchMove),E(document,"dragover",Zt),E(document,"mousemove",Zt),E(document,"touchmove",Zt)},_offUpEvents:function(){var t=this.el.ownerDocument;E(t,"mouseup",this._onDrop),E(t,"touchend",this._onDrop),E(t,"pointerup",this._onDrop),E(t,"touchcancel",this._onDrop),E(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;gt=U(rt),vt=U(rt,n.draggable),ot("drop",this,{evt:t}),at=rt&&rt.parentNode,gt=U(rt),vt=U(rt,n.draggable),Kt.eventCanceled||(kt=!1,Ft=!1,Mt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),ce(this.cloneId),ce(this._dragStartId),this.nativeDraggable&&(E(document,"drop",this),E(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),y&&k(document.body,"user-select",""),k(rt,"transform",""),t&&(jt&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),lt&&lt.parentNode&&lt.parentNode.removeChild(lt),(ut===at||yt&&"clone"!==yt.lastPutMode)&&dt&&dt.parentNode&&dt.parentNode.removeChild(dt),rt&&(this.nativeDraggable&&E(rt,"dragend",this),ee(rt),rt.style["will-change"]="",jt&&!kt&&A(rt,yt?yt.options.ghostClass:this.options.ghostClass,!1),A(rt,this.options.chosenClass,!1),st({sortable:this,name:"unchoose",toEl:at,newIndex:null,newDraggableIndex:null,originalEvent:t}),ut!==at?(gt>=0&&(st({rootEl:at,name:"add",toEl:at,fromEl:ut,originalEvent:t}),st({sortable:this,name:"remove",toEl:at,originalEvent:t}),st({rootEl:at,name:"sort",toEl:at,fromEl:ut,originalEvent:t}),st({sortable:this,name:"sort",toEl:at,originalEvent:t})),yt&&yt.save()):gt!==ft&&gt>=0&&(st({sortable:this,name:"update",toEl:at,originalEvent:t}),st({sortable:this,name:"sort",toEl:at,originalEvent:t})),Kt.active&&(null!=gt&&-1!==gt||(gt=ft,vt=mt),st({sortable:this,name:"end",toEl:at,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){ot("nulling",this),ut=rt=at=lt=ct=dt=ht=pt=Pt=_t=jt=gt=vt=ft=mt=wt=Dt=yt=bt=Kt.dragged=Kt.ghost=Kt.clone=Kt.active=null,Rt.forEach((function(t){t.checked=!0})),Rt.length=xt=Ct=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":rt&&(this._onDragOver(t),Qt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],n=this.el.children,i=0,o=n.length,s=this.options;i<o;i++)t=n[i],w(t,s.draggable,this.el,!1)&&e.push(t.getAttribute(s.dataIdAttr)||ae(t));return e},sort:function(t,e){var n={},i=this.el;this.toArray().forEach((function(t,e){var o=i.children[e];w(o,this.options.draggable,i,!1)&&(n[t]=o)}),this),e&&this.captureAnimationState(),t.forEach((function(t){n[t]&&(i.removeChild(n[t]),i.appendChild(n[t]))})),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return w(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(void 0===e)return n[t];var i=et.modifyOption(this,t,e);n[t]="undefined"!==typeof i?i:e,"group"===t&&Vt(n)},destroy:function(){ot("destroy",this);var t=this.el;t[$]=null,E(t,"mousedown",this._onTapStart),E(t,"touchstart",this._onTapStart),E(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(E(t,"dragover",this),E(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),(function(t){t.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),Tt.splice(Tt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!pt){if(ot("hideClone",this),Kt.eventCanceled)return;k(dt,"display","none"),this.options.removeCloneOnHide&&dt.parentNode&&dt.parentNode.removeChild(dt),pt=!0}},_showClone:function(t){if("clone"===t.lastPutMode){if(pt){if(ot("showClone",this),Kt.eventCanceled)return;rt.parentNode!=ut||this.options.group.revertClone?ct?ut.insertBefore(dt,ct):ut.appendChild(dt):ut.insertBefore(dt,rt),this.options.group.revertClone&&this.animate(rt,dt),k(dt,"display",""),pt=!1}}else this._hideClone()}},Ut&&C(document,"touchmove",(function(t){(Kt.active||kt)&&t.cancelable&&t.preventDefault()})),Kt.utils={on:C,off:E,css:k,find:T,is:function(t,e){return!!w(t,e,t,!1)},extend:H,throttle:W,closest:w,toggleClass:A,clone:z,index:U,nextTick:ue,cancelNextTick:ce,detectDirection:Xt,getChild:N},Kt.get=function(t){return t[$]},Kt.mount=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e[0].constructor===Array&&(e=e[0]),e.forEach((function(t){if(!t.prototype||!t.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(t));t.utils&&(Kt.utils=l(l({},Kt.utils),t.utils)),et.mount(t)}))},Kt.create=function(t,e){return new Kt(t,e)},Kt.version=f;var he,de,pe,fe,ge,me,ve=[],be=!1;function ye(){function t(){for(var t in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===t.charAt(0)&&"function"===typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){var e=t.originalEvent;this.sortable.nativeDraggable?C(document,"dragover",this._handleAutoScroll):this.options.supportPointer?C(document,"pointermove",this._handleFallbackAutoScroll):e.touches?C(document,"touchmove",this._handleFallbackAutoScroll):C(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var e=t.originalEvent;this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?E(document,"dragover",this._handleAutoScroll):(E(document,"pointermove",this._handleFallbackAutoScroll),E(document,"touchmove",this._handleFallbackAutoScroll),E(document,"mousemove",this._handleFallbackAutoScroll)),_e(),Pe(),q()},nulling:function(){ge=de=he=be=me=pe=fe=null,ve.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,e){var n=this,i=(t.touches?t.touches[0]:t).clientX,o=(t.touches?t.touches[0]:t).clientY,s=document.elementFromPoint(i,o);if(ge=t,e||this.options.forceAutoScrollFallback||v||m||y){xe(t,this.options,s,e);var r=Y(s,!0);!be||me&&i===pe&&o===fe||(me&&_e(),me=setInterval((function(){var s=Y(document.elementFromPoint(i,o),!0);s!==r&&(r=s,Pe()),xe(t,n.options,s,e)}),10),pe=i,fe=o)}else{if(!this.options.bubbleScroll||Y(s,!0)===M())return void Pe();xe(t,this.options,Y(s,!1),!1)}}},h(t,{pluginName:"scroll",initializeByDefault:!0})}function Pe(){ve.forEach((function(t){clearInterval(t.pid)})),ve=[]}function _e(){clearInterval(me)}var xe=W((function(t,e,n,i){if(e.scroll){var o,s=(t.touches?t.touches[0]:t).clientX,r=(t.touches?t.touches[0]:t).clientY,a=e.scrollSensitivity,l=e.scrollSpeed,u=M(),c=!1;de!==n&&(de=n,Pe(),he=e.scroll,o=e.scrollFn,!0===he&&(he=Y(n,!0)));var h=0,d=he;do{var p=d,f=F(p),g=f.top,m=f.bottom,v=f.left,b=f.right,y=f.width,P=f.height,_=void 0,x=void 0,C=p.scrollWidth,E=p.scrollHeight,S=k(p),j=p.scrollLeft,w=p.scrollTop;p===u?(_=y<C&&("auto"===S.overflowX||"scroll"===S.overflowX||"visible"===S.overflowX),x=P<E&&("auto"===S.overflowY||"scroll"===S.overflowY||"visible"===S.overflowY)):(_=y<C&&("auto"===S.overflowX||"scroll"===S.overflowX),x=P<E&&("auto"===S.overflowY||"scroll"===S.overflowY));var D=_&&(Math.abs(b-s)<=a&&j+y<C)-(Math.abs(v-s)<=a&&!!j),I=x&&(Math.abs(m-r)<=a&&w+P<E)-(Math.abs(g-r)<=a&&!!w);if(!ve[h])for(var A=0;A<=h;A++)ve[A]||(ve[A]={});ve[h].vx==D&&ve[h].vy==I&&ve[h].el===p||(ve[h].el=p,ve[h].vx=D,ve[h].vy=I,clearInterval(ve[h].pid),0==D&&0==I||(c=!0,ve[h].pid=setInterval(function(){i&&0===this.layer&&Kt.active._onTouchMove(ge);var e=ve[this.layer].vy?ve[this.layer].vy*l:0,n=ve[this.layer].vx?ve[this.layer].vx*l:0;"function"===typeof o&&"continue"!==o.call(Kt.dragged.parentNode[$],n,e,t,ge,ve[this.layer].el)||V(ve[this.layer].el,n,e)}.bind({layer:h}),24))),h++}while(e.bubbleScroll&&d!==u&&(d=Y(d,!1)));be=c}}),30),Ce=function(t){var e=t.originalEvent,n=t.putSortable,i=t.dragEl,o=t.activeSortable,s=t.dispatchSortableEvent,r=t.hideGhostForTarget,a=t.unhideGhostForTarget;if(e){var l=n||o;r();var u=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,c=document.elementFromPoint(u.clientX,u.clientY);a(),l&&!l.el.contains(c)&&(s("spill"),this.onSpill({dragEl:i,putSortable:n}))}};function Ee(){}function Se(){}function je(){return"undefined"!==typeof window?window.console:n.g.console}Ee.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var i=N(this.sortable.el,this.startIndex,this.options);i?this.sortable.el.insertBefore(e,i):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Ce},h(Ee,{pluginName:"revertOnSpill"}),Se.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,i=n||this.sortable;i.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),i.animateAll()},drop:Ce},h(Se,{pluginName:"removeOnSpill"}),Kt.mount(new ye),Kt.mount(Se,Ee);const we=je();function De(t){const e=Object.create(null);return function(n){const i=e[n];return i||(e[n]=t(n))}}const Ie=/-(\w)/g,Ae=De((t=>t.replace(Ie,((t,e)=>e?e.toUpperCase():""))));function ke(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function Oe(t,e,n){const i=0===n?t.children[0]:t.children[n-1].nextSibling;t.insertBefore(e,i)}function Te(t,e){return Object.values(t).indexOf(e)}function Me(t,e,n,i){if(!t)return[];const o=Object.values(t),s=e.length-i,r=[...e].map(((t,e)=>e>=s?o.length:o.indexOf(t)));return r}function Fe(t,e){this.$nextTick((()=>this.$emit(t.toLowerCase(),e)))}function Le(t){return e=>{null!==this.realList&&this["onDrag"+t](e),Fe.call(this,t,e)}}function Ne(t){return["transition-group","TransitionGroup"].includes(t)}function Re(t){if(!t||1!==t.length)return!1;const[{type:e}]=t;return!!e&&Ne(e.name)}function Ue(t,e){return e?{...e.props,...e.attrs}:t}const Be=["Start","Add","Remove","Update","End"],Ge=["Choose","Unchoose","Sort","Filter","Clone"],Ye=["Move",...Be,...Ge].map((t=>"on"+t));let He=null;const Xe={options:Object,list:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:t=>t},tag:{type:String,default:"div"},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null},component:{type:String,default:null},modelValue:{type:Array,required:!1,default:null}},We=(0,i.aZ)({name:"VueDraggableNext",inheritAttrs:!1,emits:["update:modelValue","move","change",...Be.map((t=>t.toLowerCase())),...Ge.map((t=>t.toLowerCase()))],props:Xe,data(){return{transitionMode:!1,noneFunctionalComponentMode:!1,headerOffset:0,footerOffset:0,_sortable:{},visibleIndexes:[],context:{}}},render(){const t=this.$slots.default?this.$slots.default():null,e=Ue(this.$attrs,this.componentData);return t?(this.transitionMode=Re(t),(0,i.h)(this.getTag(),e,t)):(0,i.h)(this.getTag(),e,[])},created(){null!==this.list&&null!==this.modelValue&&we.error("list props are mutually exclusive! Please set one.")},mounted(){const t={};Be.forEach((e=>{t["on"+e]=Le.call(this,e)})),Ge.forEach((e=>{t["on"+e]=Fe.bind(this,e)}));const e=Object.keys(this.$attrs).reduce(((t,e)=>(t[Ae(e)]=this.$attrs[e],t)),{}),n=Object.assign({},e,t,{onMove:(t,e)=>this.onDragMove(t,e)});!("draggable"in n)&&(n.draggable=">*");const i=1===this.$el.nodeType?this.$el:this.$el.parentElement;this._sortable=new Kt(i,n),i.__draggable_component__=this,this.computeIndexes()},beforeUnmount(){try{void 0!==this._sortable&&this._sortable.destroy()}catch(t){}},computed:{realList(){return this.list?this.list:this.modelValue}},watch:{$attrs:{handler(t){this.updateOptions(t)},deep:!0},realList(){this.computeIndexes()}},methods:{getTag(){return this.component?(0,i.up)(this.component):this.tag},updateOptions(t){for(var e in t){const n=Ae(e);-1===Ye.indexOf(n)&&this._sortable.option(n,t[e])}},getChildrenNodes(){return this.$el.children},computeIndexes(){this.$nextTick((()=>{this.visibleIndexes=Me(this.getChildrenNodes(),this.$el.children,this.transitionMode,this.footerOffset)}))},getUnderlyingVm(t){const e=Te(this.getChildrenNodes()||[],t);if(-1===e)return null;const n=this.realList[e];return{index:e,element:n}},emitChanges(t){this.$nextTick((()=>{this.$emit("change",t)}))},alterList(t){if(this.list)return void t(this.list);const e=[...this.modelValue];t(e),this.$emit("update:modelValue",e)},spliceList(){const t=t=>t.splice(...arguments);this.alterList(t)},updatePosition(t,e){const n=n=>n.splice(e,0,n.splice(t,1)[0]);this.alterList(n)},getVmIndex(t){const e=this.visibleIndexes,n=e.length;return t>n-1?n:e[t]},getComponent(){return this.$slots.default?this.$slots.default()[0].componentInstance:null},resetTransitionData(t){if(!this.noTransitionOnDrag||!this.transitionMode)return;var e=this.getChildrenNodes();e[t].data=null;const n=this.getComponent();n.children=[],n.kept=void 0},onDragStart(t){this.computeIndexes(),this.context=this.getUnderlyingVm(t.item),this.context&&(t.item._underlying_vm_=this.clone(this.context.element),He=t.item)},onDragAdd(t){const e=t.item._underlying_vm_;if(void 0===e)return;ke(t.item);const n=this.getVmIndex(t.newIndex);this.spliceList(n,0,e),this.computeIndexes();const i={element:e,newIndex:n};this.emitChanges({added:i})},onDragRemove(t){if(Oe(this.$el,t.item,t.oldIndex),"clone"===t.pullMode)return void ke(t.clone);if(!this.context)return;const e=this.context.index;this.spliceList(e,1);const n={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:n})},onDragUpdate(t){ke(t.item),Oe(t.from,t.item,t.oldIndex);const e=this.context.index,n=this.getVmIndex(t.newIndex);this.updatePosition(e,n);const i={element:this.context.element,oldIndex:e,newIndex:n};this.emitChanges({moved:i})},updateProperty(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},onDragMove(t,e){const n=this.move;if(!n||!this.realList)return!0;const i=this.getRelatedContextFromMoveEvent(t),o=this.context,s=this.computeFutureIndex(i,t);Object.assign(o,{futureIndex:s});const r=Object.assign({},t,{relatedContext:i,draggedContext:o});return n(r,e)},onDragEnd(){this.computeIndexes(),He=null},getTrargetedComponent(t){return t.__draggable_component__},getRelatedContextFromMoveEvent({to:t,related:e}){const n=this.getTrargetedComponent(t);if(!n)return{component:n};const i=n.realList,o={list:i,component:n};if(t!==e&&i&&n.getUnderlyingVm){const t=n.getUnderlyingVm(e);if(t)return Object.assign(t,o)}return o},computeFutureIndex(t,e){const n=[...e.to.children].filter((t=>"none"!==t.style["display"]));if(0===n.length)return 0;const i=n.indexOf(e.related),o=t.component.getVmIndex(i),s=-1!==n.indexOf(He);return s||!e.willInsertAfter?o:o+1}}});var qe=n(1348);n(6486);const Ve="undefined"!==typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var ze={randomUUID:Ve};let $e;const Ze=new Uint8Array(16);function Je(){if(!$e&&($e="undefined"!==typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!$e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $e(Ze)}const Ke=[];for(let wn=0;wn<256;++wn)Ke.push((wn+256).toString(16).slice(1));function Qe(t,e=0){return Ke[t[e+0]]+Ke[t[e+1]]+Ke[t[e+2]]+Ke[t[e+3]]+"-"+Ke[t[e+4]]+Ke[t[e+5]]+"-"+Ke[t[e+6]]+Ke[t[e+7]]+"-"+Ke[t[e+8]]+Ke[t[e+9]]+"-"+Ke[t[e+10]]+Ke[t[e+11]]+Ke[t[e+12]]+Ke[t[e+13]]+Ke[t[e+14]]+Ke[t[e+15]]}function tn(t,e,n){if(ze.randomUUID&&!e&&!t)return ze.randomUUID();t=t||{};const i=t.random||(t.rng||Je)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){n=n||0;for(let t=0;t<16;++t)e[n+t]=i[t];return e}return Qe(i)}var en=tn,nn=n(9963);const on=t=>((0,i.dD)("data-v-58e71b23"),t=t(),(0,i.Cn)(),t),sn={key:1},rn=on((()=>(0,i._)("h6",null,"起始节点:",-1))),an=on((()=>(0,i._)("h6",null,"目标节点:",-1))),ln={class:"btnBox"};var un={__name:"SonMap",emits:["changeActiveNodeInfo","deleteLine","deleteNode"],setup(t,{expose:e,emit:n}){let r=(0,o.iH)([]),a=(0,o.iH)({});const l=(0,o.iH)("default"),u=(0,o.iH)(),c=(0,o.iH)(!1);let h=(0,o.qj)({});const d=(0,o.iH)("node"),p=(0,o.qj)({label:[{required:!0,message:"节点名称为必输项",trigger:"blur"},{min:4,max:15,message:"请输入4至15之间的字符",trigger:"blur"}],affiliation:[{required:!0,message:"请选择归属项",trigger:"change"}]}),f=async t=>{t&&await t.validate(((t,e)=>{t?(console.log(t,h),r.value.forEach((t=>{t.value=h[t.name]})),n("changeActiveNodeInfo",r.value)):console.log("error submit!",e)}))},g=(Array.from({length:1e4}).map(((t,e)=>({value:`${e+1}`,label:`${e+1}`}))),t=>{d.value="node",c.value=!0,console.log(t),r.value=t,r.value.forEach((t=>{console.log(t,"遍历"),h[t.name]=t.value})),console.log(h,"???")}),m=t=>{c.value=!0,console.log(t,"连线信息"),d.value="line",a.value=t},v=()=>{n("deleteLine",a.value),d.value=null},b=()=>{n("deleteNode")};return(0,i.bv)((()=>{})),e({changeFormData:g,getLineInfo:m,formData:r}),(t,e)=>{const n=(0,i.up)("el-input"),g=(0,i.up)("el-option"),m=(0,i.up)("el-select"),y=(0,i.up)("el-form-item"),P=(0,i.up)("el-form"),_=(0,i.up)("el-button");return(0,i.wg)(),(0,i.iD)(i.HY,null,["node"===d.value?((0,i.wg)(),(0,i.j4)(P,{key:0,ref_key:"ruleFormRef",ref:u,model:(0,o.SU)(h),rules:p,"label-width":"120px",class:"demo-ruleForm",size:l.value,"status-icon":"","label-position":"left"},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)((0,o.SU)(r),((t,e)=>((0,i.wg)(),(0,i.j4)(y,{label:t.label,prop:t.name,key:e},{default:(0,i.w5)((()=>["text"===t.type?((0,i.wg)(),(0,i.j4)(n,{key:0,modelValue:(0,o.SU)(h)[t.name],"onUpdate:modelValue":e=>(0,o.SU)(h)[t.name]=e},null,8,["modelValue","onUpdate:modelValue"])):"textarea"===t.type?((0,i.wg)(),(0,i.j4)(n,{key:1,modelValue:(0,o.SU)(h)[t.name],"onUpdate:modelValue":e=>(0,o.SU)(h)[t.name]=e,type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])):"select"===t.type?((0,i.wg)(),(0,i.j4)(m,{key:2,modelValue:(0,o.SU)(h)[t.name],"onUpdate:modelValue":e=>(0,o.SU)(h)[t.name]=e},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.options,((t,e)=>((0,i.wg)(),(0,i.j4)(g,{label:t.label,value:t.value,key:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue"])):(0,i.kq)("",!0)])),_:2},1032,["label","prop"])))),128))])),_:1},8,["model","rules","size"])):(0,i.kq)("",!0),"line"===d.value?((0,i.wg)(),(0,i.iD)("div",sn,[rn,(0,i._)("p",null,(0,s.zw)((0,o.SU)(a).sourceInfo.config[0].value),1),an,(0,i._)("p",null,(0,s.zw)((0,o.SU)(a).targetInfo.config[0].value),1)])):(0,i.kq)("",!0),(0,i.wy)((0,i._)("div",ln,[(0,i.wy)((0,i.Wm)(_,{type:"primary",onClick:e[0]||(e[0]=t=>f(u.value))},{default:(0,i.w5)((()=>[(0,i.Uk)(" 保存节点 ")])),_:1},512),[[nn.F8,"node"===d.value&&(0,o.SU)(r).length>0]]),(0,i.wy)((0,i.Wm)(_,{type:"primary",onClick:b},{default:(0,i.w5)((()=>[(0,i.Uk)(" 删除节点 ")])),_:1},512),[[nn.F8,"node"===d.value&&(0,o.SU)(r).length>0]]),(0,i.wy)((0,i.Wm)(_,{type:"primary",onClick:v},{default:(0,i.w5)((()=>[(0,i.Uk)(" 删除连线 ")])),_:1},512),[[nn.F8,"line"===d.value]])],512),[[nn.F8,c.value]])],64)}}},cn=n(3744);const hn=(0,cn.Z)(un,[["__scopeId","data-v-58e71b23"]]);var dn=hn;const pn=t=>((0,i.dD)("data-v-2e70e9ce"),t=t(),(0,i.Cn)(),t),fn={style:{width:"95%",height:"calc(100vh - 300px)"},id:"diagramContainer"},gn={class:"box"},mn={class:"leftMenu"},vn=["divOption"],bn={class:"plumbBox",id:"plumbBox"},yn=["id","onClick"],Pn=["id"],_n={class:"rightContent"},xn=pn((()=>(0,i._)("h3",null,"节点操作",-1))),Cn={style:{"padding-left":"10px"}};var En={__name:"FatherMap",setup(t,{expose:e}){const n=We;let a=null,l=(0,o.qj)({}),u=(0,o.qj)({}),c=(0,o.iH)([]),h=(0,o.iH)(void 0),d=(0,o.iH)({}),p=((0,o.iH)("名称1"),(0,o.iH)(null));const f={preventOnFilter:!1,sort:!1,disabled:!1,ghostClass:"tt",forceFallback:!0};let g={Container:"plumbBox",anchor:["Bottom","Top","Left","Right"],connector:"Bezier",endpoint:"Blank",paintStyle:{stroke:"#364249",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},hoverPaintStyle:{stroke:"#000",strokeWidth:1.3},overlays:[["Arrow",{width:5,length:5,location:1}]],endpointStyle:{fill:"lightgray",outlineStroke:"darkgray",outlineWidth:2}},m=(0,o.iH)([{name:"装置列表",children:[{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"保护(高压制)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!0,config:[{label:"名称",name:"label",type:"text",value:"合并单元(高压制)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"保护(低压制)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"合并单元(低压制)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"本体测控",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"母线保护",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"高压侧测控",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"母联智能终端",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"智能终端(高压侧)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"智能终端(低压侧)",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]},{to:[],top:0,left:0,isSource:!0,isTarget:!1,config:[{label:"名称",name:"label",type:"text",value:"母线合并单元",require:!0},{label:"描述",name:"description",type:"textarea",value:"",require:!1},{label:"归属",name:"affiliation",type:"select",value:"check",require:!0,options:[{label:"审核信息",value:"check"},{label:"生产经营",value:"manage"},{label:"结算报销",value:"account"}]}]}]}]),v=(0,o.iH)([]);const b=t=>{t.id=en(),t=Object.assign(t,g),v.value.push(t),console.log(t,"???新增节点的信息"),(0,i.Y3)((()=>{h.value="new",S(t)}))},y=t=>{let e={x:t.clientX,y:t.clientY},n={x:t.target.getBoundingClientRect().x,y:t.target.getBoundingClientRect().y};u={leftDiff:e.x-n.x,topDiff:e.y-n.y}},P=t=>{console.log(t,"开始拖动")},_=t=>{C();let e=JSON.parse(t.item.attributes.divOption.nodeValue);x(e,l,t.originalEvent.x,t.originalEvent.y)},x=(t,e,n,i)=>{n-u.leftDiff<e.left||n+180-u.leftDiff>e.right||i-u.topDiff<e.top||i+40-u.topDiff>e.bottom?(0,qe.z8)({message:"节点不能拖拽至画布之外",type:"error"}):(t.left=n-e.left-u.leftDiff,t.top=i-e.top-u.topDiff,b(t))},C=()=>{a=document.querySelector(".plumbBox");let t=a.getBoundingClientRect();l=t},E=t=>{v.value.map((t=>Object.assign(t,g))),(0,i.Y3)((()=>{"new"===t&&(h.value="once"),w.deleteEveryConnection(),w.deleteEveryEndpoint(),C();let e=[];v.value.forEach((t=>{t.to.length>0&&t.to.forEach((n=>{e.push({source:t.id,target:n,anchor:t.anchor,connector:t.connector,endpoint:t.endpoint,overlays:t.overlays,paintStyle:t.paintStyle,hoverPaintStyle:t.hoverPaintStyle,endpointStyle:t.endpointStyle})}))})),c.value=e,w.ready((()=>{e.forEach((t=>{w.connect(t)})),v.value.forEach((t=>{S(t),w.draggable(t.id,{containment:"parent",stop:function(e){t.left=e.pos[0],t.top=e.pos[1]}})}))}))}))},S=t=>{var e={isSource:!0,isTarget:!0,connector:["Flowchart"],grid:[10,10],maxConnections:-1,overlays:[["Arrow",{width:12,length:12,location:.5}]]};w.addEndpoint(t.id+"",e),w.setSourceEnabled(t.id,e),w.setTargetEnabled(t.id,e),w.setDraggable(t.id,!0),w.makeSource(t.id,{filter:".plumbNode",filterExclude:!1,allowLoopback:!0,maxConnections:-1,Container:"plumbBox",anchor:"Continuous",connector:["Flowchart"],endpoint:t.endpoint,overlays:t.overlays,paintStyle:t.paintStyle,hoverPaintStyle:t.hoverPaintStyle,endpointStyle:t.endpointStyle}),w.makeTarget(t.id,{filter:".plumbNode",filterExclude:!1,allowLoopback:!0,maxConnections:1,Container:"plumbBox",anchor:"Continuous",connector:["Flowchart"],endpoint:t.endpoint,overlays:t.overlays,paintStyle:t.paintStyle,hoverPaintStyle:t.hoverPaintStyle,endpointStyle:t.endpointStyle}),w.draggable(t.id,{containment:"parent",stop:function(e){t.left=e.pos[0],t.top=e.pos[1]}}),console.log(t,"item555")},j=function(t){return{position:"absolute",left:t.left+"px",top:t.top+"px",width:"calc(100% - 750px)",height:"40px",lineHeight:"40px",textAlign:"center",color:" #255CE7",backgroundColor:"#EDF2FF",cursor:"pointer",border:" solid 1px #255CE7"}};let w=r.jsPlumb.getInstance();function D(t){d.value=t,console.log(d.value,"动态节点"),p.value.changeFormData(d.value.config)}w.bind("click",((t,e)=>{console.log(t,"点击连线1");let n={},i=v.value.find((e=>e.id===t.sourceId)),o=v.value.find((e=>e.id===t.targetId));n={sourceInfo:i,targetInfo:o},p.value.getLineInfo(n)})),w.bind("connection",(t=>{let e=v.value.find((e=>e.id===t.sourceId));console.log(e.to,t.targetId,"???"),-1===e.to.findIndex((e=>e===t.targetId))&&e.to.push(t.targetId),w.repaint(),(0,i.Y3)((()=>{h.value="new"})),"new"===h.value&&(console.log("新的页面刷新"),h.value="once",E("new"))})),(0,i.bv)((()=>{setTimeout((()=>{E(),(0,i.Y3)((()=>{console.log("页面初次渲染完毕"),h.value="render"}))}),2e3),r.jsPlumb.bind("click",(function(t,e){}))}));const I=t=>{console.log(t,"保存后的新值"),d.value.config=t,(0,i.Y3)((()=>{h.value="new",S(d.value)}))},A=t=>{console.log(t,"要删除的连线信息"),console.log(v.value,"全量信息");let e=v.value.findIndex((e=>e.id===t.sourceInfo.id)),n=t.targetInfo.id,i=v.value[e].to.findIndex((t=>t===n));v.value[e].to.splice(i,1),E()},k=t=>{console.log(d.value);let e=v.value.findIndex((t=>t.id===d.value.id));v.value.splice(e,1),v.value.forEach((t=>{let e=t.to.findIndex((t=>t===d.value.id));-1!==e&&t.to.splice(e,1)})),console.log(v.value,"节点列表"),E(),d.value={},p.value.changeFormData([])};return e({plumbList:c,info:v}),(t,e)=>{const r=(0,i.up)("el-collapse-item"),a=(0,i.up)("el-collapse"),l=(0,i.up)("Loading"),u=(0,i.up)("el-icon"),c=(0,i.up)("CircleCheckFilled"),h=(0,i.up)("CircleCloseFilled");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i._)("div",fn,[(0,i._)("ul",gn,[(0,i._)("li",mn,[(0,i.Wm)(a,null,{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)((0,o.SU)(m),((t,e)=>((0,i.wg)(),(0,i.j4)(r,{title:t.name,key:e},{default:(0,i.w5)((()=>[(0,i.Wm)((0,o.SU)(n),{onStart:P,onEnd:_,modelValue:t.children,"onUpdate:modelValue":e=>t.children=e,options:f},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.children,((t,e)=>((0,i.wg)(),(0,i.iD)("div",{class:"content",divOption:JSON.stringify(t),onMousedown:y,key:e},(0,s.zw)(t.config[0].value),41,vn)))),128))])),_:2},1032,["modelValue","onUpdate:modelValue"])])),_:2},1032,["title"])))),128))])),_:1})]),(0,i._)("li",bn,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)((0,o.SU)(v),((t,e)=>((0,i.wg)(),(0,i.iD)("div",{key:e,id:t.id,style:(0,s.j5)(j(t)),class:(0,s.C_)(t.id===(0,o.SU)(d).id?"activeNode":"normalNode"),onClick:e=>D(t)},[(0,i._)("div",{class:"plumbNode",id:t.id+"plumbNode"},null,8,Pn),(0,i.Uk)(" "+(0,s.zw)(t.config[0].value)+" ",1),"loading"===t.status?((0,i.wg)(),(0,i.j4)(u,{key:0,class:"is-loading",color:"blue"},{default:(0,i.w5)((()=>[(0,i.Wm)(l)])),_:1})):"success"===t.status?((0,i.wg)(),(0,i.j4)(u,{key:1,color:"green"},{default:(0,i.w5)((()=>[(0,i.Wm)(c)])),_:1})):"error"===t.status?((0,i.wg)(),(0,i.j4)(u,{key:2,color:"red"},{default:(0,i.w5)((()=>[(0,i.Wm)(h)])),_:1})):(0,i.kq)("",!0)],14,yn)))),128))]),(0,i._)("li",_n,[xn,(0,i._)("div",Cn,[(0,i.Wm)(dn,{ref_key:"rightForm",ref:p,onChangeActiveNodeInfo:I,onDeleteLine:A,onDeleteNode:k},null,512)])])])])])}}};const Sn=(0,cn.Z)(En,[["__scopeId","data-v-2e70e9ce"]]);var jn=Sn}}]);
  14. //# sourceMappingURL=386.7b0a24e6.js.map